3 Punkte von GN⁺ 2024-12-02 | 1 Kommentare | Auf WhatsApp teilen
  • Markwhen ist eine Markdown-ähnliche Sprache, mit der sich Logs, Termine, Notizen und Aufgaben, die über die Zeit entstehen, als Klartext erfassen und wie in einer Timeline oder einem Kalender anzeigen lassen
  • Die Syntax unterstützt einzelne Daten und Datumsbereiche ebenso wie mehrere Datumsformate, Gruppen, Tags, Checklisten, Links, Zeitzonen, wiederkehrende Termine, Frontmatter und Eigenschaften
  • Dieselbe Eingabe lässt sich als JSON, Timeline, Calendar oder Oneview anzeigen, sodass man zwischen menschenlesbaren Aufzeichnungen und maschinenverarbeitbaren Daten wechseln kann
  • Die JSON-Ausgabe enthält unter anderem Event-Bäume, ISO-Datumsbereiche, Tags, ergänzenden Text und die Parser-Version 1.0.1, sodass sich das Parsing-Ergebnis direkt prüfen lässt
  • Das mitgelieferte Meridiem ist ein Markwhen-/Markdown-Editor mit kollaborativer Bearbeitung, benutzerdefinierten Befehlen, Snippets, Visualisierungen, Autovervollständigung und Event-Highlights

Zeitbasierte Aufzeichnungen mit Markwhen

  • Markwhen ist eine Markdown-ähnliche Journal-Sprache zum Verfassen zeitbasierter Einträge als Klartext
  • Gedacht ist sie für Formate wie Logs, Gantt-Diagramme, Blogs, Feeds, Notizen, Journale, Tagebücher, Aufgabenlisten, Timelines und Kalender
  • Eingabesyntax

    • Datumsausdrücke: Es lassen sich einzelne Daten, Bereiche und verschiedene Datumsformate verwenden, etwa 2025-04-09: Single date, 2025-01-22 / 2026-10-24: Date range oder Dec 1 2025
    • Gruppen: Mit group Part one und endGroup werden Einträge wie Christmas Eve und Christmas gruppiert
    • Tags: Ereignisse können mit Tags wie #holiday und #haloween versehen werden
    • Checklisten: Jahresbezogene Aufgaben werden im Format - [x] und - [] geschrieben
    • Links: In Checklisten-Einträge lassen sich Links zu Google, DuckDuckGo und Bing einfügen
    • Zeitzonen: Nach Angabe von timezone: America/New_York lassen sich Zeiten wie 2025-01-01 12:00 notieren
    • Wiederkehrende Termine: Es werden Ausdrücke wie every year for 10 years und every 60 minutes x12 unterstützt
    • Frontmatter und Eigenschaften: Werte wie title, description, leader und attendees können enthalten sein
  • Ausgabe und Parsing-Ergebnisse

    • Die Ausgabetabs bestehen aus JSON, Timeline, Calendar und Oneview
    • Das JSON-Beispiel enthält unter anderem firstLine, properties, textRanges, dateRangeIso, tags, supplemental und matchedListItems eines Events
    • Im JSON-Beispiel wird parser.version als 1.0.1 angezeigt; außerdem ist eine Warnmeldung enthalten, die empfiehlt, bei fehlender Zeitzone den Header timezone anzugeben

Editor und zugehörige Ressourcen

  • Meridiem ist ein Editor für Markwhen und Markdown
    • Er unterstützt kollaborative Bearbeitung, benutzerdefinierte Befehle, Snippets, benutzerdefinierte Visualisierungen, Autovervollständigung und Event-Highlights
    • Der Download-Link ist als Download v1.0.12 2026-07-01 gekennzeichnet
  • Remark.ing ist ein Ansatz, bei dem jeder mit Markwhen geschriebene Eintrag als tweet-ähnliche Remark behandelt wird
    • Als Beispiele werden meridiem.markwhen.com/bella/recipes.raw und remark.ing/bella/recipes angegeben
    • Zum Einstieg wird ein Link zum Anmelden bei Meridiem bereitgestellt
  • Zusätzlich werden Entwicklungs- und Nutzungsressourcen angeboten
  • Im GitHub-Repository werden landing site, allgemeines Issue-Tracking, Obsidian Plugin, Markwhen CLI, Timeline, Parser, VS Code Extension, View client library, Calendar, C2 und Resume aufgeführt

1 Kommentare

 
GN⁺ 2024-12-02
Meinungen auf Hacker News
  • Ich bin der Entwickler. Es freut mich, dass euch markwhen gefällt; ich arbeite seit einigen Jahren daran, und ursprünglich war es von cheeauns Lebens-Timeline inspiriert, die in einem anderen Kommentar erwähnt wurde.
    Inzwischen gibt es eine VS-Code-Erweiterung, ein Obsidian-Plugin, ein CLI-Tool und den Web-Editor von Meridiem.
    Kürzlich habe ich Dial gebaut, einen Fork von bolt.new von Stackblitz; damit kann man im Browser bestehende markwhen-Visualisierungen (Timeline/Kalender) bearbeiten oder eigene erstellen. Ich habe es erst gestern veröffentlicht, daher ist es noch unausgereift, aber ich plane, es stark auszubauen.
    Außerdem habe ich ermöglicht, jedem Eintrag Event-Eigenschaften in der Form key: value hinzuzufügen; mit Blick auf künftige iCal-Interoperabilität soll man Metadaten wie Teilnehmer oder Google-Calendar-IDs hinterlegen können.
    remark.ing ist noch sehr unfertig, aber es ist eine integrierte Blog-Site, ähnlich wie Twitter/Bluesky/Mastodon; wenn man markwhen verwendet, wird jeder Eintrag zu einem Beitrag. Setzt man ein Datum in der Zukunft, wird der Beitrag geplant, und der gesamte Blog kann in einer einzigen Datei liegen.

    • Ich habe kürzlich mit Markwhen ein interaktives Gantt-Diagramm für einen Kooperationsvorschlag erstellt, und es hat sehr gut funktioniert. Am Ende haben wir den Auftrag bekommen.
      Entwickelt habe ich es mit dem Obsidian-Plugin, ausgeliefert als statisches HTML.
    • Glückwunsch zum Launch. Ich war gerade dabei, ein exakt gleiches Tool zu bauen, aber ihr wart schneller; mit diesem Maß an Funktionalität und Ausgereiftheit zu konkurrieren, sieht schwierig aus.
    • Sieht sehr gut aus, aber es war ziemlich schwierig, herauszufinden, wie man sich registriert.
      Außerdem habe ich in der Desktop-App noch keine Möglichkeit zum Einloggen gefunden.
    • Remark.ing sieht wirklich gut aus. Ich hatte überlegt, für den persönlichen Gebrauch etwas Memos-Ähnliches auf Basis von Markdown-Dateien statt einer relationalen Datenbank zu bauen; das kommt dem, wonach ich gesucht habe, ziemlich nahe.
      Ich frage mich, ob es Pläne gibt, es als Open Source zu veröffentlichen. Auf GitHub habe ich es nicht gefunden.
    • Mich würde interessieren, worin sich der kostenlose Tier und das monatliche Abo-Tier unterscheiden.
  • Dieses Projekt erinnert mich an cheeauns Projekt. Es ermöglichte, mit einem einfachen textbasierten Format visuelle Timelines zu erstellen, um Lebensereignisse visuell anzuordnen.
    https://github.com/cheeaun/life
    Die Beispieldatei im Repository sieht etwa so aus: @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

  • Mermaid unterstützt Timelines ebenfalls, sofern die Version aktuell genug ist: https://mermaid.js.org/syntax/timeline.html
    Mermaid kann man in GitLab/GitHub und in mehreren Markdown-Editoren innerhalb von Codeblöcken verwenden.

    • Das verlinkte Diagramm sieht nicht nach derselben Art von Diagramm aus. Es zeigt zwar, was nach was passiert ist, aber Informationen darüber, wie lange die einzelnen Aufgaben gedauert haben, scheinen zu fehlen.
    • Ich habe das jahrelang mit Mermaid gemacht, aber markwhen fühlt sich sofort einfacher an.
  • Ziemlich cool. Ich bin Entwickler eines halbautomatischen elektronischen Logbuchsystems für Segelboote: https://bergie.iki.fi/blog/electronic-logbook/
    Derzeit nutze ich YAML, weil ich ein Dateiformat möchte, das für Menschen und Maschinen gleichermaßen gut lesbar ist. Markwhen könnte ebenfalls gut passen, zumindest als Exportformat wäre es eine Überlegung wert.
    Allerdings haben meine Einträge viele Eigenschaften wie Windgeschwindigkeit, Schiffskoordinaten und Barometerwerte. Traditionelle Schiffslogbücher wurden tabellarisch geführt, um solche Dinge zu erfassen; mit Markwhen könnte das daher ziemlich unübersichtlich werden.
    Ein Beispiel für ein Tageslogbuch im aktuellen Format gibt es hier: https://github.com/meri-imperiumi/log/blob/main/_data/logboo...
    Solche Daten nutze ich auch für Analysen wie den Zustand der Membran des Gezeitenwandlers oder die pro Crewmitglied gesegelte Strecke.

  • Vorsicht. Gruber besitzt wohl Markenrechte an „Markdown“ und scheint es nicht zu mögen, wenn Leute diesen Namen verwenden
    https://blog.codinghorror.com/standard-markdown-is-now-commo...

    • Das hier hat nicht nur einen anderen Namen, damals war es im Grunde ein Versuch, Markdown zu übernehmen. Mit diesem Projekt hat das überhaupt nichts zu tun
    • Die Lizenz gibt es hier: http://daringfireball.net/projects/downloads/Markdown_1.0.1....
      Ich glaube nicht, dass ich gesehen habe, dass Gruber „Markenrecht“ erwähnt hat. Der Kern schien eher darin zu liegen, dass der Name seines Projekts auf unethische Weise vereinnahmt wurde. Ähnlich, als würde jemand den Namen eines Open-Source-Projekts übernehmen und es so aussehen lassen, als sei es offiziell. Das mag vielleicht keine Markenrechtsverletzung sein, aber gut oder ethisch ist es nicht
    • Ich habe nach einer Marke für „Markdown“ gesucht, aber keine gefunden. Kannst du diese Marke zeigen?
    • Joel wollte durch die Hintertür einen IETF-Standard für etwas schaffen, das er nicht erfunden hatte
      Als er das Wort „standard“ nicht verwenden durfte, dachte er sofort darüber nach, „wie man technisch gesehen regelkonform weitermachen“ könne, und wählte ein Wort, das Standard möglichst nahekam und faktisch suggerierte, es sei die maßgebliche Fassung
      Ich wäre in dieser Situation wütend gewesen. Wenn er es „Atwood Flavoured Markdown“ genannt hätte, wäre das kein Problem gewesen, aber Joel wollte die Definition von Markdown besitzen
      Im Grunde haben sich CEOs von Tech-Unternehmen zusammengetan und beschlossen, die Idee eines anderen zu übernehmen, ohne ihn überhaupt zu fragen, ob das in Ordnung ist; tatsächlich war es ein Ziel an sich, John aus dem Projekt auszuschließen
      Man kann so etwas tun, aber dann kann man nicht auch noch den von dieser Person geschaffenen Namen weiterverwenden
    • John Gruber war auch sehr verärgert darüber, dass das Wort Markdown in der gesamten Spezifikation nicht großgeschrieben wurde
  • Schon wieder eine Neuimplementierung von Emacs Org mode. Gut gemacht
    Es sieht hervorragend aus, aber ehrlich gesagt ist Markdown eine Markup-Sprache für Dokumente. Org mode wirkt oberflächlich ähnlich, ist in der Praxis aber eher ein Format zur Datenspeicherung und zum Datenaustausch. Die Datenmanipulations- und Abfragefunktionen, die rund um Org mode entstanden sind, dürften sich in Markdown schwer nachbilden lassen

    • Stimme zu. Das lässt sich in Org leicht machen. Wenn Org populärer wäre, würden viele solcher Lösungen wohl verschwinden oder nur noch kleine Projekte sein, die einfach Org-Properties auslesen
      Der Kern dürfte in besserer Unterstützung durch leicht zugängliche Editoren wie VS Code liegen, vielleicht sogar durch einen dedizierten Editor
    • Beispiele wären https://github.com/legalnonsense/elgantt/, https://github.com/elsatch/org-timeline-viewer, https://orgmode.org/worg/org-tutorials/org-taskjuggler.html
      Org-mode-Nutzer und solche Tools scheinen zusammenzugehören wie Motten und Licht. Org-mode selbst ist schon ein ziemlich nischiges Softwarepaket, aber die Zahl der darauf aufbauenden Pakete überrascht mich immer wieder
    • Ich würde Org mode wirklich gern mögen, aber es klappt nicht so recht. Die Syntax fühlt sich einfach zu sperrig an. Bei Markdown verwendet man nur ein paar zusätzliche Zeichen, während sich Org mode in mancher Hinsicht anfühlt, als würde man LaTeX schreiben
      Bei MediaWiki ist es ähnlich. Ich mag Wiki-Systeme, aber WikiText finde ich furchtbar
  • Ich frage mich, ob das auch für Fantasy-Zeitleisten funktioniert
    Ich wollte eine Timeline erstellen wie 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.
    Nachdem ich es selbst ausprobiert habe, scheint es für diesen Zweck nicht geeignet zu sein

  • Ich lasse das hier, weil es seltsam aussähe, wenn es keine Kommentare gäbe. Ich habe nicht besonders viel zu sagen, aber es sieht wirklich gut aus, und ich hoffe, irgendwann einen Vorwand zu haben, es zu benutzen

  • Für alle, die es wie ich nicht wussten: Das kann man auch als Obsidian-Plugin verwenden: https://obsidian.md/plugins?search=markw

  • Könnte man sich hier ein wenig von der Ästhetik abschauen? https://www.chronoflotimeline.com/timeline/shared/3118/Home-...

    • Das ist mein Produkt. Danke fürs Erwähnen
    • Die Latenz sollte man aber lieber nicht übernehmen. Ich habe es auf einem M2 Macbook Air von 2022 mit Firefox und Safari ausprobiert, und die Reaktion ist träge