LogoMark.png

PukiWiki/Memo

PukiWiki活用メモ

PukiWiki

Notes

Login Required




編集記法覚書

公式のテキスト整形ルール

アンカー

上付き文字・下付き文字

default.ini.php 117行目付近 ユーザー定義ルールに以下の2つを追加

$line_rules = array(
  :
  "SUP{([^}]*)};" => '<span style="vertical-align:super; font-size:60%;">$1</span>',
  "SUB{([^}]*)};" => '<span style="vertical-align:sub; font-size:60%;">$1</span>',
);

以上の設定により、以下の表記が可能になります。

上付き:SUP{文字列}; 例) 2 SUP{8}; = 256  
下付き:SUB{文字列}; 例) - log SUB{2}; P

表示例:2 8 = 256  - log 2 P

下線

default.ini.php 117行目付近 ユーザー定義ルールに以下を追加

$line_rules = array(
  :
  "__(?!_)((?:(?!__).)*)__" => '<span style="text-decoration:underline;">$1</span>',
);

以上の設定により、以下の表記が可能になります。

下線:__アンダーライン__

表示例:アンダーライン

サイトマップを作るには

サイト全体のコレクションであれば「一覧」を応用。
必要なページの見出しをコレクションするには以下。

#ls2([ページ名],title) これを列挙




コマンド操作

アドレスバーで、(URL)/index.phpに続けて ?cmd=, ?plugin= など

コマンドで編集画面に入る(ボタンがない場合)

http://(URL)/index.php?cmd=edit&page=(ページ名)


ページの一覧を各ページの実ファイル名と共に表示

http://(URL)/index.php??cmd=filelist


添付の一覧を表示

http://(URL)/?plugin=attach

不要な添付ファイル(添付のバックアップ)はここから「詳細」をクリックして削除可能。

PukiWiki 暗号化テキスト生成

PukiWikiサイトであれば標準機能です。pukiwiki.ini.phpにパスワードを暗号化して記述する場合などに利用

http://(URL)/index.php?plugin=md5




デフォルトシステム

デバッグモードの利用

index.phpの9行目付近を変更

error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
//error_reporting(E_ALL); // Debug purpose

     ↓

//error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
error_reporting(E_ALL); // Debug purpose

参考:実際、その都度index.phpを書き換えるのは面倒。そこで上記を変更したファイルをdebug.phpとして置いておけば、必要に応じてURLを・・/debug.php?・・にすることでエラーをチェックできる。

クエリ文字列長について

pukiwiki.ini.php 42行目

日本語の長いページ名を扱う場合は、以下のように数値を修正する必要あり。

//define('PKWK_QUERY_STRING_MAX', 640); // Bytes, 0 = OFF
define('PKWK_QUERY_STRING_MAX', 1280); // Bytes, 0 = OFF

通常、この変更は必要ないが、長い名称のページの編集においてログインしようとした場合に、制限がかかる。QUERY STRING TOO LONG というエラーメッセージが出てログインできなくなるケースがある場合は、上記のように数値を大きく修正する必要あり。

WikiName(大文字小文字を混ぜた英文字列)を無効にするには

pukiwiki.ini.phpの「$nowikiname」を 「1」に設定

一部のWikiNameのみに適応したい場合は、大文字に当たる部分を全角で入力、または、以下のように数値参照文字を使う。

&#x57;orldWide

この書き方であれば、WikiName機能を無効にしてWorldWideと表示可。


編集時に ~ を使わずに改行をそのまま反映させたい

pukiwiki.ini.phpの以下の部分を変更

/////////////////////////////////////////////////
// 改行を反映する(改行を<br />に置換する)
$line_break = 0; → $line_break = 1に変更する。


「見出し」の右上の(↑)

見出し右上のナビゲータへのリンク(↑)を消去するには、
default.ini.php で

$top = $_msg_content_back_to_top  ; ← この行をコメントアウトして
$top = '';  ←このよう(シングルクオーテーション2つ)にする


「見出し」に自動生成されるダガー:†を消すには

アンカー機能を残しつつ、「†」が表示されないように変更するには
ja.lng.php で

//$_symbol_anchor   = '&dagger;'; ← この行をコメントアウトして
$_symbol_anchor   = ' ';   ←全角スペースを定義する


「見出し」に自動生成されるアンカーを無くすには

pukiwiki.ini.php内「Automatically add fixed heading anchor」の項目で

$fixed_heading_anchor = 0; 


ライセンス文字列 S_COPYRIGHT は

lib/init.php 内に情報あり

listのインデント設定

default.ini を編集

添付ファイルの上限サイズ設定(デフォルト1MBを16MBへ)

添付時に管理者パスワード入力を求めないようにするには

attach.inc.php 23行で

define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', TRUE);  → FALSEへ


添付の削除時にバックアップを作らないようにするには

attach.inc.php で以下のように設定するとよい。添付のバックアップはディスクを消費するので、作らない方がよい。

// 管理者が添付ファイルを削除するときは、バックアップを作らない
// PLUGIN_ATTACH_DELETE_ADMIN_ONLY=TRUEのとき有効
define('PLUGIN_ATTACH_DELETE_ADMIN_NOBACKUP', TRUE); // FALSE or TRUE


RENAME時に管理者パスワードを求めないように

rename.inc.php を以下のように変更

--- rename.inc.php.orig	Sat Jul 31 12:09:20 2004
+++ rename.inc.php	Fri Nov 26 18:16:52 2004
@@ -273,7 +273,7 @@
    }
  }
  $pass = rename_getvar('pass');
- if ($pass != '' && pkwk_login($pass))
+ if ($pass != '')
  {
     return rename_proceed($pages, $files, $exists);
  }
@@ -337,8 +337,7 @@
  <div>
   <input type="hidden" name="plugin" value="rename" />
   $input
-  {$_rename_messages['msg_adminpass']}
-  <input type="password" name="pass" value="" /> 
+  <input type="hidden" name="pass" value="dummy" />
   <input type="submit" value="{$_rename_messages['btn_submit']}" />
  </div>


RecentChangesコマンドで表示される件数

・・・/index.php?RecentChanges で最新の更新一覧が表示されます。
件数は、pukiwiki.ini.php 280行目付近 $maxshowの値で決まります。

// $whatsnew: Max number of RecentChanges
$maxshow = 100;


無視ページの設定

pukiwiki.ini.php:491行目付近

// Regex of ignore pages
$non_list = '^\:';

最終更新や一覧に表示させたくないページを設定する機能です。

無視ページに該当するものを検索時に表示するか

pukiwiki.ini.php:上記項目の下

// Search ignored pages
$search_non_list = 1;(検索対象となって表示される)

0にすると :config 等のシステムファイルは検索時にも無視されます。

無視ページに ignore を設定しても recent に出てしまう。

> cache/recent.dat を一旦削除すればOK




プラグイン開発

articleプラグインの別バージョン

投稿記事の下のコメント入力あり・なしは、プラグインファイル内の以下の部分で変更する必要がある。

define('PLUGIN_ARTICLE_COMMENT',1);  // 1:入れる 0:入れない

しかし、ユーザーサイドでコメント入力あり・なしを選択できるよう、プラグイン自体を別バージョンにして、article_plus などとして運用したい場合、以下の3箇所を変更することで別バージョンとして動かすことができる。

search

#lookup で Search を有効にするには、以下を0 に。(デフォルトは1)
ただし、コマンド検索が可能になるので、スパム攻撃受けやすくなる。

// Allow search via GET method 'index.php?plugin=search&word=keyword'
// NOTE: Also allows DoS to your site more easily by SPAMbot or worm or ...
define('PLUGIN_SEARCH_DISABLE_GET_ACCESS', 0); // 1, 0


環境設定

特定のネットワーク外からのアクセスを不可にするには

.htaccess内に以下の記述を追加

<Limit GET>
order deny,allow
deny from all
allow from 133.17.
</Limit>




デュアルシステム

index.php と member.php を用意して、異なる入り口に異なるスキンを適用

pukiwiki.ini.php

以下をコメントアウトして、pukiwiki.ini.php における SKIN_DIR 設定を無効化

// Directory settings II (ended with '/')
// Skins / Stylesheets
// define('SKIN_DIR', 'skin/');   ← ココ 85行目付近


index.php

以下のような記述を加えて、SKIN_DIR を認識させる

// Directory definition
// (Ended with a slash like '../path/to/pkwk/', or '')
define('DATA_HOME',	'');
define('LIB_DIR',	'lib/');
define('SKIN_DIR', 'skin/');  ← ココ 22行目付近(標準スキン)


member.php

以下のような記述を加えて、SKIN_DIR を認識させる

// Directory definition
// (Ended with a slash like '../path/to/pkwk/', or '')
define('DATA_HOME',	'');
define('LIB_DIR',	'lib/');
define('SKIN_DIR', 'skin_member/');  ← ココ 22行目付近(専用スキン)




その他

システムファイル :config

以下のようにして閲覧・編集可能

/path/to/index.php?:config
/path/to/index.php?:config/plugin/attach/mime-type


プラグインが動作しない

プラグイン名に大文字を使うと、サーバーによっては動かないことがある

fileName.inc.php → file_name.inc.php


閲覧認証が通らない場合にも、メニュー部分が表示されてしまう問題。

これらも表示されないようにするには、lib/auth.php で 以下のように、表示情報部分をコメントアウトし、echo で最小限のメッセージを表示するよう変更するとよい。

if ($exit_on_fail) {
  //$body = $title = str_replace('$1',
  //htmlsc(strip_bracket($page)), $title_cannot);
  //$page = str_replace('$1', make_search($page), $title_cannot);
  //catbody($title, $page, $body);
  echo "閲覧には正しいIDとパスワードが必要です";
  exit;
}

384行目付近





以下、古い情報




PHP8への対応

新バージョン PukiWiki 1.5.4 を導入

PukiWiki 1.5.4 は、PHP8.1 に対応




PHP7への対応

新バージョンの PukiWiki 1.5.1 を導入

プラグインのエラー

Parse error: syntax error, unexpected 'new' (T_NEW) in

PHP5からPHP7にバージョンを上げた際に上記のエラー
PHP7では新しいオブジェクトを参照渡しで代入ができない・・

$obj = & new AttachPages2($refer); 

を以下のように修正

$obj = new AttachPages2($refer);




PHP5.5への対応

新バージョンの PukiWiki 1.5.0 を導入

PHP5.4系で動かなくなる問題

PukiWiki 1.4.7の継続利用については、とりあえずは、以下の修正で動く
 

参考:http://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F349




PHPがCGIモードでBASIC認証が効かない場合




yesterdayのカウントが0になってしまう場合

plugin/couter.inc.php ファイル内86行目を以下のように修正する。

Kcaptchaで画像が表示されない

Flashが最前面にきてしまう問題の解決策

Flashオブジェクトは z-indexなどの指定を無視して、基本的にドキュメントの最前面に表示される。これを解決するにはFlashを埋め込む際、背景を透過する命令を書き加えればいい。

芸学サイトのトップのスライドについては、以下のとおり変更

PAGES

GUIDE

DATA

Last-modified: 2022-10-04 (火) 17:48:44