ブラウザ起点の年表オーサリング

Timeline DSL

年表をテキストで記述し、ブラウザで即座に検証・プレビューできます。Playground で構成を検証してから CLI や CI へ移行でき、歴史、創作設定、教材、組織の沿革をGit管理しやすい形式で扱えます。

最新v1.28.0リリースノート
world-history.tdsl検証済み
timeline "架空世界年表" {
  range 980..1260;
}

lane "王国" as realm { kind custom; order 10; }
lane "事件" as incident { kind custom; order 20; }

span realm 990..1184 "灰都王朝" {};
event incident 1042 "北方遠征" {};
event_range incident 1130..1137 "継承戦争" {};

年表作成を、再現できる作業にする

Timeline DSL は、手作業の図版編集ではなく、レビュー可能な入力ファイルとCLI出力を中心にした年表作成を目指します。

Author

ブラウザ・CLI 双方での記述

イベント、期間、レーン、注釈を `.tdsl` として記述し、Playground での即時プレビューを経て、差分レビューに適した形式でソースを保管できます。

Validate

壊れた年表をすぐ検出

Playgroundで構文やlane参照を確認し、ローカルやCIでは `tdsl check` と `tdsl lint` で品質を担保できます。

Render

HTML / SVG / PNG / PDF への出力

ドキュメントサイトや GitHub Pages 等に容易に組み込める、静的な成果物を生成できます。ブラウザのPlaygroundではHTML / SVG / `.tdsl` を保存でき、PNG / PDF への出力とWikidataの解決はCLIで行います。

ソースから成果物へ

書く、確かめる、見せるまでを同じ流れに置く

`.tdsl` は成果物そのものではなく、年表を再生成するための入力です。ブラウザで試し、保存したファイルをCLIとCIへ渡すことで、長く更新する年表ほど扱いやすくなります。

01

ブラウザでのプロトタイピング

Playgroundで `.tdsl` を編集し、WASMによる検証とSVGプレビューをすぐ確認します。

02

CLI によるローカル検証

ダウンロードした `.tdsl` を `tdsl check` と `tdsl lint` に通し、参照ミスや重複を公開前に見つけます。

03

CI による品質管理と自動ビルド

GitHub Actionsで検証を続け、教材、社内資料、ドキュメントサイトへ置けるHTML / SVG / PNG / PDFへ描画します。

専門ツールとして、使い道は広く

一般向けの年表メーカーではなく、更新し続ける年表をテキストとして扱いたい人に向いています。

架空世界年表

物語・ゲーム設定

王朝、戦争、人物の生没、章ごとの事件をレーンで分け、設定資料として更新し続けられます。

日本史 / 世界史

授業・教材

時代区分と出来事を並べ、授業で扱う範囲だけをHTMLとして配布できます。

Company history

組織の沿革

創業、製品発表、拠点展開、制度変更を一つの履歴として保守できます。

Wikidata scaffold

調査・研究メモ

Wikidataの候補探索から手元の追記まで、出典確認前の仮説もテキストで管理できます。

実際の出力を見てみる

`.tdsl` ソースと、そこから生成した実際の SVG を並べて見せます。ここでの出力はすべて本体の WASM レンダリングです。

日本近現代史
DSL ソースを見る
timeline "日本近現代史" {
    title "日本近現代史";
    unit year;
    range 1853..1926;
    calendar proleptic_gregorian;
}

lane "政治" as politics { kind custom; order 10; }
lane "外交" as diplomacy { kind custom; order 20; }
lane "文化" as culture { kind custom; order 30; }

event politics 1868 "明治改元" { tags ["era"]; };
span politics 1868..1912 "明治時代" { tags ["era"]; };
span politics 1912..1926 "大正時代" { tags ["era"]; };
event diplomacy 1853 "黒船来航" {};
event diplomacy 1854 "日米和親条約" {};
event diplomacy 1894 "日清戦争開始" {};
event diplomacy 1904 "日露戦争開始" {};
event culture 1872 "新橋〜横浜間鉄道開業" {};
event culture 1885 "内閣制度発足" {};
架空世界年表
DSL ソースを見る
timeline "架空世界年表" {
    title "架空世界年表";
    unit year;
    range 980..1260;
    calendar proleptic_gregorian;
}

lane "王朝" as realm { kind custom; order 10; }
lane "事件" as incident { kind custom; order 20; }
lane "人物" as people { kind custom; order 30; }

span realm 990..1184 "灰都王朝" { tags ["dynasty"]; };
span realm 1200..1260 "東方連盟" { tags ["dynasty"]; };
event incident 1042 "北方遠征" {};
event_range incident 1130..1137 "継承戦争" { tags ["war"]; };
span people 1088..1162 "巡礼王" { tags ["person"]; };
event people 1184 "王朝終焉" {};
ライブラリ リリースサイクル
DSL ソースを見る
timeline "ライブラリ リリースサイクル" {
    title "ライブラリ リリースサイクル";
    unit year;
    range 2020..2028;
    calendar proleptic_gregorian;
}

lane "メジャー" as major { kind custom; order 10; }
lane "LTS" as lts { kind custom; order 20; }

span major 2020..2022 "v1.x" {};
span major 2022..2024 "v2.x" {};
span major 2024..2026 "v3.x" {};
span major 2026..2028 "v4.x" {};
span lts 2022..2025 "v2.x LTS" { tags ["lts"]; };
span lts 2024..2027 "v3.x LTS" { tags ["lts"]; };
event major 2022 "v2.0 リリース" {};
event major 2024 "v3.0 リリース" {};
event major 2026 "v4.0 リリース" {};

すべてのサンプルを見る(Gallery)→

手書き図や表計算ではなく、Timeline DSL を選ぶ理由

年表を作る方法は他にもあります。その中で Timeline DSL が何を優先しているかを正直に書きます。

検証できる年表

図形ツールや表計算は入力ミスを指摘しません。Timeline DSL は `tdsl check` / `tdsl lint` で参照切れや重複を事前に検出します。

テキストから再生成できる

手書き図は変更のたびに描き直しが必要です。`.tdsl` はテキストなので Git で差分・レビューし、Wikidata や CSV からも再生成できます。

どこでも動く CLI + WASM

ブラウザの Playground とローカル CLI が同じ検証ロジックを共有するため、CI への組み込みも自然に行えます。

代替手段との違い

方法検証差分・レビュー出力
Timeline DSLあり(診断付き)テキストで Git 差分HTML / SVG / PNG / PDF
手書き図(図形ツール)なし画像差分のみ画像(再利用困難)
スプレッドシートなしセル単位で追跡困難表(年表表現に不向き)
汎用 diagram DSL(Mermaid 等)構文エラーのみテキストで Git 差分図(年表専用機能は限定的)

CLI によるローカル・CI への統合

Playground で構成を検証できたら、お使いの環境に合わせて CLI を導入し、ローカルでの保守や CI による自動ビルド環境を構築できます。詳しいセットアップはQuick Startで確認できます。

macOS / Linux

brew tap keroway/tap
brew install tdsl

macOS / Linux(ワンラインインストール)

curl -sSfL https://raw.githubusercontent.com/keroway/timeline-dsl/main/install.sh | sh

Windows

irm https://raw.githubusercontent.com/keroway/timeline-dsl/main/install.ps1 | iex

Rust ツールチェイン

cargo binstall tdsl-cli

その他の導入方法(cargo / バイナリ手動など)を見る →

30秒で最初の年表を書いてみる

Playground はインストール不要、ブラウザで今すぐ試せます。導入手順や文法の詳細はドキュメントにまとまっています。