3 ポイント 投稿者 GN⁺ 2024-12-02 | 1件のコメント | WhatsAppで共有
  • Markwhenは、時間に沿って発生するログ、予定、ノート、ToDoをプレーンテキストで記録し、タイムラインやカレンダーのように閲覧できるようにするMarkdown風言語
  • 文法は単一の日付と日付範囲だけでなく、複数の日付形式、グループ、タグ、チェックリスト、リンク、タイムゾーン、繰り返し予定、frontmatter、属性をサポート
  • 同じ入力をJSON、Timeline、Calendar、Oneviewで確認でき、人が読む記録と機械が処理するデータの間を行き来できる
  • JSON出力にはイベントツリー、ISO日付範囲、タグ、補足テキスト、パーサーバージョン 1.0.1 などが含まれ、パース結果を直接確認できる
  • 併せて提供される Meridiem は、共同編集、ユーザー定義コマンド、スニペット、可視化、自動補完、イベントハイライトを備えたMarkwhen/Markdownエディタ

Markwhenが扱う時間ベースの記録

  • Markwhen は、時間ベースの項目をプレーンテキストで記述するための Markdown風ジャーナル言語
  • ログ、ガントチャート、ブログ、フィード、ノート、ジャーナル、日記、ToDo、タイムライン、カレンダーのような形式を対象とする
  • 入力構文

    • 日付表現: 2025-04-09: Single date, 2025-01-22 / 2026-10-24: Date range, Dec 1 2025 のように単一日付・範囲・複数の日付形式を使える
    • グループ: group Part oneendGroup で Christmas Eve、Christmas のような項目をまとめる
    • タグ: #holiday, #haloween のようなタグをイベントに付ける
    • チェックリスト: 年ごとのToDoを - [x], - [] 形式で記述する
    • リンク: Google、DuckDuckGo、Bing のリンクをチェックリスト項目に入れられる
    • タイムゾーン: timezone: America/New_York を指定したうえで 2025-01-01 12:00 のような時刻を書く
    • 繰り返し予定: every year for 10 years, every 60 minutes x12 のような表現を使う
    • frontmatterと属性: title, description, leader, attendees などの値を含められる
  • 出力とパース結果

    • 出力タブは JSON、Timeline、Calendar、Oneview で構成される
    • JSONの例にはイベントの firstLine, properties, textRanges, dateRangeIso, tags, supplemental, matchedListItems などが含まれる
    • JSONの例では parser.version1.0.1 と表示され、タイムゾーンを指定していない場合は timezone ヘッダーの指定を推奨する警告メッセージも含まれる

エディタと関連リソース

  • Meridiem は、MarkwhenとMarkdownのための エディタ
    • 共同編集、ユーザー定義コマンド、スニペット、ユーザー定義可視化、自動補完、イベントハイライトなどをサポート
    • ダウンロードリンクは Download v1.0.12 2026-07-01 と表示される
  • Remark.ing は、Markwhenで書かれた各項目を tweet-like remark として扱う方式
    • 例として meridiem.markwhen.com/bella/recipes.rawremark.ing/bella/recipes が提供されている
    • 始めるにはMeridiemにログインするよう案内するリンクがある
  • 開発および利用リソースも併せて提供される
  • GitHubリポジトリには landing site、一般的なイシュー追跡、Obsidian Plugin、Markwhen CLI、Timeline、Parser、VS Code Extension、View client library、Calendar、C2、Resume が列挙されている

1件のコメント

 
GN⁺ 2024-12-02
Hacker News のコメント
  • 開発者です。markwhenを気に入ってもらえてうれしいです。数年前から取り組んでいて、最初は別のコメントでも触れられている cheeaun の人生タイムラインに着想を得ました。
    現在は VS Code 拡張、Obsidian プラグイン、CLI ツール、Meridiem の Web エディタとして提供しています。
    最近は Stackblitz の bolt.new をフォークした Dial を作りました。ブラウザ内で既存の markwhen の可視化(タイムラインやカレンダー)を編集したり、自分で作成したりできます。昨日公開したばかりでまだ荒削りですが、大きく拡張していく予定です。
    また、各項目に key: value 形式のイベント属性を付けられるようにしました。将来的には iCal との相互運用性を念頭に、参加者や Google Calendar ID のようなメタデータを入れられるようにしたいと考えています。
    remark.ing はまだかなり未完成ですが、Twitter/Bluesky/Mastodon に似た統合型ブログサイトで、markwhen を使うと各項目が投稿になります。未来の日付を付ければ投稿予約になり、ブログ全体を1つのファイルに収められます。

    • 最近 Markwhen で共同提案書用のインタラクティブなガントチャートを作りましたが、とてもうまくいきました。結局その仕事を獲得できました。
      開発は Obsidian プラグインで行い、配布は静的 HTML にしました。
    • リリースおめでとうございます。まさに同じツールを作っていたのですが先を越されましたし、このレベルの機能性と完成度には太刀打ちできそうにありません。
    • とても良さそうですが、登録方法を見つけるのがかなり大変でした。
      さらに、デスクトップアプリではまだログイン方法も見つけられていません。
    • Remark.ing は本当に良さそうです。個人用に、リレーショナルデータベースの代わりに Markdown ファイルベースの Memos のようなものを作ろうか考えていたのですが、探していたものにかなり近いです。
      オープンソースとして公開する予定があるのか気になります。GitHub では見つけられませんでした。
    • 無料ティアと月額サブスクリプションティアの違いが何なのか気になります。
  • このプロジェクトを見ると cheeaun のプロジェクトを思い出します。シンプルなテキストベースの形式で視覚的なタイムラインを作れるようにし、人生の出来事を視覚的に配置することを目的にしたものでした。
    https://github.com/cheeaun/life
    リポジトリのサンプルファイルはこんな感じです: @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

    • 素晴らしいプロジェクトです。線形の横方向タイムラインではなく、https://waitbutwhy.com/2014/05/life-weeks.html のような life in weeks 形式の可視化を作った人がいるのか気になります。
  • Mermaid も十分新しいバージョンならタイムラインをサポートしています: https://mermaid.js.org/syntax/timeline.html
    Mermaid は GitLab/GitHub や複数の Markdown エディタで、コードブロック内に入れて使えます。

    • リンク先のチャートは同じ種類のチャートには見えません。何が何の後に起きたかは示されていますが、各作業にどれくらい時間がかかったかという情報は欠けているように見えます。
    • 何年も Mermaid でこれをやってきましたが、markwhen はすぐにこちらのほうが簡単だと感じます。
  • かなり良いですね。私は帆船向けの半自動電子航海日誌システムを作っている開発者です: https://bergie.iki.fi/blog/electronic-logbook/
    今は人間にも機械にも読みやすいファイル形式が欲しくて YAML を使っています。Markwhen も相性が良いかもしれず、少なくともエクスポート形式として検討する価値はあります。
    ただ、私の項目には風速、船の座標、気圧計の値のような属性がたくさんあります。従来の船舶の航海日誌はこうしたものを記録するために表形式で書かれていたので、Markwhen でやるとかなりごちゃごちゃするかもしれません。
    現在の形式で1日分の航海日誌を書いた例はこちらです: https://github.com/meri-imperiumi/log/blob/main/_data/logboo...
    こうしたデータは、ビルジポンプの状態や乗員別の航海距離といった分析にも使っています。

  • 注意が必要。Gruber は「Markdown」に対する商標権を持っていて、人々がその名前を使うのを好まないようだ
    https://blog.codinghorror.com/standard-markdown-is-now-commo...

    • これは名前も違ううえに、当時は実質的に Markdown を受け入れようとする試みだった。このプロジェクトとはまったく近い話ではない
    • ライセンスはここにある: http://daringfireball.net/projects/downloads/Markdown_1.0.1....
      Gruber が「商標権」に触れたのは見たことがない気がする。要点は、自分のプロジェクト名を非倫理的に持っていかれたことにあったようだ。誰かがオープンソースプロジェクトの名前を持ち去って、公式であるかのように見せるのに似ている。商標権侵害ではないかもしれないが、良いことでも倫理的なことでもない
    • 「Markdown」に対する商標を探してみたが見つからなかった。その商標を示せる?
    • Joel は、自分が発明していないものについて、裏口から IETF 標準を使おうとした
      「standard」という単語を使えなくなると、すぐに「技術的には守りつつ、どう続けるか」を考え、Standard にできるだけ近い単語を選んで、事実上の決定版であるかのようにほのめかした
      自分ならその状況では怒ったと思う。名前を「Atwood Flavoured Markdown」にしていれば問題なかっただろうが、Joel は Markdown の定義を所有したがっていた
      技術企業の CEO たちが集まって、他人のアイデアを、本人に問題ないか尋ねもせず持っていくことにしたようなもので、実際には John をプロジェクトから排除すること自体が目的だった
      そうすることはできるが、その人が作った名前まで使い続けることはできない
    • John Gruber は、仕様全体で Markdown という単語が大文字で書かれていなかったことにも非常に怒っていた
  • またしても Emacs Org mode を再実装しているのか。よくできている
    見た目は素晴らしいが、正直なところ Markdown は文書用のマークアップ言語だ。Org mode は表面的な範囲は似ていても、実際にはデータの保存・交換形式に近い。Org mode の周辺に積み上がっているデータ操作やクエリ機能を Markdown で再現するのは難しそうだ

    • 同意する。これは Org なら簡単にできる。Org がもっと一般的だったなら、こうした解決策の多くは消えるか、単に Org のプロパティを読む小さなプロジェクト程度になっていたと思う
      肝心なのは、VS Code のような使いやすいエディタのサポート、場合によっては専用エディタまでがさらに良くなることにありそうだ
    • 例えば https://github.com/legalnonsense/elgantt/, https://github.com/elsatch/org-timeline-viewer, https://orgmode.org/worg/org-tutorials/org-taskjuggler.html がある
      Org-mode ユーザーとこうしたツールは、蛾と火のように引き寄せられているようだ。Org-mode 自体もかなりニッチなソフトウェアのパッケージなのに、その上で作られたパッケージの数にはいつも驚かされる
    • Org mode を本当に好きになりたいのだが、なかなかうまくいかない。構文があまりにもぎこちなく感じる。Markdown は記号をいくつか余分に使う程度だが、Org mode はある意味では LaTeX を書いているような感覚だ
      MediaWiki も似ている。Wiki システムは好きだが、WikiText は本当にいまいちだ
  • これがファンタジーのタイムラインにも使えるのか気になる
    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. のようなタイムラインを作りたかった
    自分で試してみたところ、この用途には合わないようだ

  • コメントが空だと変に見えそうなので残しておく。特に言うことは多くないが、本当に良さそうで、いつか使う口実ができるといいなと思う

  • 自分のように知らなかった人のために書いておくと、これは Obsidian プラグインとしても使える: https://obsidian.md/plugins?search=markw

  • 見た目の要素をここから少し取り入れられないだろうか? https://www.chronoflotimeline.com/timeline/shared/3118/Home-...

    • それは私の製品だ。言及してくれてありがとう
    • レイテンシは抜きにして取り入れてくれるといい。2022年モデルの M2 Macbook Air で Firefox と Safari を試したが、反応が遅い