自作プラグイン/tab

2023-07-21 (金) 09:01:03

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

tab.jpg

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

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

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

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

ダウンロード

最新: GitHub

※現在の配布バージョンは1.3.0

日付バージョン備考
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. ダウンロードした「tab.inc.php」をpluginフォルダに入れる。
  2. skin/pukiwiki.cssに以下の記述を追加。
    .plugin-tab {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin: 15px 5px;
    }
    
    .tab-label {
      font-weight: bold;
      min-width: 100px;
      background: rgba(255, 255, 255, 0.1);
      border: 1px solid rgba(98, 98, 98, 0.3);
      border-bottom-color: rgba(98, 98, 98, 1);
      border-radius: 4px 4px 0 0;
      padding: 10px 5px;
      margin-bottom: 10px;
      order: -1;
      flex: 1;
      text-align: center;
    }
    
    .tab-content {
      width: 100%;
      display: none;
    }
    
    .tab-switch {
      display: none;
    }
    .tab-switch:checked + .tab-label {
      background: transparent;
      border: 1px solid rgba(98, 98, 98, 1);
      border-bottom: none;
    }
    .tab-switch:checked + .tab-label + .tab-content {
      display: block;
    }
    

使用方法

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

もしくは

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

使用例

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)
}}

追加したい機能

  • 特になし

備考

  • 新書式はラベルとコンテンツの関連性がよりわかりやすくなることを期待して追加した。
  • v2.0.0は動作にPHP8以降が必要なため、配布は一旦保留。

コメント

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