全カテゴリアーカイブ 1 / 9

entries pages loopタグに、

  • インデックス値に置き換わる__index__
  • ループ回数に置き換わる__counter__

を実装しました。

インデックス値とループ回数の違い

__index__はインデックスの値なので、最初のループが0とは限りません。取得を逆順にするreverseや、最初のインデックスを指定するoffsetなどがあるためです。

一方の__counter__は、reverseで逆にしようとoffsetで開始位置を変えようと、最初のループが必ず1です。
よって以下の例のように、「最初に表示する内容」を判定する場合は__counter__を使うべきでしょう。

例)最初の投稿にだけ本文を表示する

{entries}
    <h3>{entrytitle}</h3>
    {setvar name="counter" value="__counter__"}
    {if name="counter" eq="1"}
        {entrybody}
    {/if}
{/entries}

ループ系のタグは他にarchivesがありますが、こちらには実装し忘れました。次のバージョンで実装すると思います。

##の見出しレベルを指定するheadinglevelモディファイアで、class属性を付与しないnoclass指定が可能になりました。見出しレベルは指定したいが、classは必要ない、という場合に有用です。

従来通りだと以下の通り。

{entrybody headinglevel="3"}
 ↓
<h3 class="heading1">見出し(従来通りクラスが付与される)</h3>

クラスを付与しない場合は、数値の後ろにカンマ、その後ろにnoclassと書きます。以下の通り。

{entrybody headinglevel="3,noclass"}
 ↓
<h3>見出し(クラスが付与されない)</h3>

 実際の生活をしていると、「表面が滑らかで非常に熱い」という物に遭遇することがあります。

 それが本来の仕事であるホットプレートやフライパンはいうまでもないのですが、「コンクリート」「車のボンネット」「自転車のサドル」といったものも、真夏の酷暑時においてはそれに該当します。
 むしろこれらは炎天下においては調理器具に匹敵する尋常でない高温になっており、不用意に触ると火傷する可能性があります。
 そしてそういう「表面が滑らかで非常に熱い」物を見ると、私はふと「ここに生卵を落としたら白身が固まるだろうな……」と思うのです。

 夏場は太陽エネルギーがポピュラーなわけですが、これは長時間点けた後の蛍光灯でも同じです。
 あれは意外と熱いものであり、生卵を落とすともしかして白身が固まるのではないか?という妄想を抱かずにはいられません。
 あんな細い管に卵を落としてどうするんだ? と思われるかもしれません。
 私も冷静な今はそう思います。しかし、いざその状況になると妄想してしまうのです。
 片思いに似ています。

 不思議なことに、「お好み焼きのたね」や「ホットケーキのたね」を落としてみたいと思うことはほとんどありません。
 私の中の私が(それは無理だ、それは固まらない)と言っているからのような気がします。
 (固まっても焦げ目はつかないぞ、おいしくないぞ)と言っている可能性もあります。
 もっとも卵だって蛍光灯に落として焼いてみてもおいしくないに決まっているのでやや矛盾している気もします。

 そんな蛍光灯に対し、最近流行りのLED電灯はあまり発熱しないといいます。
 今後LEDが主流になってしまうと、発熱具合を確かめて熱い熱いと喜んだり、いろいろ焼いてみる妄想をしてみたりといったエンターテイメントがなくなってしまうわけで、寂しいことこの上ありません。
 どうにかならないものでしょうか。

テンプレートタグ{tagdescription} {archivedescription}が使えるようになりました。タグの概要を出力します。

まず、tags.txtにタグの概要を記述します。カンマで区切って3番目に書いてください。

立位体前屈チャレンジ,standing-forward-bend,40cmに挑戦しています!

{tagdescription}は、{tags}のループの中で使用してください。

<ul>
{tags}
    <li>{tagname}({tagdescription})</li>
{/tags}
</ul>

タグ別アーカイブで表示したい場合は、{archivedescription}タグを使います。こちらは{archives archive_type="tagarchive"}のループの中、またはタグアーカイブのテンプレート内で使ってください。

<ul>
{archives archive_type="tagarchive"}
    <li><a href="{archivelink}">{archivetitle}</a>({archivedescription})</li>
{/archives}
</ul>

大きい仕様変更があります。
プロファイルディレクトリの files\ は、今まではディレクトリごとサイトファイル出力ディレクトリにコピーされていましたが、今バージョンからは、files\ の中身が出力ディレクトリにコピーされます。
つまり、files\ に favicon.ico というファイルがあり、サイトファイル出力ディレクトリが SITEFILE\ だった場合、

  • v0.0.13まで: SITEFILE\files\favicon.ico
  • v0.0.14以降: SITEFILE\favicon.ico

となります。
v0.0.13までの仕様に戻すには、files\ の中に、もう1つ files\ を作ってください。
これで出力ディレクトリに files\ ディレクトリがコピーされることになります。

もう一つこれは機能拡張ですが、v0.0.13で実装した記事ファイル・ウェブページファイル指定で、相対パスを使えるようになりました。
プロファイルディレクトリ直下にファイルを置きたい場合は、こう書けます。

entries_file, 記事.md

なおsettings.txtの指定では、(うまく動くか確信がもてないので)相対パスで上のディレクトリ..\は指定しないでください、としていますが、entries_filewebpages_fileだけは..\も使えるように実装しています。
たとえば、「全てのプロファイルで共通のウェブページを持ちたい」とか「別のプロファイルの投稿ファイルを読み込みたい」といったケースで使えるかもしれません。

webpages_file, ..\全サイト用の重要なお知らせ.md
entries_file, ..\別のプロファイル\entries\

その他、細かい修正をしています。
特に、v0.0.12で実装した「./」の削除がうまく動作していないケースがあったので、改善しました。