Ich habe in der Vergangenheit eine Ruby on Rails-Webanwendung erstellt. Bei Verwendung von RoR gab es eine Standard-"Vorlage", die für jede Seite verwendet wurde, und der Inhalt, der in die "Vorlage" eingefügt wurde, wurde vollständig auf der Serverseite verarbeitet. Zum Beispiel habe ich eine Standard-Kopf- und Fußzeile definiert, und wenn eine Anfrage für eine bestimmte Seite gestellt wurde, wurde der Inhalt dieser Seite zwischen Kopf- und Fußzeile eingefügt und dann dem Client bereitgestellt.
Derzeit verwende ich Firebase als Back-End-Datenbank, Echtzeit-Update-Engine (Pub/Sub) und Tool zum Hosten einer anderen Web-App. Das Firebase-Hosting stellt einfach statische HTML/JS-Dateien bereit, und die Clients führen (im Gegensatz zu RoR) die gesamte schwere Arbeit für die Authentifizierung, DOM-Manipulation basierend auf dem Benutzer usw. durch.
In dieser App habe ich eine Standard-Kopf- und Fußzeile, die auf jeder Seite verwendet wird, aber mein Problem ist, dass jede Änderung an der Kopf-/Fußzeile manuell auf jeder Seite vorgenommen werden muss.
Meine Frage ist also, gibt es eine Standardmethode (oder vielleicht ein Tool), mit der man im Wesentlichen in einer Vorlagenart bauen und dann automatisch in die separaten HTML-Dateien "kompilieren" kann, die ich dann Firebase hosten lassen könnte? Ich möchte nicht unbedingt so etwas wie AngularJS verwenden, obwohl ich denke, dass es das Problem von Natur aus anspricht.
Eine App mit wenigen Seiten ist einfach zu verwalten, aber wenn die App wächst, werden die Dinge schnell haarig und die Gewährleistung der Konsistenz wird zu einer mühsamen Aufgabe.
Die Frage: Statischer Site-Generator mit GUI ist meiner Meinung nach nahe an dem, was ich frage, aber nicht ganz dasselbe. Ich suche kein Tool zum Generieren einer statischen Site, sondern ein Tool zum Bearbeiten von HTML auf Vorlagenbasis (und nicht unbedingt mit einer glatten GUI, ich dachte eher an eine textbasierte Lösung wie eine Art Plugin für Notepad++ ). Jekyll wurde als Antwort auf die verknüpfte Frage empfohlen und scheint eine potenziell gute Lösung zu sein, aber ich dachte, ich würde sehen, ob es andere gibt.
Ich denke, ein statischer Site-Generator ist das, was Sie brauchen.
Sie sind typischerweise (aber nicht notwendigerweise) Befehlszeilentools:
Sie können jetzt einfach alle generierten HTML-Dateien nehmen und hochladen.
Es gibt so viele Lösungen (sehen Sie sich zum Beispiel die Listen auf http://staticsitegenerators.net/ und https://www.staticgen.com/ an, um sich ein Bild zu machen), dass es schwierig ist, eine spezifische Empfehlung zu geben, ohne genau zu spezifizieren, was du erwartest davon.
Beliebte Beispiele sind Jekyll , Pelican , Middleman und Hexo . Ich mag Hugo , hauptsächlich wegen seines großartigen eingebauten Testservers mit Live-Reload-Unterstützung ( siehe auch meine Frage ), aber ich denke, das spielt für Sie keine Rolle.
Wenn Sie also der Meinung sind, dass ein Static-Site-Generator eine Lösung für Ihren Fall sein könnte, können Sie gerne eine neue Frage erstellen (getaggt mit static-site-generator), wo Sie explizit auflisten, welche Funktionen Sie benötigen, zum Beispiel: Soll es eine bestimmte Template-Engine verwenden? In welchem Format (z. B. Markdown) möchten Sie die Inhalte schreiben? Welche Art von URL-Design sollte verwendet werden? Muss es nur HTML-Dateien generieren? Soll es einen Feed erstellen? Haben Sie unterschiedliche „Content-Typen“? Sollte es das generierte HTML minimieren? usw.
unoder
M und M