mark-when / markwhen

Make a cascading timeline from markdown-like text. Supports simple American/European date styles, ISO8601, images, links, locations, and more.
https://markwhen.com
MIT License
3.58k stars 127 forks source link

Pre-1000 dates #104

Closed yilu1015 closed 2 months ago

yilu1015 commented 1 year ago

The earliest possible date seems to be January 1, 1000. I see that BCE dates are not supported (#47 and #4), but would it be possible to at least enable earlier AD dates? I know Markwhen is not made with historians in mind, but a greater date range (whether into the past or the future) could still be useful.

Thanks again for all your great work!

Coriakin commented 1 year ago

Oh yes, some of my use cases are historical timelines, so this would be very good to have, I was not aware of this restriction but I hope it is minimal code tweaking required!

kochrt commented 1 year ago

BCE dates definitely aren't well supported, if at all.

But 0AD to 1000AD works:

1: year one
94: 94 AD
177 - 192: Reign of Commodus

EDTF ranges work if the years are 4 digits long, so you can still get specific with months and days if you use EDTF format:

0012-08/0019-01: August 12AD to January 19AD

0093/0102: 93AD to 102AD
Solarswordsman commented 1 year ago

I'm also seeing issues with 1-1000 dates. I'd love to use this for some note-taking for worldbuilding I'm doing. While using 4-digit numbers seems to resolve the issue with the timeline, the handles for dragging events around once placed on the timeline reverts the format and removes leading zeroes, causing the event to snap over to what appears to be year 2000 but with no duration.

Would love to see this work.

tonydero commented 6 months ago

First off, fantastic work on this.

I know this issue isn't a priority, but -- while not ideal -- would it be possible to have some sort of configuration option to just display the years with an offset? For instance, if I wanted to work with years 2000 BCE to 1000 CE, I could just work within the years 1000 CE to 4000 CE and have the years displayed with a -3000 year offset.

Just a thought. I haven't used the software long at all (half an hour in fact), so I'm not sure how feasible this might be.

kochrt commented 6 months ago

some sort of configuration option to just display the years with an offset

This is actually pretty palatable. I went ahead and did that, and deployed it as a separate timeline, because I don't think a year offset is going to be a main use case for most people. It is the yearOffset branch of @mark-when/timeline.

You can adjust the offset in the bottom settings area:

Screenshot 2024-04-23 at 6 28 05 PM

You can add it as a view in meridiem by going to Settings > Visualizations and adding the following url: https://yearoffset.timeline-bje.pages.dev

Screenshot 2024-04-23 at 6 27 42 PM

Also here's the svg for the timeline icon; you can paste it into the svg field if you so desire:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="h-full w-full"><path fill="currentColor" d="m 13 13 h -5 c -0.55 0 -1 -0.45 -1 -1 s 0.45 -1 1 -1 h 5 c 0.55 0 1 0.45 1 1 s -0.45 1 -1 1 z m -1 -4 h -7 c -0.55 0 -1 -0.45 -1 -1 s 0.45 -1 1 -1 h 7 c 0.55 0 1 0.45 1 1 s -0.45 1 -1 1 z m -9 -4 h 0 c -0.55 0 -1 -0.45 -1 -1 s 0.45 -1 1 -1 h 2 c 0.55 0 1 0.45 1 1 s -0.45 1 -1 1 z">
</path></svg>
kochrt commented 6 months ago

I added it to the list of visualizations so you can just go into Visualizations and enable it. It may take a day or two for it to show up.