from Hacker News

Show HN: Markwhen: Markdown for Timelines

by koch on 12/1/24, 5:58 PM with 98 comments

  • by koch on 12/1/24, 11:00 PM

    Creator here - glad to see people like markwhen!

    Been working on markwhen for a few years now, originally inspired by cheeaun's life timeline that another commenter posted about.

    At this point markwhen is available as a VS Code extension, Obsidian plugin, CLI tool, and web editor in Meridiem.

    Some recent markwhen developments:

    - Dial, a fork of bolt.new (Stackblitz's very cool tool that leverages AI to help quickly scaffold web projects): an in-browser editor that lets you edit existing markwhen visualizations like the timeline or calendar or make your own. I just released that yesterday so it's still rough but I have big plans for it (it's one of the visualizations in meridiem)

    - Event properties: each entry can have it's own "frontmatter" in the form of `key: value` pairs. I wanted this as I'm aiming for more iCal interoperability in the future, so each event could theoretically have things like "attendees" or google calendar ids or other metadata. This was released in the last month or two.

    - remark.ing: this one isn't ready yet by any means but it's like a twitter/bluesky/mastodon-esque aggregated blog site. So you write markwhen and each entry is a post. In this way "scheduling" a post is just writing a future date next to it, and you have all your blog in one file. This one is a major WIP

  • by accrual on 12/1/24, 10:14 PM

    This is neat! It reminded me of this project by cheeaun that enables one to create a visual timeline based on a simple texted based format. The purpose was to plot one's life events in a visual way.

    https://github.com/cheeaun/life

    Sample file (from the repository):

        @USERNAME's life
        ===============
    
        - 24/02/1955 Born
        - ~1968 Summer job
        - 03/1976 Built a computer
        - 01/04/1976 Started a company
        - 04/1976-2011 Whole bunch of interesting events
  • by atoav on 12/2/24, 7:57 AM

    Note that Mermaid also supports timelines (if it is new enough): https://mermaid.js.org/syntax/timeline.html

    Mermaid is supported by gitlab/github and other markdown editors (within code blocks).

  • by bergie on 12/2/24, 11:00 AM

    This is pretty cool! I'm the developer of a semi-automatic electronic logbook system for sailboats: https://bergie.iki.fi/blog/electronic-logbook/

    Right now I'm using YAML for the file format, as I wanted something that would be reasonably readable for both humans and machines. Markwhen would also fit the bill nicely, so that's something to consider, at least as an export format. My entries have a lot of properties, though (stuff like wind speed, vessel coordinates, barometer, etc). Traditional ship's logbooks were done in a tabular manner to record all this. So I'm not sure if that would end up looking quite messy. Here is an example of a day of log entries in the current format: https://github.com/meri-imperiumi/log/blob/main/_data/logboo...

    I'm using these also for some data analysis, like watermaker membrane health, or sailed miles per crew member.

  • by tiffanyh on 12/1/24, 11:24 PM

    Be careful.

    Gruber (who has trademark in “Markdown”), appears to not like people using his trademark name.

    https://blog.codinghorror.com/standard-markdown-is-now-commo...

  • by dotancohen on 12/2/24, 8:43 AM

    Again reimplementing Emacs Org mode. Nice work!

    This looks terrific, but honestly Markdown is a document markup language. Org mode, while superficially similar in scope, is actually a data storage and exchange format. The data manipulation and querying built around Org mode are unlikely to be replicated in Markdown.

  • by KaoruAoiShiho on 12/1/24, 10:29 PM

    Does this work at all for fantasy timelines?

    Trying to build a timeline like this:

    title: History of the World

    0: Foo Calendar's civilization founding.

    124: Invention of the Foo Calendar

    220: Founding of Bar

    1310: Invention of GlooblyGock

    5621: Demon invasion.

    Edit: After trying it don't think it works for this usecase.

  • by wild_egg on 12/1/24, 9:09 PM

    Seems not right for the comments here to be empty but I don't have much to say other than this looks incredibly nice. Hope I have an excuse to use it at some point.

    Thanks for sharing!

  • by neumann on 12/1/24, 10:02 PM

    Just in case anyone else is out of the loop like me. This can be used as a plugin in obsidian! https://obsidian.md/plugins?search=markw
  • by KaoruAoiShiho on 12/1/24, 9:47 PM

    Any chance you can copy some of this for aesthetics? https://www.chronoflotimeline.com/timeline/shared/3118/Home-...
  • by sprobertson on 12/1/24, 9:38 PM

    Besides the tool itself that website typography is excellent. Guess I'll have to use Playfair in my next project.

    Edit: One thing I'd like to see with the basic syntax example is fiddle with your default dates to make it more obvious that the span is a span. At the time scale it is now, it just looks like another dot.

  • by snappr021 on 12/1/24, 9:21 PM

    This looks very good.

    Is there syntax for dependent tasks in the timeline? In other words tasks that only start once prerequisites are done.

    If the date of the original tasks changes, the dependent tasks move accordingly automatically, without needing to edit a full list of dates for each dependent item.

  • by einpoklum on 12/2/24, 12:04 AM

    > for plainly writing logs , gantt charts , blogs , feeds , notes , journals etc.

    So, how would this combine with markdown, for the content within dated blog/journal entries? And how would I use dates as plain dates rather than special markwhen entities?

  • by SuperV1234 on 12/2/24, 2:40 PM

    This is really cool, I wish there was some sort of life planner software where I can write down appointments, notes, ideas, and more in a simple format like Markdown, and automatically get notifications/reminders based on what I wrote.
  • by nemacol on 12/2/24, 8:30 PM

    Big fan of timelines. I am going to use this for sure

    Have had an idea for a timeline search/visualization. Search a thing and that pulls pages and related pages with date/times from Wikipedia. With a zoom in/out to adjust resolution like google maps - weight nodes on timeline based on page views/edits/links. Have not gotten around to try to make something like it. I bring it up here just in case something already exists and I missed it.

  • by dustedcodes on 12/2/24, 12:20 PM

    Things like Markdown work because they are intuitive, but the date range syntax in Markwhen is anything but intuitive.

    Why 2025-01-22 / 2026-10-24?

    Why not 2025/01/22 - 2026/10/24?

  • by jiangplus on 12/1/24, 10:34 PM

    This reminds me of blocks.md (https://blocks.md/), a Markdown based form builder.
  • by pflenker on 12/2/24, 8:38 AM

    Great project, I always felt that this was missing in Markdown.

    I wonder how we can "end" a timeline and start a new one in the same doc? So that I can write stuff like:

    # My important project.

    Description of the project goes here

    ## Timeline of the project.

    2024-12-02: This is what I did today.

    2024-12-01: This is what I did yesterday.

    # My other important project.

    Description of the project goes here.

    ## Timeline of the project.

    2024-12-03: This is what I plan tomorrow.

    ---

    Some thoughts about what I have written above.

  • by garfieldnate on 12/4/24, 3:26 AM

    I would love to be able to manage my actual calendar with this. By which I mean, I want a seamless bridge with google calendar, iCal, etc. that also lets me view, edit, source-control, etc. my calendar with an mw file. I think this is very cool!
  • by marjipan200 on 12/2/24, 11:46 PM

    Love this! If you're into representing time with simple markdown, check out the Chronos Timeline plugin for Obsidian too

    https://obsidian.md/plugins?search=chronos+timeline

  • by robinhowlett on 12/1/24, 10:27 PM

    This looks excellent - i've been looking for a timeline-based, simple-entry tool like this. Well done.
  • by SamBam on 12/2/24, 8:11 PM

    How would one go about creating Obsidian support for a timeline that was scattered across multiple files?

    I'm thinking like the network visualizer that Obsidian has, it would be great if it could find tagged dates in any file and display them on a common timeline.

  • by nivertech on 12/2/24, 4:35 PM

    What shortcut used to preview Markwhen documents in Obsidian?

    I create a "Markwhen" folder and create a "test.mw" not there, but it doesn't render, and I can't an option for preview in the command palette.

  • by thomasreggi on 12/2/24, 3:10 PM

    Just wanted to say congrats on the project. This is truly a masterpiece from the utility of it, the novelty, to execution with the vscode / meridian app, and sass. Brilliant execution!
  • by dirkc on 12/2/24, 2:15 PM

    I'd love something that can support uncertain timelines - I maintain a list of space events that I'm interested in, but I haven't yet figured out how to do the dates.
  • by jusgu on 12/2/24, 6:41 AM

    Nice, these “Markdown for X” tools are super neat. Wish this worked nicely with mobile view, seems like a lot of the text are overflowing and margins are squished in the demo
  • by shepherdjerred on 12/2/24, 1:34 AM

    I wonder how easy it is to render the timeline in a custom manner
  • by x1ph0z on 12/1/24, 10:25 PM

    Really cool project, looking forward to using it in Obsidian.
  • by desireco42 on 12/1/24, 11:27 PM

    OK, this is fantastic, like others mentioned. Now... to figure out how to use it in existing markdown... love the Obsidian integration.
  • by IndieCoder on 12/4/24, 2:01 PM

    That is such an elegant solution. True sweet spot which was missing for me in traditional markdown!
  • by rattray on 12/3/24, 12:26 AM

    Belated, but especially when I see the group syntax, I wonder if this should be like a Markdoc extension or something?
  • by noisy_boy on 12/2/24, 11:38 AM

    This is neat. What I am waiting for is markdown for tables with cells supporting multiline content in an easy to use manner.
  • by ynx on 12/2/24, 5:52 AM

    Meridiem seems to only have ARM builds, no Intel builds. Could you perhaps update it to include Intel?
  • by neoconomist on 12/2/24, 5:42 AM

    Neat, something like this was missing in my text-based workflow. Thanks for building !
  • by sleepyfran on 12/1/24, 9:21 PM

    This looks amazing, will definitely try to incorporate it into my workflow!
  • by _ink_ on 12/2/24, 8:41 AM

    Awesome! I really would like to see a Discourse Plugin for that.
  • by omnster on 12/2/24, 9:55 PM

    Looks neat! Is there a way to make it work with pandoc?
  • by Siira on 12/4/24, 7:41 PM

    Is there something similar for org-mode?
  • by markgoho on 12/3/24, 5:41 PM

    are those the actual pronunciations of your products?

    here'd be my recommendation: /ˈmɑːɻk.wɛn/ and /məˈɻɪd.i.ən/

  • by teo_zero on 12/2/24, 6:24 AM

    Does it work with non-English dates?
  • by jbaber on 12/1/24, 9:13 PM

    Is there support for date ranges? e.g. 2024-12-25 - 2025-01-06 ?