#author("2019-12-19T13:30:48+00:00","default:sagasite","sagasite")
#nofollow
#norelated

#contents

* PukiWiki [#kf4eef2a]
- http://pukiwiki.sourceforge.jp/
- http://sourceforge.jp/projects/pukiwiki/
- Pukiwiki-dev - http://pukiwiki.sourceforge.jp/dev/

* プラグイン [#q13acaa0]
PukiWikiインストール後に入れるプラグイン

** HTML [#c9486433]
- html.inc.php
%% http://lsx.sourceforge.jp/?Plugin%2Fhtml.inc.php %%
http://pukiwiki.sonots.com/?Plugin%2Fhtml.inc.php
本文中にHTMLコードを記述できるようにするプラグイン。

- 書式
 #html{{
     <b>html tag</b>
 }}

** コードハイライト [#lcbff237]
- codehighlight.inc.php
http://pukiwiki.sourceforge.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Fcodehighlight.inc.php
ソースコードを記述するときに、ハイライト表示にできるプラグイン。

-バグ修正版
http://www.ruche-home.net/?%A5%C0%A5%A6%A5%F3%A5%ED%A1%BC%A5%C9#pukiwiki-code
上記プラグインのバグ修正版

- 書式
--ブロックプラグイン
 #code[([言語名] {,[menu|nomenu], [number|nonumber],
     [outline|nooutline], [icon|noicon]}, ファイル名)|)]{{
     ソースコード
 }}
--コマンド
 ?plugin=code &page=ページ名

--ページに記述
 #code[(言語名,オプション)]{{
     ソースコード
 }}

--ファイル取り込み
 #code([言語名][,オプション],ファイル名)
 #code([言語名][,オプション],URL)

--例
#code(php){{
<?php
    echo "hoge";
?>
}}

*** オプション値 [#qca40a15]
http://codeincphp.sourceforge.jp/?Code%2FMan%2Fr0.6.0

- オプションは複数指定する事が出来ます。
- 順序は問いません。
- オプションは無くても動作します。
- その場合はデフォルトの動作になります。

| menu / nomenu | アウトライン制御メニューの表示(全ての開閉) |
| number / nonumber | 行番号の表示 |
| outline / nooutline | ブロックアウトライン(ブロックの表示/非表示) |
| literal / noliteral | 文字列アウトライン(複数行にわたる文字列の表示/非表示を切替え) |
| comment / nocomment | コメントアウトライン(複数行にわたるコメントの表示/非表示を切替え) |
| icon / noicon | ファイル名の先頭のアイコン |
| link / nolink | オートリンクそれぞれ no が付く場合は無効。付かない場合は有効。 |

初期状態では全てのオプションが有効になっています。
デフォルトの状態を変更するにはファイル code.inc.php の 11行以降の部分のdefine文を変更して下さい。

***ムスタッシュタグの取り扱い方 [#pc7fd3a7]
(2019-08-10 追記)

引用したいコードの中に、Vue.jsのムスタッシュタグ(「{{」「}}」)のような記号があった場合、上記の書き方では表示が崩れてコードハイライト表示が正常に動作しません。
解決策は、#codeの開始記号「{{」と終了記号「}}」を変更することです。
「{」と「}」の数を増やして、#codeの開始記号を「{{{」、終了記号を「}}}」と変更すれば、引用するコード中に「}}」があっても正常にコードハイライト表示がなされます。

-(参考)[[自作プラグイン/codehighlight.inc.php - PukiWiki-official>https://pukiwiki.osdn.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2Fcodehighlight.inc.php]]
>
-ソースに「}}」があるとダメですね。ちょっと改造が必要ですね。 -- Matthew? 2007-03-10 (土) 15:12:58
-ソースに「}}」がある場合は{{{ソース内容}}}と括りを増やせばいけるはず? -- 2007-03-10 (土) 15:26:23
-lib/convert_html.php を読んでいたら括弧の数は幾つでもよいみたいですね。確かに増やすと表示されました。解決解決。ありがとうございました。 -- Matthew? 2007-03-10 (土) 15:33:44

 #code[(言語名,オプション)]{{{
    ソースコード
 }}}

 #code[(言語名,オプション)]{{{{
    ソースコード
 }}}}

このように「{」「}」の数を増やせばOKでした。

** URLの短縮 [#u8895d65]
(2019-12-19 追記)

-自作プラグイン/s.inc.php - PukiWiki-official https://pukiwiki.osdn.jp/?%E8%87%AA%E4%BD%9C%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3/s.inc.php
-PukiWikiのクソ長いURLをURL短縮ライブラリを組み込んで解決する! | SEの良心 https://dajya-ranger.com/pukiwiki/embed-url-shortener/

* データベースを使ったアクセスカウンター [#g6bad6c5]
PukiWikiのアクセスカウンターのプラグインは、アクセスデータをファイル形式で保存しており、ときどきアクセスデータが壊れることがありました。
=アクセス数がゼロにリセットされてしまう、等。
=高負荷になると、ファイルの書き換えでエラーが生じるのかな?

ファイルではなく、データベースにアクセスデータを保存する独自ライブラリを作成してみました。

[[MySQLを使ったpukiwiki用アクセスカウンター]]

本当は、
-MySQL4.0以下の場合(mysql関数を使用)
-MySQL4.1以上の場合(mysqli関数を使用)
-SQLiteの場合(PDOを使用)
で作り分けた方が良いだろう。
DBの違いを吸収するために、PDOを使ったスクリプトが一つあれば十分かな?

* PukiWikiのPHP5.4対応 [#gf063122]
PukiWiki 1.4.7が、PHP5.4で動作しなかったので、修正しました。

(参考)
http://kohada.2ch.net/test/read.cgi/php/1269602282
http://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F349
http://imapsoopy.ddo.jp/tarusoopy/wordpress/2012/05/03/pukiwiki-for-php5-4-x/
http://nowsky.dip.jp/digiloog/2012/12/article_1018/
http://nowsky.dip.jp/wiki/?PukiWiki%2Ferror

「pukiwiki/lib」フォルダ内にある5つのファイルを修正しました。
- /pukiwiki/lib/config.php
- /pukiwiki/lib/convert_html.php
- /pukiwiki/lib/func.php
- /pukiwiki/lib/init.php
- /pukiwiki/lib/link.php

** デバッグ方法 [#ce23ada8]
[[PHPをCLIで実行]]という方法で、デバッグしました。

修正箇所は、以下の形になってます。
- コメントアウトした行 → 「// -」
- 追加した行 → 「// +」

(例) /pukiwiki/lib/config.php の42行目付近
#code(php){{
//  $obj = & new ConfigTable(''); // -
    $obj = new ConfigTable(''); // +
}}

** 修正後のファイル [#n0e5f92b]
+ このページ下部に添付してある「[[pukiwiki-1.4.7_notb_utf8-PHP5.4_debug.zip>http://program.sagasite.info/wiki/index.php?plugin=attach&pcmd=open&file=pukiwiki-1.4.7_notb_utf8-PHP5.4_debug.zip&refer=PukiWiki]]」をダウンロードします。
+ 解凍して出てくる「lib」フォルダ内に、修正後のファイルが5つあります。
+ 念のため、修正前のファイルをバックアップしてから、修正後のファイルを設置してください。

** 注意 [#we244e3e]
修正方法および修正ファイルは、参考情報として提供させていただきます。
参考情報の利用によって生じるいかなる問題も、当方では責任を負えません。
修正は、各自の自己責任において実施してください。
よろしくお願いします。

(このページの短縮URL → http://goo.gl/i7p9S)
(Googleのクッションページを表示させる場合は、短縮URLの末尾に「.info」を付けてください → http://goo.gl/i7p9S.info)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS