Pukiwikiで入力ヘルパー導入

Pukiwikiで入力ヘルパー導入

記事一覧Pukiwikiで入力ヘルパー導入

Pukiwiki で文字の色などを指定するのが面倒なので、ブログでも流行のパレットやアイコン設置ツールバーを導入。当初、input_helper.inc.php を使おうと思っていましたが、どうやら作者のサイトが長い間ダウンしているみたいなので断念。

そこで、LunaTear というサイトで説明されていた、inputtoolbar.inc.php を使うことにしました。inputtoolbar.inc.php は PukiWiki Plus! のモジュールを改良して、プラグイン化したもののようです。

サイトを参考にして早速導入してみます。サイトでは Pukiwiki1.4.5をベースに説明されていますが、ここでは現在最新の Pukiwiki1.4.7 を使います。

LunaTear

[動作環境]
PukiWiki 1.4.7_notb
pukiwiki-1.4.7plus-u2-eucjp

まず、PukiWiki Plus! の最新版をダウンロードします。

[PukiWiki Plus!]
http://pukiwiki.cafelounge.net/plus/

次に Pukiwiki Plus! のモジュールを解凍して下記のファイルを抜き出します。
これを Pukiwiki と同じ階層にコピーします。
skin/assistant.js
skin/assistloaded.js
skin/gecko.js
skin/other.js
skin/winie.js
skin/default.js --> inputhelper.js に名前を変更

image/face/bigsmile.png
image/face/heart.png
image/face/huh.png
image/face/oh.png
image/face/sad.png
image/face/smile.png
image/face/star.gif
image/face/tear.png
image/face/umm.png
image/face/wink.png
image/face/worried.png

image/plus/adv31.png
image/plus/adv.png
image/plus/bg.png
image/plus/br.gif
image/plus/buttons.gif
image/plus/clip.png
image/plus/colors.gif
image/plus/comment.png
image/plus/easy.png
image/plus/ext.png
image/plus/hint.png
image/plus/home.png
image/plus/inn.png
image/plus/iplugin.gif
image/plus/ncr.gif
image/plus/outline_close.png
image/plus/outline_open.png
image/plus/paraedit.png
image/plus/referer.png
image/plus/trackback.png

次に、LunaTear のサイトから inputtoolbar.inc.php をダウンロードします。ダウンロードすると拡張子が txt になっているので、拡張子を消して inputtoolbar.inc.php に変更します。このファイルを Pukiwiki の plugin フォルダに入れる前に、Pukiwiki の設定を調整しておきます。

[1]
default.ini.php に画像の定義を追加します。
場所は下記のコメントがある連想配列の中です。
// Face marks, Japanese style
'\s(\(T\-T)'    => ' <img alt="$1" src="' . IMAGE_DIR . 'face/worried.png" />',
'\s(\(\^Q\^)'   => ' <img alt="$1" src="' . IMAGE_DIR . 'face/huh.png" />',
'\s(\(\^_\-)'   => ' <img alt="$1" src="' . IMAGE_DIR . 'face/wink.png"/>',
[2]
pukiwiki.ini.php で JavaScript の使用を許可します。
// PKWK_ALLOW_JAVASCRIPT - Allow using JavaScript
define('PKWK_ALLOW_JAVASCRIPT', 1);

※1が許可するです
これで、入力ヘルパーが使える状態になります。

(例)
#inputtoolbar

また、さらに全編集画面でヘルパーを使いたい場合はいくつか編集が必要です。
LunaTear のサイトにも書いてあるのでここでは diff の結果を載せておきます。
(Pukiwiki1.4.7でも前後のコードは一緒なので迷わないと思います)

既存ファイルが pukiwiki.skin.php、編集後が pukiwiki.skin.php.new とします。
pukiwiki.skin.php は Pukiwiki の skin フォルダにあります。
$ diff -u pukiwiki.skin.php pukiwiki.skin.php.new
--- pukiwiki.skin.php      2006-03-07 14:03:02.000000000 +0900
+++ pukiwiki.skin.php.new  2008-01-18 18:06:21.390625000 +0900
@@ -81,7 +81,7 @@
 <link rel="alternate" type="application/rss+xml" title="RSS" href="<?php echo $link['rss'] ?>" /><?php // RSS auto-discovery ?>

 <?php if (PKWK_ALLOW_JAVASCRIPT && $trackback_javascript) { ?> <script type="text/javascript" src="skin/trackback.js"></script><?php } ?>
-
+<?php if (PKWK_ALLOW_JAVASCRIPT) { ?><script type="text/javascript" src="<?phpecho SKIN_DIR?>inputhelper.js"></script><?php } ?>
 <?php echo $head_tag ?>
 </head>
 <body>
@@ -184,7 +184,7 @@
 <?php if ($notes != '') { ?>
 <div id="note"><?php echo $notes ?></div>
 <?php } ?>
-
+<?php if (PKWK_ALLOW_JAVASCRIPT) { ?><script type="text/javascript" src="<?php echo SKIN_DIR?>assistloaded.js"></script><?php } ?>
 <?php if ($attaches != '') { ?>
 <div id="attach">
 <?php echo $hr ?>
@@ -193,7 +193,7 @@
 <?php } ?>

 <?php echo $hr ?>
-
+<?php if (PKWK_ALLOW_JAVASCRIPT) { require_once(PLUGIN_DIR.'inputtoolbar.inc.php'); echo plugin_inputtoolbar_convert(); } ?>
 <?php if (PKWK_SKIN_SHOW_TOOLBAR) { ?>
 <!-- Toolbar -->
 <div id="toolbar">

参考カテゴリ

オススメ記事

最新の投稿やよく見られているのオススメ記事一覧です。

新しいぐるなびAPIで飲食店の店舗情報取得

過去に作成した「ぐるなびAPI」のプログラムや、ぐるなびの Web Service が新しくなったこともあり、API からの情報取得プログラムを書き換えてみました。 以前の記事は下記になります。 ・ ぐるなびAPIで...

WebAPI

>>記事を確認する

NginxのFastCGIキャッシュで白い画面がキャッシュされる

以前から、トップページにアクセスすると、レスポンスステータスは 200 で返ってくるのに、画面に何も表示されない現象が稀に見受けられたので調査してみました。 さすがに機会損失にも繋がるということで、...

Nginx

>>記事を確認する

Laravel5.4の認証ユーザーのパスワードハッシュについて

Laravel で用意されている認証モジュールを利用する際、ユーザーモデル(User.php)経由で登録されるパスワードのハッシュ方法について調べてみました。 Laravel 上ではパスワード文字列を bcrypt() のヘルパー...

PHP / Laravel

>>記事を確認する

Laravel5.4のコントローラコンストラクタでAuth::user()が取得できない

Laravel5.4 で認証を通したアクセスに対して、コントローラのコンストラクタでユーザモデルの値を取得しようと思ったら、なぜか Auth::user() の値が取得できなくて悩みました。 public function __construc...

PHP / PHPフレームワーク / Laravel

>>記事を確認する

NginxのHSTS(HTTP Strict-Transport-Security)の設定

「Let's Encrypt」のおかげで、全サイト SSL 化していますが、これまで nginx の設定では、http のアクセスがあった場合に https に 301 リダイレクトさせていました。 この場合、Googlebot に http のアク...

セキュリティ / Nginx / SSL

>>記事を確認する

GoogleMapのAPIキーの認証情報にリファラURL設定

昔は API キーを指定することで、JavaScript で GoogleMap が表示できていましたが、何年か前に、そのキーに対して認証情報の追加が推奨されました。 新規で発行する場合は必須になっているかもしれませんが...

Web全般 / WebAPI

>>記事を確認する

AmazonLinuxでApache2.4+php7.1+Laravel5.5

先日、「 VagrantでCentOS6.9のイメージを使う 」の通り、CentOS6.9 には Apache2.4 と PHP7.1 で Laravel のフレームワークが使える環境を構築しました。 ただ、将来的には AWS かつ Amazon Linux 上で動か...

Apache / PHP / AWS / PHPフレームワーク / Laravel

>>記事を確認する

AWSの無料利用枠内で複数サイトをサクサクと運営する方法

MySQLでテーブル定義を取得

似たような構成のテーブルを作る時に、今までは mysqldump コマンドで -d オプションを付けて実行していました。 これでも十分に要件は満たせるのですが、MySQL のコンソールからサクっと出したい場合もある...

データベース / MySQL

>>記事を確認する

Poderosa5の登場と文字色と背景色

新しい PC を購入したので、久し振りに Poderosa のインストールをしたのですが、Poderosa-Terminal として最新バージョンの 5 が 2016 年に登場していました。 これ、職場でもインストールしてみたのですが...

Windows / ツール

>>記事を確認する