blancoTextConverterの仕様検討 |
入力: テキスト, 出力: テキスト
includeのような事前処理型コマンドの展開処理をおこないます。
変化がなくなるまで再帰的に呼び出します。
入力: テキスト, 出力: 構造体
与えられたソースを 初期状態の構造体へと変換します。
入力: 構造体, 出力: 構造体
コマンド解釈を実施します。
コマンド解釈にも 一部順序性があります。例えば、tableやlist(?)のような開始終了を伴うものについては、先に実施の必要があるでしょう。
コマンド解釈の過程で、構造体の中にさらに構造体が格納されます。
※raw-beginなどへの対応が必要そうです。
これを、どんどん再帰的におこなうことにより、コマンド展開が実現できます。
空行なしで連続する複数の java.util.Stringベース行を1行+\nにまとめる
入力: 構造体, 出力: 構造体
最後に raw-beginなどの不要となるタグの除去処理をおこないます。
入力: 構造体, 出力: テキスト
構造体に対してコマンド処理をおこないます。
基本的に文字エスケープ処理は ここでのみ実施されます。
(つまりエンコーディングされたくないものは、java.lang.String以外に格納しなくてはならない)
→コマンドごとに、テキスト化メソッドを用意するのが簡明そうです。
→→しかし、htmlのほかに wordや txtにも対応すると考えると、コマンドにメソッドを付与は不適です。
タイトルその1 (SMTPやHTMLのように、空行の改行で本文開始です) |
↑これで、日記のタイトルが作れる!。なお、文頭の●は 出力時に無視される。
無視される文字を数種類プリセットしたい。●■○□は無視対象候補か?
※WORD的には 1.のレベル
include.beginここからはインクルードされたファイルです。 |
内容。。。
インクルードされるファイルは *.inc.txt のファイル名とします。include.end
↑これでテキストファイルをインクルード。C言語風に命名しました。
[[baseurl,ベースとなるURL]]
↑これでサブタイトル
※WORD的には 1.1 のレベル
2個時下げ
↑これでサブサブタイトル。
※WORD的には 1.1.1 のレベル
3個まで提供
↑これもある。そして4個目からは 通常のテキスト。わたしは4個の空白空白でタブ表現派。
※WORD的には 1.1.1.1 のレベル
[[キーワード]] でキーワードをRDFベースによるリンクへと置き換え。
[[http://www.igapyon.jp/igapyon/diary/index.html]] でリンクを張る機能。
↑これで、タイトルを勝手に取ってきたい! あと、ベースURLをもとに、http://をストリップする機能は欲しい!
[[link,キーワード,http://www.igapyon.jp/igapyon/diary/index.html]] で名称つきリンクを張る機能。
↑リンクの箇所だけれども、<や>は基本的にエンコードしてしまうのが良さそう… (HTML破壊抑止)
[[code-begin,ファイル名.java]]
ここにソースコードを書く! begin, end で開始、終了。ファイル名は省略可能 |
ソースコードの場合には 0文字目からセット可能。 |
ソースコードの外部からの取り込みも欲しい。たぶん、この機能の仕様確定は難しいが、include機能で実現と予想。 |
[[code-end]]
[[table-begin]]
表はどうやって表現する? Excel?
[[table-end]]
単純なテキスト挿入機能も必要。そもそも現在 これが存在しているはず。
↑これって、2パスとか3パスとかを実行する必要があると思う。
[[]]
[[isbn,42242424242]]
ISBN展開機能
[[meta,Subject]]でMETA の Subject記載内容展開
[[anchor,アンカー名]]
[[raw-begin]]ここは変形せずにそのまま出力。最後のパスで変換。[[raw-end]]
・も欲しい。
・列挙。Wiki的には - の利用が妥当か? じゃあ、-- がさらに字下げ、みたいな。
RDF/RSS展開機能も必要。これも現在利用している機能なのじゃ。
[[rdf,うげうげ]]
でも、RDFって、httpの場合もローカルの場合もあるよん。Apache VFSを活用か?まあ読み込み実装は後で決める。
エスケープ機能が有効であることの確認 |
&は&の半角
<は<の半角
>は>の半角
"は”の半角