このプロジェクトは、PHPを使用してマークダウンファイルを動的に提供するフラットファイルWebサイトです。ウェブサイトのコンテンツを管理するための多くのオプションがありますが、私は自分の個人的なウェブサイトにこの方法を好みます。
index.md
を使用してフォルダーを作成するだけです![](TOC)
を使用して目次を追加します![](YouTubeURL)
ステップ1: git
使用して、このレポをWebフォルダーの外にクローンします。 /var/www/md2html
を提案します
ステップ2:リソースフォルダーをWebアクセス可能なURLにリンクします
ln -ls /var/www/md2html/resources /var/www/html/md2html-resources
ステップ3: QuickStartデモフォルダーをWebフォルダーにコピーすると、サイトがライブになります!
ステップ4:新しいページを作成するには、 index.md
でサブフォルダーを作成します
このリポジトリには、すぐに実行できるデモサイトがあります。
docker-compose up -d
を実行し、http:// localhost:8081に移動します
Markdownファイルには、 {{mustache}}
テキストがテンプレート内で置き換えられるものをカスタマイズするためのフロントマタンを含むオプションのヘッダーを持つことができます。デフォルトの交換はsettings.php
で定義されており、ヘッダーで定義されている値は、設定ファイルで定義されている値をオーバーライドします。
---
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...
このリポジトリは、 .htaccess
を使用してApache(mod_rewriteを使用)に指示し、 index.md
ローカルPHPスクリプトに含むフォルダーにリクエストをルーティングして処理します。 Apacheまたはmod_rewriteを使用しない場合は、Directory Indexリクエストを同様にルーティングするために必要なシステムを使用してください。
フラットファイルのWebサイトは、 git
使用してWebサーバーにクローニングできます。PHPはgit pull
を実行してコンテンツを更新できます。 GitHubアクションを設定して、新しいコミットがリポジトリにプッシュされるたびにPHPアップデートスクリプトを実行するHTTPリクエストを作成することにより、GitHubリポジトリと同期してWebサイトを継続的かつ自動的に保持することができます。
wwwroot
象徴的にWebアクセス可能なパスにリンクしますAPI_KEY
を作成しますapi.key
にルートフォルダーに保存します(CHMOD 400
)API_KEY
ベアラートークンとして使用して、新しいコミットがプッシュされたら、httpリクエストdeploy.php
にgithubアクションを構成します(deploy.ymlを参照) このPHPベースのシステムを数ヶ月間使用した後、私は100ページの大きなサイトでそれを楽しむようになりましたが、ほんの数ページの非常に小さなサイトでは、小さなページの編集を行うためだけにDockerインスタンスを起動するのは面倒だと感じました。
このニーズを満たすためにPalilaを作成しました - index.mdをindex.htmlに変換する小さなpythonスクリプトで、ローカルで(編集するとき)またはリモート(展開時)。