Dieses Projekt ist eine Flat-File-Website, die Markdown-Dateien mit PHP dynamisch bedient. Es gibt viele Optionen für die Verwaltung von Website -Inhalten, aber ich bevorzuge diese Methode für meine persönlichen Websites, da:
index.md
![](TOC)
hinzu![](YouTubeURL)
ein Schritt 1: Klonen Sie mit git
dieses Repo außerhalb Ihres Webordners. Ich schlage /var/www/md2html
vor
Schritt 2: Verknüpfen Sie den Ressourcenordner mit einer Web-zugänglichen URL
ln -ls /var/www/md2html/resources /var/www/html/md2html-resources
Schritt 3: Kopieren Sie den QuickStart -Demo -Ordner in Ihren Webordner und Ihre Website wird live sein!
Schritt 4: Um neue Seiten zu erstellen, erstellen Sie Unterordner mit einem index.md
Dieses Repository verfügt über eine vorbereitende Demo-Site.
Führen Sie docker-compose up -d
und gehen Sie zu http: // localhost: 8081
Markdown -Dateien können einen optionalen Header haben, der vordere Materie enthält, um anzupassen, was {{mustache}}
Text in der Vorlage ersetzt wird. Standard -Ersatze sind in settings.php
definiert, und alle, die in der Header definiert sind, überschreiben die in der Einstellungsdatei definierten Werte.
---
title: this text becomes the title element in the header
description: this text becomes header metadata for search engines to display
---
# My Markdown Article
The rest of the ***Markdown*** text goes here...
Dieses Repository verwendet .htaccess
, um Apache (mit mod_rewrite) zu sagen, Anforderungen an einen Ordner mit einem index.md
an ein lokales PHP -Skript zu leiten, um sie zu verarbeiten. Wenn Sie Apache oder mod_rewrite nicht verwenden, verwenden Sie das System, das Sie für die Verzeichnis -Indexanforderungen in ähnlicher Weise zur Verfügung stellen müssen.
Eine flache Website kann mit git
auf einen Webserver kloniert werden. Anschließend kann PHP git pull
ausführen, um den Inhalt zu aktualisieren. Durch die Konfiguration von GitHub -Aktionen, um eine HTTP -Anforderung zu erstellen, die das PHP -Update -Skript jedes Mal ausführt, wenn neue Commits in das Repository weitergegeben werden, ist es möglich, eine Website kontinuierlich und automatisch mit einem GitHub -Repository zu synchronisieren.
wwwroot
mit einem web zugänglichen PfadAPI_KEY
api.key
im Root -Ordner (CHMOD 400
)deploy.php
, wenn neue Commits mit dem API_KEY
als Trägertoken gedrückt werden (siehe deploy.yml). Nachdem ich dieses PHP-basierte System mehrere Monate lang verwendet hatte, genoss ich es für große Websites mit 100 Seiten, aber für sehr kleine Websites mit nur wenigen Seiten fühlte es sich umständlich an, eine Docker-Instanz aufzubauen, nur um eine kleine Seitenbearbeitung durchzuführen .
Ich habe Palila erstellt, um diesen Bedarf zu erfüllen - ein kleines Python -Skript zum Konvertieren von Index.md in index.html, das lokal (beim Bearbeiten) oder aus der Bereitstellung ausgeführt werden kann.