自作プラグイン/tab

2024-12-07 (土) 00:27:39

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

tab.jpg

タブ切り替え表示プラグイン

tab.inc.php
製作者kanateko
ライセンスGPLv3
バージョン2.3.3
動作確認PukiWiki 1.5.4 - 1.5.4
最終更新2023-12-07

指定した領域をタブで表示切り替えできるようにするプラグイン。

  • このプラグインでできること
    • ページを任意の範囲で分割してタブ化
    • タブのラベルは自由に設定可能
    • 分割用のキーワードを変更可能 (デフォルト: #split or #-)

ダウンロード

最新: GitHub

日付バージョン備考
2024-12-072.3.3
  • タブ数が二桁以上のときに内容が正常に表示されない問題を修正
2024-10-252.3.2
  • groupの指定がない場合にstartの指定が効かない問題を修正
2.3.1
  • startで開始位置の指定に失敗した場合の処理を追加
2.3.0
  • 初期状態で表示するタブを指定するオプション (start) を追加
2024-09-222.2.0
  • ページ内のタブを同期させるオプション (gorup) を追加
2024-08-172.1.0
  • ラベルでPukiWiki記法が利用可能に
  • classオプションが機能していなかった問題を修正
2023-07-212.0.1
  • 入れ子のプラグインを探す際の正規表現を修正
2023-07-202.0.0
  • コードを全体的に改善
  • class指定オプションの追加
  • マルチラインプラグインの入れ子に対応
2022-02-081.3.0
  • 別タイプの書式を追加
1.2.0
  • コードを整理
  • ラベルの数が足りない場合のエラーを追加
2020-10-161.1.0
  • タブの最大数を3つ -> 無制限に変更
1.0.0
  • 全体的に手直しをして公開
2019-06-300.1.0
  • タブの個数が最大で3つのプロトタイプを作成

セットアップ

  1. ダウンロードした「plugin-tab」の中身 (skinフォルダとpluginフォルダ) をPukiWikiのディレクトリに放り込む。
  2. pukiwiki.ini.phpを編集してマルチラインプラグインを許可する。
- define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 1); // 1 = Disabled
+ define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0); // 1 = Disabled

使用方法

#tab{{
#:1個目のタブの表示名
1個目のタブに表示する内容
#:2個目のタブの表示名
2個目のタブに表示する内容
#:3個目のタブの表示名
3個目のタブに表示する内容
︙
}}

もしくは

#tab(1個目のタブの表示名,2個目のタブの表示名,3個目のタブの表示名,...){{
1個目のタブに表示する内容
#-
2個目のタブに表示する内容
#-
3個目のタブに表示する内容
#-
︙
}}

オプション

class =
クラスを追加する。
group =
グループ名を設定する。グループ名を設定したタブを切り替えると、同じグループ名の他のタブも切り替わる。switchプラグインと同等の機能。
start =
初期状態で表示するタブを指定する。数字、もしくは正規表現で指定できる。groupと併用した場合、それ以降の同じグループのタブにも適用される。

使用例

includexプラグインと組み合わせ

<details>及び<summary>タグを使用して、任意の範囲を折りたたんで表示できるプラグイン。
regionプラグインの代替として作成。
なおIEではdetailsが未対応なので折りたたまれない。

このプラグインでできること

  • 見出し (summary) の指定
    • 見出しの色変更
    • 見出しのサイズ変更
  • 展開した状態で表示

slickを利用した画像スライドショープラグイン
添付した画像を指定してスライドショーに追加できる

slickの設定やcssを弄ることで様々なデザインのスライドショーを表示可能
現在のプラグインの設定は最もシンプルなものにしてある

  • このプラグインでできること
    • 添付画像の表示
    • 自動再生のON/OFF
    • スライド表示時間の変更

Twitterのタイムラインや特定のツイートを埋め込んで表示するプラグイン。
プラグインを探していた当時、使えるプラグインが残っていなかったため自作。

  • このプラグインでできること
    • 指定ユーザーのタイムラインを表示
    • 特定のツイートを表示
    • テーマの変更 (明/暗)
    • 幅と高さの変更
    • 会話形式の非表示

既存のプラグイン(pukiwiki:自作プラグイン/youtube.inc.php)だと機能が少なかったため、勉強も兼ねて一から新しく作ったもの。
iframeを使用するので要PukiWiki 1.5.2以上。
オプションで様々なパラメータを指定することができ、複数タイプの動画リストにも対応している。

  • このプラグインでできること
    • YouTube動画の埋め込み (iframe)
    • 再生リストの埋め込み (自動判別)
    • 指定ユーザーの動画リスト埋め込み
    • 指定キーワードの動画リスト埋め込み
    • 動画サイズの指定 (何通りか指定方法あり)
    • 自動再生のON/OFF
    • ループ再生のON/OFF
    • 再生開始位置の指定
    • 再生終了位置の指定
    • 再生リストの開始位置の指定
includexプラグインと組み合わせ
#tab{{
#:expand.inc.php
#includex(自作プラグイン/expand,section=(num=1),num=12:,permalink=>>expand.inc.php)
#:slideshow.inc.php
#includex(自作プラグイン/slideshow,section=(num=1),num=9:,permalink=>>slideshow.inc.php)
#:twitter.inc.php
#includex(自作プラグイン/twitter,section=(num=1),num=8:,permalink=>>twitter.inc.php)
#:youtube.inc.php
#includex(自作プラグイン/youtube,section=(num=1),num=8:,permalink=>>youtube.inc.php)
}}

旧書式を使用した場合

#tab(expand.inc.php,slideshow.inc.php,twitter.inc.php,youtube.inc.php){{
#includex(自作プラグイン/expand,section=(num=1),num=2:,permalink=>>expand.inc.php)
#-
#includex(自作プラグイン/slideshow,section=(num=1),num=2:,permalink=>>slideshow.inc.php)
#-
#includex(自作プラグイン/twitter,section=(num=1),num=2:,permalink=>>twitter.inc.php)
#-
#includex(自作プラグイン/youtube,section=(num=1),num=2:,permalink=>>youtube.inc.php)
}}

追加したい機能

  • 特になし

備考

  • 新書式はラベルとコンテンツの関連性がよりわかりやすくなることを期待して追加した。

コメント

最新の10件を表示しています。 コメントページを参照

  • 機能提案
    ・tabプラグイン中で複数行プラグインの使用。
    ・タブの項目名での&refプラグインの使用。 -- 匿名 2024-12-02 (月) 18:25:06
    • どちらも現バージョンで既に可能ですね。ただ、旧書式だと項目名にプラグインを含めることは出来ません。 -- kanateko 2024-12-02 (月) 22:57:25
    • includeと共に使えば複数行プラグインも使えました。ありがとうございます。 -- 匿名 2024-12-04 (水) 08:55:21
      • 差分などでこのページの「使用例」の部分のソースを見ていただければ分かるかと思いますが、include等を使用せずとも入れ子で複数行プラグイン (tabプラグイン自身も含む) を使用することが出来ます。 -- kanateko 2024-12-04 (水) 15:11:45