Что такое простой компилятор веб-страниц для реструктурированного текста?
-
21-09-2019 - |
Вопрос
Вместо блога/cms я хотел бы иметь статический сайт на базе HTML с несколькими (редко обновляемыми) страницами.Я полагаю, что самый простой способ их обновления — это сохранять исходные коды в формате, таком как ReST, и компилировать их каждый раз при обновлении.Какой компилятор рекомендуется для этого использования?Я хотел бы иметь свою собственную тему/дизайн, и мне не нужно ничего, кроме правильного синтаксиса ReST (например, Sphinx — это слишком много).
Решение
rest2web возможно, это больше то, что вы ищете.
Другие советы
Makefile будет хорошим решением для этого.Вот быстрый make-файл шаблона
# 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 с самого начала
Если вам не обязательно нужен реструктурированный текст, но уценка или текст тоже подойдут, тогда попробуйте Джекилл.
Я использую его сам.Недурно.
я использую нанок3 вместе с документами (через установку 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
Возможно, вы захотите использовать генератор статических сайтов.Их миллиард…