TIR/1.spec/tir
をテンプレートにして作成
[
Front page
] [
New
|
Page list
|
Search
|
Recent changes
|
Help
]
Start:
#contents
----
draft
V0.0.1
* TIRとは [#gb1ebbb2]
TIR - Tabular Intermediate Representation
複数の表とテキストを含む中間表現。
UTF8テキスト形式。
NDJSON形式。
次の3種類の要素で構成される。
- 先頭1行目がattr_fileレコード(バージョン情報など)
- plainブロック(複数行のテキストで構成される)
- gridブロック(1つの表を表す)
上から1行ずつ順番に処理して後戻りを極力排除した逐次処理向...
TIRは文章と表を含んだファイル(例:csv, md(gfm), html, wik...
TIRエディタ、TIRビューア、TIRツールを開発することが可能で...
TIRではplainブロック内の構造は認識しない。
プラグインの様な形でrendererを使用してplainブロック内の構...
* TIR NDJSON(v0.0.1) [#g3c3abb6]
- NDJSON形式を満たす
- コードはUTF8
- 各行はJSONオブジェクト([[RFC 8259:https://www.rfc-edito...
** NDJSONオブジェクトの種類 [#oaedd5e5]
- TIRではオブジェクト種別は3種類に限定され、kind メンバー...
-- { "kind":kind, ... }
-- kind:= "attr_file" | "plain" | "grid"
-- ...: メンバー名付きの値。
- attr_file: バージョン情報などファイル属性
- plain: テキスト1行を表す
- grid: 表の1レコードを表す
** 各オブジェクト種類の出現順序 [#he6f23d8]
- attr_fileオブジェクトは1行目に1回だけ現れなければならない
- その後はplainブロックとgridブロックからなる
- attr_fileオブジェクト1行行だけのデーターも認める
** attr_file [#p39fb949]
- { "kind":"attr_file", "version":"tir/0.0.1"}
- ファイルの属性を表すオブジェクト
- parser が作成する
- tir_version:= ファイルのtirバージョン。省略不可
-- 最新バージョンに変換するツールを用意する
** plain [#c4f68b56]
- "kind":"plain", "line":"xxxxx"
- プレーンテキストを表す行
- 内容はline。長さ0以上の文字列。
** grid [#ae2ff1b4]
- { "kind":"grid", "row":[ "cell", "cell", "cell" ] }
- 1レコード分の表データー。
- row: 文字列配列。cellの数だけ値を並べる。
- row: 改行(\n)タブ(\t)を含むことができる。
- row: 一つの表ブロック内で列数が一致する必要はない
-- 一致しない場合最大列数を表の列数とする
-- 不足するcellには空文字をあてる。
* TIR パーサー仕様 [#v47fe23e]
- TIRパーサーを作る場合は次の規約に従うことを推奨する。
-- 規約に従っていない場合TIRエディタなどで使用できない場...
- コマンド形式
- 使用例:例として名前をtir-mdとする
-- tir-md parse file|- :mark down 形式のfile(-の場合stdin...
-- 成功した場合はstderrには何も表示しない。失敗した場合は...
--- これで成功、失敗を見分ける
-- tir-md unparse file|- :標準入力からNDJSON形式で読み込...
-- 成功した場合はstderrには何も表示しない。失敗した場合は...
--- これで成功、失敗を見分ける
-- tir-md --version:バージョン表示。1.2.3の様に三つの数字...
-- 自作する場合は独自サブコマンドは作らないこと。オプショ...
** 実装例 [#qa6993fd]
- tir-csv
- tir-gfm
- tir-pukiwiki
* tirエディタ仕様 [#nf8c347f]
独自拡張したTIRファイルを作ってはならない。それ以外は自由。
** 実装例 [#bbbdfc97]
- tirenvi
* tirツール [#l2e78511]
現状ではjqを使ってTIRの編集ができる。
jqの使用例:grid, attr_grd だけ抜き出すとか
** 書式拡張案 [#wb5beead]
- [[PukiWiki仕様:http://wiki.kibi2.com/html/?FormattingRu...
- 列ごとの書式指定:配置、前|背景色、フォントサイズ、幅
- セルごとの書式指定:配置、前|背景色、フォントサイズ
- 列、行セル結合(span)
- header, footer 複数バラバラ指定
PukiWikiではできないこと
- 固定行
- caption
表属性は別ファイルにすることを検討中。
表属性とは、列幅、ヘッダ行、配置、その他書式など
tirenviでサポートしようとするとセル書式はセル内に埋め込む...
- 列削除・移動に連動させるため
- 属性情報本体はextmarkとして持ち、列内にはリンク情報を埋...
End:
#contents
----
draft
V0.0.1
* TIRとは [#gb1ebbb2]
TIR - Tabular Intermediate Representation
複数の表とテキストを含む中間表現。
UTF8テキスト形式。
NDJSON形式。
次の3種類の要素で構成される。
- 先頭1行目がattr_fileレコード(バージョン情報など)
- plainブロック(複数行のテキストで構成される)
- gridブロック(1つの表を表す)
上から1行ずつ順番に処理して後戻りを極力排除した逐次処理向...
TIRは文章と表を含んだファイル(例:csv, md(gfm), html, wik...
TIRエディタ、TIRビューア、TIRツールを開発することが可能で...
TIRではplainブロック内の構造は認識しない。
プラグインの様な形でrendererを使用してplainブロック内の構...
* TIR NDJSON(v0.0.1) [#g3c3abb6]
- NDJSON形式を満たす
- コードはUTF8
- 各行はJSONオブジェクト([[RFC 8259:https://www.rfc-edito...
** NDJSONオブジェクトの種類 [#oaedd5e5]
- TIRではオブジェクト種別は3種類に限定され、kind メンバー...
-- { "kind":kind, ... }
-- kind:= "attr_file" | "plain" | "grid"
-- ...: メンバー名付きの値。
- attr_file: バージョン情報などファイル属性
- plain: テキスト1行を表す
- grid: 表の1レコードを表す
** 各オブジェクト種類の出現順序 [#he6f23d8]
- attr_fileオブジェクトは1行目に1回だけ現れなければならない
- その後はplainブロックとgridブロックからなる
- attr_fileオブジェクト1行行だけのデーターも認める
** attr_file [#p39fb949]
- { "kind":"attr_file", "version":"tir/0.0.1"}
- ファイルの属性を表すオブジェクト
- parser が作成する
- tir_version:= ファイルのtirバージョン。省略不可
-- 最新バージョンに変換するツールを用意する
** plain [#c4f68b56]
- "kind":"plain", "line":"xxxxx"
- プレーンテキストを表す行
- 内容はline。長さ0以上の文字列。
** grid [#ae2ff1b4]
- { "kind":"grid", "row":[ "cell", "cell", "cell" ] }
- 1レコード分の表データー。
- row: 文字列配列。cellの数だけ値を並べる。
- row: 改行(\n)タブ(\t)を含むことができる。
- row: 一つの表ブロック内で列数が一致する必要はない
-- 一致しない場合最大列数を表の列数とする
-- 不足するcellには空文字をあてる。
* TIR パーサー仕様 [#v47fe23e]
- TIRパーサーを作る場合は次の規約に従うことを推奨する。
-- 規約に従っていない場合TIRエディタなどで使用できない場...
- コマンド形式
- 使用例:例として名前をtir-mdとする
-- tir-md parse file|- :mark down 形式のfile(-の場合stdin...
-- 成功した場合はstderrには何も表示しない。失敗した場合は...
--- これで成功、失敗を見分ける
-- tir-md unparse file|- :標準入力からNDJSON形式で読み込...
-- 成功した場合はstderrには何も表示しない。失敗した場合は...
--- これで成功、失敗を見分ける
-- tir-md --version:バージョン表示。1.2.3の様に三つの数字...
-- 自作する場合は独自サブコマンドは作らないこと。オプショ...
** 実装例 [#qa6993fd]
- tir-csv
- tir-gfm
- tir-pukiwiki
* tirエディタ仕様 [#nf8c347f]
独自拡張したTIRファイルを作ってはならない。それ以外は自由。
** 実装例 [#bbbdfc97]
- tirenvi
* tirツール [#l2e78511]
現状ではjqを使ってTIRの編集ができる。
jqの使用例:grid, attr_grd だけ抜き出すとか
** 書式拡張案 [#wb5beead]
- [[PukiWiki仕様:http://wiki.kibi2.com/html/?FormattingRu...
- 列ごとの書式指定:配置、前|背景色、フォントサイズ、幅
- セルごとの書式指定:配置、前|背景色、フォントサイズ
- 列、行セル結合(span)
- header, footer 複数バラバラ指定
PukiWikiではできないこと
- 固定行
- caption
表属性は別ファイルにすることを検討中。
表属性とは、列幅、ヘッダ行、配置、その他書式など
tirenviでサポートしようとするとセル書式はセル内に埋め込む...
- 列削除・移動に連動させるため
- 属性情報本体はextmarkとして持ち、列内にはリンク情報を埋...
Page: