自作プラグイン/clipboard

2025-01-29 (水) 16:32:44

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

clipboard.jpg

ワンクリックでコピーさせるプラグイン

clipboard.inc.php
製作者kanateko
ライセンスGPLv3
バージョン1.0.1
動作確認PukiWiki 1.5.4 - 1.5.4
最終更新2024-01-29

指定した範囲のテキストをワンクリックでクリップボードにコピーさせるプラグイン。

コピー用のアイコンやボタンを表示し、それをクリックorタップでテキストもしくはWiki書式のソースをコピーすることができる。ソースのコピーは今のところブロック型でのみ使用できる。

  • アイコンorボタンをクリックしてテキストをコピーする
    • インライン型、ブロック型で使用可能
    • コピーしたことを通知するポップアップ有り
    • ブロック型の場合、ソースをコピーさせることもできる

ダウンロード

最新: GitHub

日付バージョン備考
2025-01-291.0.1
  • ソースコピー時に不要な改行が入らないよう修正
2025-01-221.0.0
  • 初版作成

セットアップ

  1. ダウンロードした「plugin-clipboard」の中身 (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

プラグイン設定

定数 (PLUGIN_CLIPBOARD_~)初期値説明
SHOW_MSGbooltrueコピー時にメッセージを表示するかどうか
CSSstringSKIN_DIR . 'css/clipboard.min.css'プラグイン用CSSのパス
JSstringSKIN_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がずれる問題もある。

備考

  • 実は2022年頃からプロトタイプ版のまま放置されていた (GitHub上にもあった) 。ふと思い出したのでちゃんと作り直した。

コメント

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