Was ist eine einfache Webseite Compiler für neu strukturiert Text?
-
21-09-2019 - |
Frage
Statt eines Blogs / cms, würde Ich mag eine statische HTML-basierte haben Website mit ein paar (selten aktualisiert) Seiten. Ich stelle dar, der einfachste Weg, um sie zu aktualisieren ist, die Quellen in einem Format wie ReST zu halten, und kompilieren Sie es jedes Mal aktualisiert sie. Was ist ein empfehlenswertes Compiler für diese Verwendung? Ich mag mein eigenes Thema / Design haben und ich nicht alles über die richtige Syntax ReST muß (Sphinx ist zu viel, zum Beispiel).
Lösung
rest2web könnte mehr sein, das, was Sie suchen.
Andere Tipps
Ein Makefile wäre eine gute Lösung sein, dies zu tun. Hier ist eine schnelle Vorlage Make-Datei
# 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
Dann führen Sie einfach make
in dem Verzeichnis mit den Dateien, den HTML-Code aus dem ersten
Wenn Sie unbedingt brauchen nicht neu strukturiert Text, aber Abschlag oder Textil ist genauso gut, dann schauen Sie jekyll .
Ich benutze es mich. Daumen nach oben.
Ich benutze nanoc3 zusammen mit docutils (über eine Sphinx installieren) schöne reStructuredText Unterstützung in einem statischen zu ermöglichen Website-Generator. Ich habe betrachtet (und würde gerne Gebrauch) eine reine Python-Lösung (hyde) aber nanoc ermöglicht sauberere ReST Quelldateien.
Ich habe auch mit Sphinx als eine statische Website zu produzieren, aber es ist nicht so einfach, dies zu tun, ohne viel Code zu rollen, sie zu unterstützen.
Ich bin glücklich, zum Detail, wie diese genau zu tun ist, wenn es in diesem Thema noch Interesse ist. Es ist im Grunde docutils zur Ausgabe von HTML von der Quelle Rest verwenden. Ich habe einen einfachen nanoc Prozessor, der tut dies:
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
Die rest.template Datei ist im Grunde eine Dummy-Vorlage mit der folgenden Zeile:
%(body)s
können Sie möchten eine statische Website-Generator. Es gibt eine Milliarde von ihnen ...