很少人用 rst (reStructuredText) 來當文件格式。

不過rst 很棒!除了還看不懂 TeX 數式之外,幾乎適用於所有種類的文稿。可以用來寫日記、寫心得、寫報告、寫書。當然,rst 是「文稿」格式,所以不符合排版需要。但是,rst 可以轉成 LaTeX 再作後處理!

我用 rst 寫文稿寫了好多年;這個 blog 主要的稿子都是用 rst 寫就的。當然,本站的讀者看不到 rst markup (想想真可惜,rst 格式比較簡潔,也許以後改版加上 rst format download link?),因為每發佈一次文章,後台就會把該文稿用 docutils 把 rst 格式轉為 HTML 格式。

docutils 是什麼?其實就是 rst 文稿處理器,現在已經算是 Python 世界裡 de facto 的文稿處理標準了。

docutils 為 rst 提供了好些轉換程式,讓 rst 非常好寫好用。可是,這樣還不能解放 rst 完整的威力!如果要用 rst 再強化我們的文稿撰寫效率,那就要自己寫程式轉檔,這樣才能載入批次威能,引入ベルカ式系統能力。

為了在撰寫 script 批次轉換 rst 檔為 HTML 的時候,可以把 docutils 組態寫在 script 本體裡面 (就不要再多一個 docutils.conf 組態檔啦,累贅),就這麼作:

settings_overrides = {
    # general.
    'language_code': 'zh_tw',
    'input_encoding': 'utf-8',
    'output_encoding': 'utf-8',
    'footnote_backlinks': 1,
    'toc_backlinks': 'top',
    # html4css1 writer.
    'compact_lists': True,
    'embed_stylesheet': True,
    'stylesheet_path': os.path.splitext(__file__)[0]+'.css',
    'footnote_references': 'superscript',
}

src = "source text"
dst = "destination path"
writer_name = "html"

publish_file(
    source_path=src,
    destination_path=dst,
    writer_name=writer_name,
    settings_overrides=settings_overrides, )

快樂 docutils scripting!

Posted by yungyuc at 12:08, 0 comment, 0 trackback.
Change to page (10 entries in each page): 1
© hover year to navigate month: powered by django