[HN Gopher] Show HN: Markwhen: Markdown for Timelines
       ___________________________________________________________________
        
       Show HN: Markwhen: Markdown for Timelines
        
       Author : koch
       Score  : 224 points
       Date   : 2022-06-20 14:39 UTC (8 hours ago)
        
 (HTM) web link (markwhen.com)
 (TXT) w3m dump (markwhen.com)
        
       | ivanjermakov wrote:
       | Good job! Would like to see it as an independent file format and
       | tools like external editor support and cli compiler (to
       | html/pdf/svg etc.)
        
         | Zhyl wrote:
         | Seconding this. I'd love to use this tool, but ideally I want
         | to be editing in the text editor/IDE of my choice and then to
         | be able to own the viewer offline. This would be especially
         | important for actual project management as employers/clients
         | don't tend to allow you to use online tools and that's what I'd
         | most likely be using this for.
        
           | trenchgun wrote:
           | Thirding this.
           | 
           | Ideally this would be an emacs package.
        
       | captbaritone wrote:
       | Looks similar to Mermaid-js's Gantt chart support:
       | https://mermaid-js.github.io/mermaid/#/gantt
       | 
       | Once nice thing about Mermaid is it's built into [GitHub's
       | markdown](https://github.blog/2022-02-14-include-diagrams-
       | markdown-fil...) and has support in Notion
        
       | prepend wrote:
       | This looks neat. I wish it used iso8601 [0] dates. It's pretty
       | convenient as the time periods uses the format YYYY-MM-DD/YYYY-
       | MM-DD and I think is easier to mentally parse than MM/DD/YYYY-
       | MM/DD/YYYY.
       | 
       | Of course I didn't even know what a solidus ("/") was until using
       | iso8601.
       | 
       | Also, I usually find standards pretty much as overhead, but 8601
       | seems pretty good as a universal standard.
       | 
       | [0] https://en.wikipedia.org/wiki/ISO_8601
        
         | koch wrote:
         | Yeah, so long form 8601 are supported
         | 
         | `2022-08-02T23:00:00.000Z - 2022-08-03T00:00:00.000Z: Event`
         | 
         | but in general I do need to figure out a way to allow more
         | customizable date parsing.[0]
         | 
         | [0]https://github.com/kochrt/markwhen/issues/27
        
           | JoshTriplett wrote:
           | I would definitely like to use YYYY-MM or YYYY-MM-DD, ideally
           | without any additional configuration required.
        
         | chriswarbo wrote:
         | > It's pretty convenient as the time periods uses the format
         | YYYY-MM-DD/YYYY-MM-DD and I think is easier to mentally parse
         | than MM/DD/YYYY-MM/DD/YYYY
         | 
         | Especially for those outside the USA!
        
           | thedougd wrote:
           | In life I use the latter, but on computers I try to
           | exclusively use the former. YYYY-MM-DD sorts the same
           | lexicographically or chronologically.
        
           | ethbr0 wrote:
           | As someone who grew up in the US, it's still bizarre as a
           | programmer to have a mixed-significance ordering (MM-DD-YYYY)
           | instead of any consistently-endian ordering (DD-MM-YYYY or
           | YYYY-MM-DD).
           | 
           | Out of curiosity, in what order do Europeans _verbally_ say
           | full dates with month names? Or does it vary by language?
        
             | irrational wrote:
             | These replies are fascinating. When saying a date I always
             | say month day year. I hadn't considered that this might be
             | cultural.
        
               | ethbr0 wrote:
               | As an American, same. I was wondering where the weird
               | month-first came from and figured it might have been
               | verbal first, then codified in writing.
        
               | irrational wrote:
               | At first I wondered if it had something to do with word
               | order in English, but it sounds like other English
               | speaking countries don't follow this pattern.
        
               | frutiger wrote:
               | I moved to the US from the UK a little over 10 years ago.
               | 
               | The numeric month and day of my birthday happen to be the
               | same. For this anecdote lets assume it's 01/01/1970.
               | 
               | When medical staff ask me for my date of birth, I'll say
               | "1st Jan 1970". They'll reply asking "Sorry, Jan 1st?"
               | And I'll say "yeah". This blew my (programmer) mind.
               | 
               | Over the years I've rewired my brain to say "Jan 1st
               | 1970" and avoid the extra round trip.
        
             | rzwitserloot wrote:
             | Germanic (Dutch, German, Danish, Swedish, Norwegian)
             | languages just say "10 october", they'd never say "October
             | 10th". Before we get our 'english is so stupid!!!' hat on,
             | in many of these (e.g. Dutch and German), the number '87'
             | is pronounced 'seven-and-eighty' ('zevenentachtig' - 'zeven
             | en tachtig' - seven and eighty), which is stupid. Languages
             | are weird).
             | 
             | Same for the romance ones: It's just "Quatorze juillet" -
             | 14th of July (Bastille day).
             | 
             | English is the weird one, but not that weird, "7th of
             | october" is not much more complicated to say than "October
             | 7th".
        
             | codetrotter wrote:
             | European here. When I state my date of birth I state it as
             | "7th of October 1990".
             | 
             | When a date is within the current year I state it as for
             | example "27th of June".
             | 
             | If weekday matters, and specific date is still relevant
             | I'll say for example "Monday 27th of June".
             | 
             | I might also simply say "Sunday last week", "Monday next
             | week", "Monday at the end of next month", etc.
             | 
             | Likewise I might say "a couple of weeks ago", "last week",
             | "a few days ago", "in under two weeks", etc.
             | 
             | Depends on context.
             | 
             | When including a date in a file name I prefer YYYY-MM-DD
             | for date.
             | 
             | When using dates in a directory hierarchy I'll have years
             | on the top level, with months within them and dates within
             | those.
             | 
             | Sometimes I might use a format like YYYY-mm-ddTHHMMz_s in a
             | file name. For example
             | "something_2022-06-20T1722+0000_1655745728_more_text.tbz"
        
               | elromulous wrote:
               | Where in Europe? I imagine this might vary by language /
               | region. And could even differ in official use vs
               | vernacular.
               | 
               | And ofc, the mixed order is the inferior option.
        
               | mtoddsmith wrote:
               | YYYY-DD-MM as a folder / filename does not sort
               | correctly. Not a fan.
               | 
               | I much prefer YYYY-MM-DD for its sorting behavior.
        
               | codetrotter wrote:
               | Sorry, that was a typo. I meant to say YYYY-MM-DD. Edited
               | now.
        
             | garmain wrote:
             | In German, Dutch I'll use "twenty June twenty-twentytwo".
             | In English "twentieth of June twenty-twentytwo
        
             | blowski wrote:
             | There isn't a standard. Most individuals don't have a
             | consistent standard, let alone languages.
        
             | oneeyedpigeon wrote:
             | It varies by _context_ : sometimes I'll say "20th June",
             | sometimes "June 20th". There's no rhyme or reason.
        
             | lawn wrote:
             | In Sweden we say 20th June, 2022 and we even use a "DD/MM
             | -YY" shorthand when signing documents for instance,
             | although YYYY-MM-DD is also common and "the more correct".
        
               | ulkis wrote:
               | Except on food where EU mandates DD-MM-YY(YY).
        
             | kseistrup wrote:
             | Denmark: The Nth $month $year. E.g., "Den 20. juni 2022"
             | (lit.: the 20th June 2022).
        
               | karencarits wrote:
               | The same applies to Norway
        
             | jiehong wrote:
             | It does vary by language, but Roman languages (French,
             | Spanish, Italian, etc.) say the 4th of July.
             | 
             | Same in German.
             | 
             | In Polish, it's the same, except for official matters since
             | 2002, which now follows ISO8601.
             | 
             | Even in the UK they commonly say the 5th of May, and not
             | May, the 5th (but it does happen).
             | 
             | I can't talk about other languages.
        
               | chriswarbo wrote:
               | > not May, the 5th (but it does happen)
               | 
               | The only time I see this is in the UK is on movie
               | posters/trailer, e.g. "In cinemas May 5th", which I
               | assume is due to re-using the US material.
               | 
               | PS: 5th of May is a degenerate example, since it's 05/05
               | regardless of ordering
               | 
               | PPS: 5th of May is also my birthday ;)
        
       | cheeaun wrote:
       | Really awesome to see this evolving to this stage :)
        
         | koch wrote:
         | I'm glad you're here to see it!
         | 
         | So cheeaun here posted his life timeline project[0] 9 years ago
         | (!) to hacker news[1] and I always thought it was pretty neat.
         | I made a tool to make timelines like that and it has since
         | evolved into markwhen.
         | 
         | [0] https://github.com/cheeaun/life [1]
         | https://news.ycombinator.com/item?id=6833565
        
       | trenchgun wrote:
       | Fcuking hell, this looks good!
        
       | EGreg wrote:
       | How about a markdown for any hierarchical info?
       | 
       | And diffing to know what changed on git etc.
        
       | NathHorrigan wrote:
       | This is very cool! Awesome job!
        
       | jzig wrote:
       | Very interesting. Why is there work inside of the education
       | sections of the life timeline? In the project planning example, I
       | could see it being useful to have something like $ref references
       | from Swagger to e.g. reference a duration from a project group
       | into the overall section.
        
         | koch wrote:
         | There are relative dates, so you can refer to previous events
         | when defining new ones: https://markwhen.com/docs#relative-
         | dates
        
       | lootsauce wrote:
       | This is awesome! I want to see other tools like this. I dream of
       | a project management system that is text based and lives in your
       | codebase seems we are pretty close with this. Planning (this),
       | comments / descriptions (markdown), identity / people (??),
       | tickets (??) Anyone know of something like this?
        
       | aloisdg wrote:
       | Nice. It is open source?
        
         | koch wrote:
         | https://github.com/kochrt/markwhen is about a month behind the
         | live website.
         | 
         | The upstream repo that the live site uses is available to
         | sponsors.
        
         | zimpenfish wrote:
         | License says yes.
         | 
         | https://github.com/kochrt/markwhen/blob/main/LICENSE
         | 
         | > kochrt/markwhen is licensed under the GNU Affero General
         | Public License v3.0
        
       | Dangeranger wrote:
       | Very cool! One suggestion, this is not Markdown, this is plain
       | text for timelines.
       | 
       | Don't be afraid to distinguish your tool from its inspirations.
        
         | [deleted]
        
       | yucelfaruksahan wrote:
       | wow very cool, light mode can be also cool
        
       | scrollaway wrote:
       | Hat tip to a fellow follower of CGP Grey's yearly themes :)
        
       | pxeger1 wrote:
       | Clicking and dragging doesn't seem to work for me. Firefox
       | 102.0b8, Linux
        
       | pluc wrote:
       | Someone at Microsoft please please buy/license/implement this for
       | GitHub projects.
        
         | darknavi wrote:
         | Elsewhere someone said Mermaid is supported already by GitHub:
         | 
         | https://mermaid-js.github.io/mermaid/#/gantt
        
       | renanwilliam wrote:
       | I like it! very pretty and useful. I really needed for something
       | like that for commercial proposals. Nice work
        
       | Slix wrote:
       | This is an excellent landing page that immediately draws my
       | attention and shows why I'd want to use this. This is a great
       | example of how a landing page can demonstrate a tool quickly.
        
       | wortelefant wrote:
       | This would enable a much appreciated Obsidian plugin, it seems a
       | natural fit
        
         | ytechie wrote:
         | Obsidian supports Mermaid charts. I've used that for this type
         | of chart before, to plan a trip.
        
           | boomskats wrote:
           | While the Gantt in Mermaid is decent, this would be far, far
           | superior as a bidirectional plugin (i.e capable of both
           | visualisation and editing the original markdown).
           | 
           | I'd happily pay for this as an Obsidian plugin.
        
       | bombledmonk wrote:
       | Anyone ever run across anything like this with a simple syntax
       | that can do a timeline with split AND merges? I've always wanted
       | something like the linux timeline [1] as an interactive timeline
       | that can both split and merge.
       | 
       | [1]https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Di..
       | .
        
       | zaep wrote:
       | I'm working on an MIT-licensed time-tracking tool in my spare
       | time and I'm hoping somebody (in a "this is not legal
       | advice"-capacity at least) can enlighten me on licensing here:
       | 
       | If I am understanding the AGPL-3.0 correctly (and assuming that
       | the format is also under the license), I could NOT add an "export
       | to Markwhen" feature to my project without then being forced to
       | convert it to AGPL-3.0. Is this correct?
        
         | koch wrote:
         | In addition to what others have said, I personally would love
         | to see people using the format, so please go ahead!
         | 
         | I'd be interested to see what you're working on!
        
         | ChadNauseam wrote:
         | No, nobody can copyright a file format
        
           | ethanwillis wrote:
           | This, similarly you could copy(reimplement) the entire API
           | for this software if you wish with some caveats.
        
       | laurent123456 wrote:
       | Can the renderer be used separately to embed in other editors?
        
         | koch wrote:
         | Not right now, but it's something I've been thinking about, in
         | addition to separating the parser out
         | 
         | https://github.com/kochrt/markwhen/issues/32
        
       | koch wrote:
       | I've been working on markwhen as a way to easily create timelines
       | just from text.
       | 
       | I've used it personally to help plan and coordinate my own
       | wedding (https://markwhen.com/rob/wedding) and for keeping track
       | of life events, and I've seen it used for event planning, project
       | management, and to visualize historical events or periods of
       | time.
       | 
       | I personally like tools that let you immediately start using
       | them, and I set out to do that here with markwhen.
       | 
       | Let me know if you have any questions!
        
         | mholt wrote:
         | Very cool. Some great ideas here as I build a visualizer for
         | Timeliner [0] (effectively its successor, Timelinize [1]) in my
         | spare time!
         | 
         | Did you build the timeline UI yourself? Can it be used as a
         | library?
         | 
         | [0]: https://github.com/mholt/timeliner
         | 
         | [1]: https://twitter.com/timelinize
        
         | yawnxyz wrote:
         | hope your dad recovered from his hospital visit!
        
         | moasda wrote:
         | Cool tool, thanks for sharing!
        
         | majkinetor wrote:
         | Fantastic. ISO8601 date is a must, otherwise, its delightful :)
        
       | yashasolutions wrote:
       | nice! i have been using a combination of org-mode / taskjuggler
       | to produce gantt so far. Bit this looks nice and could be use for
       | simpler use cases.
        
       | account-5 wrote:
       | I definitely can't use this, the date overhead is too much. I
       | agree with the other commenter, YYYY-MM-DD is the way to go.
        
       | howmayiannoyyou wrote:
       | If only this were a vertical timeline with a print-friendly
       | format. Its great, but a guy can dream....
        
         | koch wrote:
         | Exporting to pdf/png does a good job of getting everything into
         | view. Otherwise the 'doc' view (the third view option button in
         | the bottom left corner) might be your best bet, it just
         | displays a list
        
           | DiggyJohnson wrote:
           | Hey! Thanks for the workaround. Still, I second this feature
           | request, and opened an issue in your repo.
           | 
           | https://github.com/kochrt/markwhen/issues/35
           | 
           | Awesome project. Thanks for sharing.
        
       ___________________________________________________________________
       (page generated 2022-06-20 23:00 UTC)