docutils使えるようにしてみた
Zopeでもdocutilsを使えるようにしてみました.
使いやすくなると思います.
Zopeで使う際に少し改編したところを書いておきます.
ちなみにセキュリティは気にしてない変更などありますでご注意.
あと、総評を先に書いておきますと
ZReSTとPythonScript、どちらもあまりよくないです.
ZReSTは自分で機能を追加していく方がよいでしょう。
PythonScriptも制御が全く利かないので、GlobalModulesの手法か何かで
docutilsを直接呼ぶか、
オプションを渡せる自前の関数を作るか
しないと使い勝手が悪いです.
ZReST(ReStructuredText Document)を追加する方法
バージョンが2.x.x以上ならZReSTオブジェクトを追加すれば終り.
ただちょっと使いにくいので少々ZReSTオブジェクトを変更しました.\
プロパティを追加して, それで制御できるようにした方が良かったかな?\
あと, style sheetの参照がローカルFSなのが気になりました.
ZODBのstylesheet見た方がいいのかな.
ZReSTとか簡単にいじれちゃうあたりが素敵です.
ただZReSTのmeta_typeがReStructureText Documentであるとか,
相関とりにくいですね(^-^;
- ZReSTオブジェクトの__call__はsource_text(ソースを表示するメソッド)
になっているため, __call__をviewに割り当ててしまいました.:
- __call__ =
+ __call__ =
- brを挿入したかったので, rawディレクティブを有効にしました.:
'raw_enable': 0 'raw_enable': 1
- 章立ての解釈があまり気に入らなかったので, オプションを変更:
'xhtml_': 1 'xhtml_': 0
Python Scriptから作成する方法
手順は/usr/lib/zope/doc/RESTRUCTUREDTEXT.txtに従って作ります.
docutilsがimportできるので文字列をHTMLに変換してあげるだけ...
もし, reStructureTextに共通してディレクティブ入れたり
顔文字のディレクティブ作ったりとか? アイデアを追加したいときかな.
したい時はこの方法は有効だと思います.
あとZReSTの場合はProductの変更が必要でしたが, この場合はZopeの編集権限以上あればできますよね.
コメント
Comments powered by Disqus