ブログ/cms の代わりに、いくつかの (めったに更新されない) ページを含む静的な html ベースのサイトが欲しいです。それらを更新する最も簡単な方法は、ソースをReSTのような形式に保ち、更新するたびにコンパイルすることだと思います。この用途に推奨されるコンパイラは何ですか? 独自のテーマ/デザインを持ちたいのですが、適切な ReST 構文以外は必要ありません (たとえば、Sphinx は多すぎます)。
5 に答える
Makefile は、これを行うための優れたソリューションです。ここに簡単なテンプレート makefile があります
# Flags to pass to rst2html
# e.g. RSTFLAGS = --stylesheet-path=mystyle.css
RSTFLAGS =
%.html: %.rst
rst2html $(RSTFLAGS) $< $@
.PHONY: all
.DEFAULT: all
all: index.html foo.html bar.html # any other html files to be generated from an rst file
次にmake
、ファイルのあるディレクトリで実行して、最初からhtmlを生成します
rest2webは、あなたが探しているようなものかもしれません。
必ずしも再構成されたテキストは必要ないが、マークダウンやテキスタイルでも同じように問題ない場合は、jekyllをチェックしてください。
自分で使っています。いいぞ。
nanoc3をdocutils(sphinxインストール経由)と一緒に使用して、静的サイトジェネレーターで再構築されたテキストを適切にサポートできるようにします。私は純粋なPythonソリューション(hyde)を見てきました(そして使用したいと思います)が、nanocはよりクリーンなReSTソースファイルを可能にします。
また、スフィンクスを使用して静的サイトを作成することも検討しましたが、それをサポートするために多くのコードをロールすることなく、これを行うのは簡単ではありません。
このトピックにまだ関心がある場合は、これを正確に行う方法を詳しく説明できてうれしいです。基本的には、docutilsを使用してソースレストからhtmlを出力します。私はこれを行う単純なnanocプロセッサを持っています:
module Nanoc3::Filters
class ReST < Nanoc3::Filter
identifier :rest
def run(content, params={})
open('|rst2html.py --template=rest.template', 'r+') do |io|
io.write(content)
io.close_write
io.read
end
end
end
end
rest.templateファイルは、基本的に次の1行のダミーテンプレートです。
%(body)s