PHP で行われた Template Toolkit のベータ版が少なくともありました。しかし、元の perl は本質的に別の言語です。それはかなり強力です。
オリジナルはCPANにあります。現在のバージョンは 2.25 だと思います。
私の Web 構築システムでは、コンテンツとマークアップがほぼ完全に分離されています。
これは、コンテンツを追加する前の基本ページです。
[% PROCESS header.inc
Title = "Sherwood's Forests -- Seedling Sales"
Desc = "Sherwood's Forests Pre-season orders for little Trees."
%]
<DIV id="content">
[% FILTER multimarkdown %]
# Seedling Sales 2014
<div markdown="1" class=picr>
![Picture alternate text][/base-absolute/path/to/image.jpg]
</div>
Please be patient
#### This file is still germinating
[% PROCESS Copyright.inc %][% END %]
</div>
[% INCLUDE footer.inc %]
すべてのコンテンツは FILTER 行と下部の間にあります。コンテンツはマークダウンで記述されています。列の右側に画像を浮かせることができます。CSS は完全に流動的であるため、画面は iPhone で (かろうじて) 使用可能です。
マジックのほとんどは header.inc にあります。これは、本質的にウェブサイト全体のメニュー ツリーである fileindex.txt ファイルを読み取ります。ジャバなし。すべての静的 Web サイト。
Fileindex.text は次のようになります。
ABBAB:f:/Home/Business_Stuff/Inventory.html:3:Inventory.html:Inventory
ABCAB:f:/Home/Business_Stuff/Ordering.html:3:Ordering.html:Ordering
ABDAB:f:/Home/Business_Stuff/Prices.html:3:Prices.html:Prices
ABJAB:f:/Home/Business_Stuff/Business_Stuff.html:3:Business_Stuff.html:Business Stuff
ADAAA:d:/Home/Services:2:Services:Services
ADJAB:f:/Home/Services/Christmas_Trees.html:3:Christmas_Trees.html:Christmas Trees
ADKAB:f:/Home/Services/Custom_Growing.html:3:Custom_Growing.html:Custom Growing
ADLAB:f:/Home/Services/Nature_Walks.html:3:Nature_Walks.html:Nature Walks
先頭のアルファベット スープによって、インデックスの並べ替え順序が決まります。d または f はディレクトリまたはファイルです。数字は、メニュー階層の下位レベルの数です。次に、フル パスのファイル コンポーネント。最後に、リンク名に使用されるテキスト。これのいくつかは以前の書き直しから冗長ですが、修正する価値はありませんでした。「まだ最適化しないでください」。最後のフィールドでは、ファイル名とは異なるリンク名を使用できます。これはあまり使いません。
fileindex.txt 自体は、perl プログラム MakeFileIndex によって生成されます。これは 2 つの情報源を使用します: find の結果です。ソースツリーで実行し、オプションでメニュー項目の順序をオーバーライドするファイル tt2seq を実行します。
サイトに新しいページを追加したい。
最初のファイルを適切なディレクトリにコピーします。そのファイルの内容を私の新しい内容に変更します。アルファベット順以外で表示する必要がある場合は、それを制御するために tt2seq に行を追加する必要があります。MakeFileIndex を実行します。ttree -a (Template Toolkit のユーティリティ) を実行します。これにより、すべてのファイルのすべてのメニュー項目が更新されます。
ページが希望どおりに表示されることを確認します。そうでない場合は、再編集します。編集したばかりのファイルに対して ttree を再実行します。満足したら、サーバーに同期します。
最終的な効果は、メカニックに費やす時間が、執筆にかかる時間に比べてわずかであることです。
サイトを再配置する場合は、ディレクトリ ツリー内でファイルを移動して再構築するだけです。これは、コンテンツ ブロック内の内部リンクを修正しません。
この方法で作成されたサイトはhttp://sherwoods-forests.comです。昔ながらのサイトです。シズルではなく、コンテンツに重点が置かれています。しかし、これは静的ページを作成するための優れたシステムです。