First が認識して何かに置換するものを First タグと呼ぶことにしています。

内部的な話になりますが、 ファイル指定とかの属性値を伴う場合は置換の際に正規表現を使いますし、 サイトマップ等のリスト生成の場合は特にキャッシュすることなく生成するページごとに文字列を生成していますので、 使えば使うほど生成速度は遅くなるかもしれません。

コンテンツやテンプレートエディタのコンテキストメニューの「First タグ」から入力できます。

First タグの種類

First タグの種類と説明です。

値を置換するFirst タグ

[[ First トップまでの相対パス ]]
サイトトップまでの相対パスを形成するドットとスラッシュに置換します。
<link href="[[ First トップまでの相対パス ]]css/style.css" rel="stylesheet">

<img src="[[ First トップまでの相対パス ]]images/image.jpg" alt="" />

のように使用すればどの階層でもリンクが外れません。

src="*/ は src="[[ First トップまでの相対パス ]]
href="*/ は href="[[ First トップまでの相対パス ]] のショートカットとして機能します。

[[ First ページタイトル ]]
ノード情報の「タイトル」に指定された文字列と置換されます。
<title>[[ First ページタイトル ]]</title>
[[ First ページ概要 ]]
ノード情報の「概要」に指定された文字列と置換されます。
<meta name="description" content="[[ First ページ概要 ]]">
[[ First メインコンテンツ ]]
First で入力されたコンテンツ部分のHTMLと置換されますので、 テンプレートファイル内でしか利用できません。
コンテンツ内で使用すると自己参照になり永久ループになります。
[[ First ファイル挿入 #ファイル名# ]]
「templates」フォルダの中の「parts」フォルダにあるファイルを読み込みます。
自己参照するような読み込みを指定した場合、永久ループになります。
[[ First サイト名 ]]
First の「プロジェクト設定」タブの「サイト名」に指定された文字列と置換されます。
[[ First ファイル名 ]]
生成されるファイル名の最初の文字を大文字にした物と置換されます。
ページのファイル名が「contact.html」なら「Contact」「information.html」なら「Information」
[[ First フォルダ名 ]]
ファイルのフォルダ名の最初の文字を大文字にしたものに置換されます。
トップページと同じ階層のページの場合は、ファイル名から拡張子を除いて最初の文字を大文字にします。 ページの親フォルダ名が「information」なら「Information」「products」なら「Products」
[[ First フォルダタイトル ]]
ページが属しているフォルダ内の最初のページ(index.html)のページタイトルと置換されます。
リンクは付かない単なるテキストになります。リンクが張られた状態が必要な場合は
[[ First リンク付きフォルダタイトル ]]
を使用してください。
[[ First 共通データ #項目名# ]]
登録した共通データの内容と置換されます。
プロジェクトで特定の情報を持たせる必要がある場合に使用しますが、あまり必要性を感じません。
[[ First ページデータ #項目名# ]]
ノードに登録したページデータの内容と置換されます。
各ノードに特定の情報を持たせる必要がある場合に使用します。
wordpress のカスタムフィールドのような用途を想定しています。

例えば、メタ要素の keywords が必要な場合は各ページごとにデータを登録して

<meta name="keywords" content="[[ First ページデータ #keywords# ]]">
のように使えると思います。
[[ First 登録日 ]]
First でノードを登録した日付と置換されます。
ノード情報で任意の日付に変更できます。
日付の形式はプロジェクトの設定で変更できます。
[[ First 最終保存日 ]]
First でメインコンテンツを保存した日付と置換されます。
日付の形式はプロジェクトの設定で変更できます。
[[ First 最終保存時刻 ]]
First でメインコンテンツを保存した時刻と置換されます。
時刻の形式はプロジェクトの設定で変更できます。

HTMLを生成するFirst タグ

[[ First リンク付きフォルダタイトル ]]
ページの属するフォルダのトップページへのリンクを生成します。
[[ First ページIDでリンク #2# ]]
ノードIDでリンクを生成します。上の例だと以下の html を生成します
<a href="ノードID 2 のページのurl">ノードID 2 のページのタイトル</a>
が生成され、置換されます。
これでサイト内のページへリンクを貼るとページの構成ツリーでページを移動しても(削除しない限り)リンクが外れませんし、 ページのタイトルを変更したとしても再生成するだけです。
[[ First フォルダIDでリンク #2# ]]
ノードIDでリンクを生成します。
ページIDの場合とほぼ同じですが、フォルダ内のトップページ index.html へのリンクが生成されます。
ほぼ使い道がありません。
[[ First グローバルメニュー ]]
トップページと同階層のページとフォルダのトップページを UL > LI > A 形式のリストとして生成されます。
ページやフォルダ毎に含めないように設定もできます。
表示中のページ、もしくはページが属するフォルダの LI と A に任意のクラスが付与されます。
クラス名は First の「プロジェクト設定」の「グローバルメニュー」で変更できます。
[[ First パンくずリスト ]]
トップページからページまでのツリー上での構成を UL > LI > A 形式で生成します。
「プロジェクト設定」の「パンくずリスト」で設定された任意のクラス名が付与されます。
現在のページにはアンカーが付きません。
[[ First 親フォルダのリスト ]]
パンくずリストとほぼ同じものですが、トップページと該当ページを含みません。
親と祖先のノードを UL > LI > A 形式で生成します。
付与されるクラス名は「プロジェクト設定」の「祖先フォルダ」で設定できます。
直属の親にあたる LI 要素に「親フォルダLIのクラス」、 それ以外の祖先の LI 要素に「祖先フォルダのLIクラス」に入力したクラス名が付与されます。
[[ First フォルダ内ページリスト ]]
同一フォルダ内のトップページ以外を UL > LI > A 形式で生成します。
付与されるクラス名は「プロジェクト設定」の「同一フォルダ内」で設定できます。
[[ First 登録日付きフォルダ内ページリスト ]]
[[ First フォルダ内ページリスト ]] のアンカー部分が
<span class="date">登録日を設定の日付形式にしたもの</span> <span class="title">ページタイトル</span>
になります。
登録日は「ノード情報と設定」で任意の日付に変更可能です。日付の形式はプロジェクトの設定で変更できます。
[[ First ページリスト フォルダID #フォルダのID#0# ]]

特定のフォルダのページを UL > LI > A 形式のリストで生成します。
付与されるクラス名は「プロジェクト設定」の「特定フォルダ」で設定できます。
フォルダの id と、最大表示件数を指定します、 全て列挙する場合は、0 を指定します。
例)id が 10 のフォルダのページを最大 3 件表示する場合

[[ First ページリスト フォルダID #10#3# ]]

フォルダ ID が 10 のフォルダが仮に blog という名前だった場合以下のような html が生成されます。

<ul class="dir blog">
  <li class="number_1 odd"><a class="html" href="../blog/page1.html">ページのタイトル</a></li>
  <li class="number_2 even"><a class="html" href="../blog/page2.html">ページのタイトル</a></li>
  <li class="number_3 odd"><a class="html" href="../blog/page3.html">ページのタイトル</a></li>
</ul>

ul には config.json 内の dir > ul の値(上の例では dir)とフォルダ名(上の例では blog)が付いて、 li には番号が振られ、奇数番目には odd 偶数番目には even が付きます。

[[ First 登録日付きページリスト フォルダID #フォルダID#0# ]]
[[ First ページリスト フォルダID #フォルダID#0# ]] のアンカー部分が
<span class="date">登録日をプロジェクトで設定された日付形式にしたもの</span> <span class="title">ページタイトル</span>
になります。
[[ First フォルダ内の前のページへのリンク ]]
[[ First フォルダ内の次のページへのリンク ]]
表示中のページを基準に同一フォルダ内における前後ページへのリンクを生成します。
この時、同一フォルダ内にあるフォルダは無視します。
あくまでも自身のいる階層のページのみを前後するためのリンクです。
リンクテキストは「プロジェクト設定」の「前後リンク」で設定でき、空白にするとページのタイトルが使用されます。
[[ First 前のページへのリンク ]]
[[ First 次のページへのリンク ]]
表示中のページを基準にサイトマップにおける前後ページへのリンクを生成します。
リンクテキストは「プロジェクト設定」の「前後リンク」で設定でき、空白にするとページのタイトルが使用されます。
[[ First サイトマップ ]]
サイトマップを UL > LI > A 形式で生成します。

First タグの置換順序

各ページの生成は大まかに以下のような順で処理されます。

  1. テンプレートファイルを読み込む
  2. メインコンテンツの挿入
  3. ファイルの挿入
  4. 共通データ
  5. ページデータ
  6. その他の独自タグ
  7. トップまでの相対パス

適用ルールに従ってメインのテンプレートファイルを読み込みメインコンテンツを置換した後ファイル挿入処理を行いますので、 以下のようなケースでは処理されずに残ってしまいます。

  • 最初に呼び出されるテンプレートファイルに[[ First メインコンテンツ ]]が無い。
  • ページデータやプロジェクト共通データにファイル挿入タグを書いても挿入処理は終了しているためそのまま残ります。

最終更新日:2020 年 04月 12 日