#author("2022-05-28T23:50:50+09:00","","") #author("2022-05-28T23:52:05+09:00","","") ** card.inc.php [#w9115180] |RIGHT:100|LEFT:360|c |~サマリ|指定範囲の内部リンクを全てブログカード風にする| |~リビジョン|3.2| |~対応バージョン|1.5.4| |~投稿者|[[kanateko]]| |~投稿日|&new{2021-04-01 (木) 23:01:40};| 最後の引数 (マルチライン可) に含まれる内部リンクを全てブログカード風のリンクに表示するプラグイン。#lsや#recentなどページを一覧表示するタイプのプラグインと組み合わせることで、ブログのエントリーページ (記事一覧) のようなページを作ることができます。カードの表示は横型と縦型があり、指定したカラム数によってこれらが自動的に切り替わります。 また、2回目以降の表示はキャッシュを利用して高速化を図るほか、Wiki上から各ページのキャッシュを管理するといった機能も備わっています。キャッシュ管理機能では保存されているキャッシュの一覧表示、選択したキャッシュ内容の詳細表示、選択したキャッシュの一括削除が行なえます。 #contents **主な機能 [#z748e8b3] -指定範囲内にあるリンクを全てブログカード風に変換する。 -変換したカードを指定したカラム数で表示する。 (1~6) -ページ名もしくはベースネームを表示する。 -自動でサムネイルを作成・表示する。 --ページの一番最初にある画像を使ってサムネイルを作成する。 ---画像がなければデフォルトに設定した画像を使用する。 --設定でサムネイル作成の可否を選べる。 -本文の抜粋や最終更新日時を表示する (スニペット) 。 --オプションで指定した見出しや見出しの一覧も表示可能。&size(10){&color(red){New!};}; --抜粋や日時は非表示にすることも可能。&size(10){&color(red){New!};}; -各ページごとにキャッシュを作成し、表示を高速化する。&size(10){&color(red){New!};}; --リンク先ページが更新された場合はキャッシュも更新する。&size(10){&color(red){New!};}; --Wiki上でキャッシュの管理が可能。&size(10){&color(red){New!};}; ---キャッシュの一覧表示。&size(10){&color(red){New!};}; ---各キャッシュ内容の詳細表示。&size(10){&color(red){New!};}; ---キャッシュの削除。&size(10){&color(red){New!};}; -カードの配置方法・表示位置を変えられる。&size(10){&color(red){New!};}; -コンテナにスタイルやクラスを追加できる。&size(10){&color(red){New!};}; -レスポンシブ対応。 **ダウンロード [#gbaab6f1] -[[github.com:kanateko/pukiwiki-plugin/tree/master/plugin-card]] **セットアップ [#m8c3e904] +「plugin-card」フォルダの中にある「plugin」と「image」フォルダをPukiWikiのフォルダに入れる。必要に応じて「image」の中にある「eyecatch.jpg((対象ページに画像がない場合に変わりに使用するサムネイル画像))」を置き換える。 +「skin」フォルダ内の「card.css」の内容をpukiwiki.cssに追加する。 +PukiWikiの設定でマルチラインプラグインを許可する。 :配置の見本| ┣ image~ ┃ ┗ eyecatch.jpg~ ┣ skin~ ┃ ┗ pukiwiki.css ← card.cssの内容を追加~ ┗ plugin~ ┣ card.inc.php~ ┗ resize.php~ **プラグイン設定 [#o95a4685] |~定数 (PLUGIN_CARD_~)|~型|~初期値|~説明|h |BOLD:|CENTER:80|200||c |DEFAULT_COLUMN|int|1|デフォルトのカラム数| |CHANGE_LAYOUT_THRESHHOLD|int|3|レイアウトを切り替えるカラム数の閾値| |HIDE_SNIPPET_THRESHOLD|int|4|スニペットを非表示にするカラム数の閾値| |CONTAINER_WIDTH|string|'768px'|コンテナの幅をデフォルトで設定する&br;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|デフォルトで更新日を表示する| |FORCE_BASENAME|bool|false|デフォルトでベースネーム表示| |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]])&br;現状は標準URLかsプラグインを用いた短縮URLにのみ対応&br;例1:?034d2305ca -> \?([0-9a-f]{10})&br;例2:?&034d2305ca -> \?\&([0-9a-f]{10})| |REDIRECT_PLUGINS|string|'alias, redirect'|リダイレクト系プラグインのリスト&br;ページのソース取得中にリダイレクトされないようにするためのもの&br;現状は #plugin(page[,options]) ← この書式に当てはまるタイプにのみ対応| **使い方 [#pff666db] #card([1-6][,オプション]){{ [[リンク1]] [[リンク2]] ︙ or #ls #recent etc... }} カラム数1の場合は記述を省略可能。マルチラインを使用しない場合は引数の最後に改行なしでリンク (ブラケットネーム) を指定することでも使用できる。この際、指定するリンクが1つだけの場合はブラケットを省略してページ名だけで指定できる。 #card([オプション], ページ名 or [[リンク]]) **オプション [#pbf8daf4] 実際の表示は参考リンク先で確認を。 ***カラム数の指定 (1 - 6) [#k44f3e8f] 1から6の数字でカラム数を指定する。指定しない場合はデフォルトで1。~ カラム数が3以上で縦型のカードに切り替わり、4以上でコンパクト表示になる。 ***ベースネーム表示 (base) [#p7de6f91] 階層化されたページの場合、ベースネームのみを表示する~ 表示例:PukiWiki/1.4/Manual/Plugin/A-D → A-D ***スニペット・日付の非表示 (nosnippet, nodate) [#p8f8a41a] nosnippet = スニペット (本文の抜粋や見出し) の非表示~ nodate = 最終更新日時の非表示 ***指定した見出しの表示 (toc=) [#bdb8a6f0] カードのスニペットに本文の抜粋ではなくページの見出しを表示する。複数の見出しを表示することもでき、見出しの深さ、表示する見出しの開始位置と終了位置を指定が可能。 複数の見出しを表示する場合、スニペットは3行しか無いので、各見出しを読点でつなげた文に変換して出力する。 オプションの指定は以下のようにして行う。 :見出しすべてを表示する場合| toc :上からn番目の見出し| toc = n :見出しのx番目からy番目まで| toc = x : y --xとyには負の数を指定でき、例えば-1なら最後から1番目の見出しということになる --xが空欄の場合は一番最初、yが空欄なら一番最後が自動的に指定される ---例えば toc = 1 : 3 と toc = : 3 は同じ結果になる :見出しの深さの指定| toc = 1, 2, 3 | [その他の指定] --見出し指定の最初で1、2、3のいずれかを指定してバーティカルラインで区切ると深さの指定になる --例えば見出し2 (行頭に**, h3) の1から3を取得したい場合、toc = 2 | 1 : 3 となる ***カードの配置 (justify-content準拠) [#s0008c14] 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を弄ってもらう必要がある。 ***コンテナの幅 (width=) [#se65bf2a] 全てのカードを覆うコンテナの幅を指定する。指定しないはデフォルトで768px。~ 個別のカードの幅はCSSで制御しているため、コンテナ幅を変えてもカラム数が増えるだけでカード自体に変化はない。 ***クラス・スタイルの追加 (class=, style=) [#pc3ee762] コンテナにクラスやスタイルを追加する。複数クラスを追加する場合は半角スペースで区切る。~ 使用例:class=class1 class2 class3, style=color:red;height:400px; **キャッシュについて [#nbde6911] キャッシュは対象のページの更新日時がキャッシュの保存日時よりも新しい場合、もしくはキャッシュやサムネイルが見つからない場合に自動で更新される。 各ページのキャッシュには以下の内容が含まれている。 -ページ名 -ベースネーム -ページへの (相対) リンク -ページの最終更新日時 -サムネイル画像のパス -本文の抜粋 -見出しの一覧 ***キャッシュの管理機能 [#lfe9f2e6] ./?cmd=cardにアクセスする (アクション型で使用する) と現在保存されているキャッシュの一覧を見ることができる。 任意のキャッシュを選んで確認ボタンを押すとキャッシュの削除画面が、詳細を押すと各キャッシュ内容の詳細が表示される。キャッシュの削除には管理者パスワードが必要となる。 **更新情報 [#wb3bc9f2] -2022/05/28 --大幅なアップデート (v3.0~) を行ったためページ内容を更新。 **参考リンク [#b47ec956] -https://jpngamerswiki.com/?113d23d852 (配布元) **ライセンス [#d1c8444f] GPL v3