サマリ | 指定範囲の内部リンクを全てブログカード風にする |
---|---|
リビジョン | 3.2 |
対応バージョン | 1.5.4 |
投稿者 | kanateko |
投稿日 | 2021-04-01 (木) 23:01:40 |
最後の引数 (マルチライン可) に含まれる内部リンクを全てブログカード風のリンクに表示するプラグイン。#lsや#recentなどページを一覧表示するタイプのプラグインと組み合わせることで、ブログのエントリーページ (記事一覧) のようなページを作ることができます。カードの表示は横型と縦型があり、指定したカラム数によってこれらが自動的に切り替わります。
また、2回目以降の表示はキャッシュを利用して高速化を図るほか、Wiki上から各ページのキャッシュを管理するといった機能も備わっています。キャッシュ管理機能では保存されているキャッシュの一覧表示、選択したキャッシュ内容の詳細表示、選択したキャッシュの一括削除が行なえます。
定数 (PLUGIN_CARD_~) | 型 | 初期値 | 説明 |
---|---|---|---|
DEFAULT_COLUMN | int | 1 | デフォルトのカラム数 |
CHANGE_LAYOUT_THRESHHOLD | int | 3 | レイアウトを切り替えるカラム数の閾値 |
HIDE_SNIPPET_THRESHOLD | int | 4 | スニペットを非表示にするカラム数の閾値 |
CONTAINER_WIDTH | string | '768px' | コンテナの幅をデフォルトで設定する null = 幅を固定しない |
USE_CACHE | bool | true | 各ページの情報をキャッシュする |
CACHE_PRETTY | bool | false | キャッシュを読みやすい形で保存する |
CACHE_DIR | string | CACHE_DIR . 'card/' | キャッシュのディレクトリ |
MAKE_THUMBNAIL | bool | true | ページごとにサムネイル画像を作成して保存する |
THUMB_DIR | string | CACHE_DIR . 'card/thumb/' | サムネイル画像のディレクトリ |
THUMB_DEFAULT | string | IMAGE_DIR . 'eyecatch.jpg' | デフォルトのサムネイル画像 |
THUMB_DEF_DIRECT | bool | false | デフォルトのサムネイル画像を使用する場合、ページごとのサムネイルを作成せずに直接使用する |
THUMB_WIDTH | int | 320 | サムネイル画像の幅の最大値 |
THUMB_HEIGHT | int | 180 | サムネイル画像の高さの最大値 |
THUMB_COMP_RATIO | int | 75 | サムネイル画像のjpeg圧縮率 |
SNIPPET_LENGTH | int | 200 | スニペット (本文の抜粋) の文字数 |
SHOW_SNIPPET | bool | true | デフォルトでスニペットを表示する |
SHOW_DATE | bool | true | デフォルトで更新日を表示する |
SHOW_BASENAME | bool | false | デフォルトでベースネーム表示 |
ERROR_IF_NOT_EXISTS | bool | false | 存在しないページが含まれている場合にエラーを出す |
DEFAULT_JUSTIFY | string | 'flex-start' | カード配置のデフォルト (justify-content) |
SHORT_URL_PATTERN | string | '/\?([0-9a-f]{10})/' | 短縮URLのIDパターン (参考:dev:BugTrack/2525) 現状は標準URLかsプラグインを用いた短縮URLにのみ対応 例1:?034d2305ca -> \?([0-9a-f]{10}) 例2:?&034d2305ca -> \?\&([0-9a-f]{10}) |
REDIRECT_PLUGINS | string | 'alias, redirect' | リダイレクト系プラグインのリスト ページのソース取得中にリダイレクトされないようにするためのもの 現状は #plugin(page[,options]) ← この書式に当てはまるタイプにのみ対応 |
#card([1-6][,オプション]){{ [[リンク1]] [[リンク2]] ︙ or #ls #recent etc... }}
カラム数1の場合は記述を省略可能。マルチラインを使用しない場合は引数の最後に改行なしでリンク (ブラケットネーム) を指定することでも使用できる。この際、指定するリンクが1つだけの場合はブラケットを省略してページ名だけで指定できる。
#card([オプション], ページ名 or [[リンク]])
実際の表示は参考リンク先で確認を。
1から6の数字でカラム数を指定する。指定しない場合はデフォルトで1。
カラム数が3以上で縦型のカードに切り替わり、4以上でコンパクト表示になる。
階層化されたページの場合、ベースネームのみを表示する
表示例:PukiWiki/1.4/Manual/Plugin/A-D → A-D
nosnippet = スニペット (本文の抜粋や見出し) の非表示
nodate = 最終更新日時の非表示
カードのスニペットに本文の抜粋ではなくページの見出しを表示する。複数の見出しを表示することもでき、見出しの深さ、表示する見出しの開始位置と終了位置を指定が可能。
複数の見出しを表示する場合、スニペットは3行しか無いので、各見出しを読点でつなげた文に変換して出力する。
オプションの指定は以下のようにして行う。
flex-start, flex-end, start, end, left, center, right, space-between, space-around, space-evenlyのいずれかでカードの配置 (とコンテナの配置) を指定する。指定しない場合はデフォルトでflex-start。
一応justify-contentに準拠した指定方法ほぼ全てに対応しているが、flex-start、start、leftとflex-end、end、rightはそれぞれ同じ配置になる。
なお、カードが折り返してカラム数に足りない場合、例えばrightを指定してカードを右端に寄せても折り返しは左端からになる。これは意図した仕様なので気に入らない場合はCSSを弄ってもらう必要がある。
全てのカードを覆うコンテナの幅を指定する。指定しないはデフォルトで768px。
個別のカードの幅はCSSで制御しているため、コンテナ幅を変えてもカラム数が増えるだけでカード自体に変化はない。
コンテナにクラスやスタイルを追加する。複数クラスを追加する場合は半角スペースで区切る。
使用例:class=class1 class2 class3, style=color:red;height:400px;
キャッシュは対象のページの更新日時がキャッシュの保存日時よりも新しい場合、もしくはキャッシュやサムネイルが見つからない場合に自動で更新される。
各ページのキャッシュには以下の内容が含まれている。
./?cmd=cardにアクセスする (アクション型で使用する) と現在保存されているキャッシュの一覧を見ることができる。
任意のキャッシュを選んで確認ボタンを押すとキャッシュの削除画面が、詳細を押すと各キャッシュ内容の詳細が表示される。キャッシュの削除には管理者パスワードが必要となる。
GPL v3