Что такое простой компилятор веб-страниц для реструктурированного текста? - PullRequest
4 голосов
/ 19 января 2010

Вместо блога / cms я хотел бы иметь статический сайт на основе html с несколькими (редко обновляемыми) страницами. Я полагаю, что самый простой способ обновить их - сохранить исходные тексты в формате, подобном ReST, и компилировать его при каждом обновлении. Какой компилятор рекомендуется для этого использования? Мне бы хотелось иметь свою собственную тему / дизайн, и мне не нужно ничего, кроме правильного синтаксиса ReST (например, Sphinx слишком много).

Ответы [ 5 ]

5 голосов
/ 19 января 2010

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 из первого

2 голосов
/ 19 января 2010

rest2web может быть больше того, что вы ищете.

1 голос
/ 19 января 2010

Если вам не обязательно нужен реструктурированный текст, но уценка или текстиль также хороши, проверьте jekyll .

Я использую это сам. Недурно.

0 голосов
/ 28 апреля 2016

Вы можете использовать генератор статического сайта. Их миллиард…

https://www.staticgen.com/

0 голосов
/ 06 марта 2010

Я использую nanoc3 вместе с документами (через установку sphinx), чтобы обеспечить хорошую поддержку реструктурированного текста в генераторе статического сайта.Я рассмотрел (и хотел бы использовать) чистое решение Python (Hyde), но Nanoc позволяет чистые исходные файлы ReST.

Я также рассмотрел использование sphinx для создания статического сайта, но это не тактак же легко это сделать без большого количества кода для его поддержки.

Я с радостью расскажу, как это сделать точно, если интерес к этой теме все еще сохраняется.Он в основном использует documenttils для вывода 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
...