自作プラグイン/clipboard
2025-01-29 (水) 16:32:44
ワンクリックでコピーさせるプラグイン
clipboard.inc.php | |
---|---|
製作者 | kanateko |
ライセンス | GPLv3 |
バージョン | 1.0.1 |
動作確認 | PukiWiki 1.5.4 - 1.5.4 |
最終更新 | 2024-01-29 |
指定した範囲のテキストをワンクリックでクリップボードにコピーさせるプラグイン。
コピー用のアイコンやボタンを表示し、それをクリックorタップでテキストもしくはWiki書式のソースをコピーすることができる。ソースのコピーは今のところブロック型でのみ使用できる。
- アイコンorボタンをクリックしてテキストをコピーする
- インライン型、ブロック型で使用可能
- コピーしたことを通知するポップアップ有り
- ブロック型の場合、ソースをコピーさせることもできる
ダウンロード
最新: GitHub
日付 | バージョン | 備考 |
---|---|---|
2025-01-29 | 1.0.1 |
|
2025-01-22 | 1.0.0 |
|
セットアップ
- ダウンロードした「plugin-clipboard」の中身 (skinフォルダとpluginフォルダ) をPukiWikiのディレクトリに放り込む。
- pukiwiki.ini.phpを編集してマルチラインプラグインを許可する。
- define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 1); // 1 = Disabled
+ define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0); // 1 = Disabled
プラグイン設定
定数 (PLUGIN_CLIPBOARD_~) | 型 | 初期値 | 説明 |
---|---|---|---|
SHOW_MSG | bool | true | コピー時にメッセージを表示するかどうか |
CSS | string | SKIN_DIR . 'css/clipboard.min.css' | プラグイン用CSSのパス |
JS | string | SKIN_DIR . 'js/clipboard.min.js' | プラグイン用JSのパス |
使用方法
インライン型 &clipboard( [オプション] ){ <コピーさせる内容> }; ブロック型 #clipboard( [オプション] ){{ <コピーさせる内容> }}
オプション
- source
- Wiki書式のソースをコピーさせる。ブロック型でのみ使用できる。
- class =
- クラスを追加する。
使用例
アイコンをクリックすると、このテキストをコピーできます→
ブロック型。
オプションでsourceを指定しているので、
表示されたテキストではなくWiki書式の
ソースをコピーする。
#flex(400){{
ブロック型。
#-
オプションでsourceを指定しているので、
#-
表示されたテキストではなくWiki書式の
#-
ソースをコピーする。
}}
&clipboard{アイコンをクリックすると、このテキストをコピーできます→}; #clipboard(source){{{ #flex(400){{ ブロック型。 #- オプションでsourceを指定しているので、 #- 表示されたテキストではなくWiki書式の #- ソースをコピーする。 }} }}}
追加したい機能
- インラインでのソースのコピー
- PukiWikiの仕様上、インラインだと最後の引数が変換された状態で渡されるため面倒。
&clipboad(source,ソース);
このようにすれば出来ないこともないが、今度は引数でインライン型のプラグインを渡せなくなる。- javascriptで非同期通信して取得することも考えたが、そうすると今度は新規ページ作成時のプレビューで動作しない問題が出る。あとブロック型のマルチライン内にインライン型のプラグインを記述した場合に、連番のIDがずれる問題もある。
- PukiWikiの仕様上、インラインだと最後の引数が変換された状態で渡されるため面倒。
備考
- 実は2022年頃からプロトタイプ版のまま放置されていた (GitHub上にもあった) 。ふと思い出したのでちゃんと作り直した。
コメント
コメントはありません。 コメント/自作プラグイン/clipboard