カテゴリ:プラグイン 自作 追加 未公開

指定したページの一覧をテンプレートに沿って作成するプラグイン

plist.inc.php
製作者kanateko
バージョン1.0.1
動作確認PukiWiki 1.5.4 - 1.5.4
最終更新2024-07-26

タグもしくは親ページを指定し、対象のページ一覧をテンプレートに沿った形で作成するプラグイン。

一覧の表示形式はテーブルかフレックスボックスかで選択できる。また、テンプレートはプラグインの引数として直接設定できるほか、あらかじめ用意した別ページにあるテンプレートを読み込むいこともできる。

テンプレートを作成する際、各ページのインフォボックスやセクション、テーブルのセルや画像を抽出することができる。

  • 指定したページの一覧を作成する。
    • タグでの指定 (taglistと同様) か親ページの指定が可能。
    • 表示形式はテーブルもしくはフレックスボックス。
  • 各ページの内容を抽出して一覧に表示可能。
    • インフォボックス、セクション、テーブルセル、画像を抽出できる。
  • キャッシュに対応しているため、2回目以降の表示を高速化できる。

ダウンロード

このプラグインは現在公開されていません。

日付バージョン備考
2024-07-261.0.1
  • n番目の画像を抽出する機能を追加
2024-07-251.0.0
  • 初版作成

プラグイン設定

定数初期値説明
DEFAULT_STYLEstring'table'デフォルトの一覧表示形式
TEMPLATE_PATHstring':config/plugin/plist/'テンプレート設定の親ページ
PLIST_CACHE_DIRstringCACHE_DIR . 'plist/'キャッシュを保存するディレクトリ

使用方法

#plist(<タグ指定or親ページ指定>[,オプション]){{{{
[テンプレート]
}}}}

テンプレートを直接設定する場合はマルチライン部分を使用する。なお、テンプレート内で三重の波括弧を使用するため、マルチライン部分の波括弧は四重以上にする必要がある。

オプション

style =
一覧の表示形式。tableもしくはflex。デフォルトはtable。
tag =
一覧表示するページをタグで指定する。指定方法はtaglistプラグイン等と同じ。例:tag = プラグイン^自作
root =
一覧表示するページの親ページを指定する。例:root = 自作プラグイン
item-width =
flex専用。各アイテムの幅を指定する。指定方法はflexプラグインと同じ。例:item-width = 200
justify-content =
flex専用。各アイテムの整列方法を指定する。指定方法はflexプラグインと同じ。例:justify-content = center
class =
追加のクラスを指定する。
template =
読み込むテンプレートを指定する。例えばtemplate = hogeと指定した場合、:config/plugin/plist/hogeの内容がテンプレートとして読み込まれる。テンプレートは後述するようにマルチライン部分で直接設定することもできる。

テンプレートの設定方法

テンプレートの設定方法はinfoboxプラグインやinctmpプラグインに近い。三重の波括弧でキーを囲い、その部分が表示時に各ページの指定した内容に置き換えられる。

キーは抽出したい内容によってinfobox、section、cell、imageなどが使用でき、キーの後ろに「:」で区切ってオプションを記述できる。また、その他にも「_page」「_pagelink」「_base」「_baselink」といったキーを指定し、ページ名やベースネーム、それらのリンクに置き換えることもできる。

table形式の場合はヘッダーや列の設定を含め、テンプレートとなる行を書く。flex形式の場合は各アイテムのテンプレートを書く。

例:table形式の場合

|~プラグイン名|~バージョン|h
|CENTER:|CENTER:|c
|{{{_pagelink}}}|{{{infobox:ver}}}|

例:flex形式の場合

{{{image:1,nolink,200x}}}
{{{_pagelink}}} 

インフォボックス

各ページのインフォボックスの内容を抽出する。記述方法は{{{infobox:<オプション>}}}。オプション部分はinc_infoboxプラグインのオプション指定と同じ。

例:{{{infobox:ver,replace=v%s}}}

セクション

各ページの内容を見出し単位で抽出する。記述方法は{{{section:<オプション>}}}。オプション部分はinc_sectionプラグインのオプション指定と同じ。

例:{{{section:ダウンロード,num=2:5}}}

テーブルセル

各ページにある表の内容をセル単位で抽出する。記述方法は{{{cell:<オプション>}}}。オプション部分はinc_sectionプラグインのオプション指定と同じ。

例:{{{cell:filter=1.0.0,col=3}}}

画像

各ページにあるn番目の画像を抽出する。記述方法は{{{image:<番号>,<オプション>}}}。オプション部分はrefプラグインのオプション指定と同じ。

例:{{{image:1,nolink,200x}}}

使用例

プラグイン名バージョンサムネイル
acv1.6ac.jpg
attachlistv1.1attachlist2.jpg
barv0.9
boxv3.0.0box2.jpg
calcv1.0.0
cardv3.3blogcard.jpg
clipboardv1.0.1clipboard.jpg
datatablev1.0.1datatable.jpg
expandv1.2
fav1.4fa.jpg
figv1.4fig.jpg
flexv1.5.0flexbox.jpg
galleryv2.8gallery.jpg
getcellv1.1.3
inc_infoboxv1.1.1
inc_sectionv1.0.5
inctmpv1.1.1inctmp.jpg
infoboxv1.1.0
likev1.0.0like.webp
lytv1.0.0lyt.jpg
mailformv1.0mailform.jpg
markerv1.1marker.jpg
mathv1.0.1
newtplv1.4.0newtpl.jpg
notev0.4note.jpg
num_formatv1.0.0
plistv1.1.1
selectv1.3select.jpg
sliderv1.2.2slider.jpg
slideshowv0.8
spoilerv1.0.1spoiler.jpg
steamapiv1.1.8steamapi.jpg
stepv0.6step.jpg
swiperv1.1.3swiper.jpg
switchv1.0.1switch.webp
tabv2.3.3tab.jpg
tableifv0.1tableif.jpg
tooltipv0.6tooltip.jpg
twitterv1.1
ulv0.2
youtubev1.5
#plist(root=自作プラグイン){{{{
|~プラグイン名|~バージョン|~サムネイル|h
|BOLD:|||c
|{{{_baselink}}}|{{{infobox:ver,replace=v%s}}}|{{{image,1,nolink,100x}}}|
}}}}

追加したい機能

コメント

コメントはありません。 コメント/自作プラグイン/plist