我想要一个包含一些(很少更新)页面的基于 html 的静态网站,而不是博客/cms。我认为更新它们的最简单方法是将源代码保留为 ReST 之类的格式,并在每次更新时进行编译。对于这种用途,推荐的编译器是什么?我想要有自己的主题/设计,除了正确的 ReST 语法之外我不需要任何东西(例如,Sphinx 就太多了)。
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 可能更适合您正在寻找的东西。
如果您不一定需要重组文本,但 Markdown 或 Textile 也可以,那么请查看 jekyll。
我自己用的。竖起大拇指。
我使用 nanoc3 和 docutils (通过 sphinx 安装)在静态站点生成器中启用良好的重构文本支持。我已经研究过(并且想使用)纯Python解决方案(hyde),但nanoc允许更干净的ReST源文件。
我也考虑过使用 sphinx 来生成静态站点,但是如果不滚动大量代码来支持它,做到这一点并不容易。
如果您对此主题仍然感兴趣,我很乐意详细说明如何准确地执行此操作。它基本上是使用 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 文件基本上是一个虚拟模板,包含以下一行:
%(body)s
您可能想使用静态站点生成器。有十亿个……