什么是重组文本的简单网页编译器?

时间:2010-01-19 19:49:14

标签: html compiler-construction restructuredtext

我希望有一个静态的基于html的网站,其中包含一些(很少更新的)页面,而不是博客/ cms。我认为更新它们的最简单方法是将源保持为ReST格式,并在每次更新时进行编译。这种用法的推荐编译器是什么?我想拥有自己的主题/设计,除了正确的ReST语法之外我不需要任何东西(例如Sphinx太多了)。

5 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

rest2web可能更像是你正在寻找的东西。

答案 2 :(得分:1)

如果您不一定需要重组文本,但降价或纺织品一样好,请查看jekyll

我自己用它。竖起大拇指。

答案 3 :(得分:0)

我使用nanoc3和docutils(通过sphinx安装)在静态站点生成器中启用了良好的重构文本支持。我看过(并且想要使用)一个纯python解决方案(hyde)但是nanoc允许更清晰的ReST源文件。

我也考虑使用sphinx来生成一个静态站点,但如果不滚动大量代码来支持它就不那么容易了。

如果对此主题仍有兴趣,我很高兴详细说明如何做到这一点。它基本上使用docutils从源代码输出html。我有一个简单的纳米处理器,可以做到这一点:

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

答案 4 :(得分:0)

您可能想要使用静态站点生成器。其中有十亿人......

https://www.staticgen.com/