アーカイブ - sinonome (1 / 4)

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>

テンプレートタグ{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で実装した「./」の削除がうまく動作していないケースがあったので、改善しました。

通常、記事ファイル・ウェブページファイルは profiles\user\ の entries\ または webpages\ に置きますが、それに加えて settings.txt で各ファイルを指定できるようになりました。
今後は、記事ファイル・ウェブページファイルは好きな場所に置けます。

settings.txtに以下のように記述して、記事ファイル・ウェブページファイルを指定します。
複数ある場合は複数書けます。

entries_file, D:\foobar\external_entry.md
entries_file, D:\foobar\external_entry2.md
webpages_file, D:\foobar\external_webpage.md

ディレクトリを指定することもできます。この場合、そのディレクトリ内の全ファイルを読み込みます。
こちらも複数書けます。

entries_file, D:\foobar_entry\
webpages_file, D:\foobar_webpage\

その他、細かい変更を行っています。