PyukiWiki? - 自由にページを追加・削除・編集できるWebページ構築CGI
"PyukiWiki?" ver 0.2.1-beta1 $$
Copyright (C) 2005-2012 PukiWiki? Developers Team
Copyright (C) 2004-2012 Nekyo (Based on PukiWiki?, YukiWiki?)
License: GPL version 3 or (at your option) any later version
and/or Artistic version 1 or later version.
Based on YukiWiki? http://www.hyuki.com/yukiwiki/
and PukiWiki? http://pukiwiki.sfjp.jp/
URL:
http://pyukiwiki.info/
MAIL:
ななみ <nanami (at) daiba (dot) cx> (注:バーチャル女の子です)
$Id: README.wiki,v 1.1 2012/08/16 01:24:26 papu Exp $
This text file written UTF-8 Codeset
目次
最新情報
以下のURLで最新情報を入手してください。
http://pyukiwiki.info/ 概要
PyukiWiki?(ぴゅきうぃき)はハイパーテキストを素早く容易に追加・編集・削除できるWebアプリケーション(WikiWikiWeb)です。テキストデータからHTMLを生成することができ、Webブラウザーから何度でも修正することができます。PyukiWiki?はperl言語で書かれたスクリプトなので、多くのCGI動作可能なWebサーバー(無料含む)に容易に設置でき、軽快に動作します。
なお、更に軽快に動作をさせたいのであれば、かなり最適化されたNekyo氏のバージョンをご利用下さい。
http://sfjp.jp/projects/pyukiwiki/releases/?package_id=4436
ライセンス
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.このプログラムはフリーソフトウェアです。それを再配布し、かつ、またはPerl自体と同じ条件の下でそれを修正することができます。
PyukiWiki?は、GPL3もしくはArtisticライセンスの元で配布されます。自由に利用し、自由に配布し、自由に改造し、それを再配布して構いません。
ただし、原版と同名のパッケージとして名乗ることを禁止します。詳しくは、下記のURL,または、インストール済のPyukiWiki?のwiki文からご確認下さい。
(原版と異なれば、PyukiWiki? TurboR 等のような原版の名称を含む命名であれば構いません)
同梱しているライブラリには、一部MITライセンスの物が含まれますがこちらは適用しません。
寄付について
開発環境強化、継続的な開発の為に、寄付をお願いしています。
vector シェアレジ、銀行振り込みに対応しています。
寄付のうち、vector シェアレジから受け取った金額のうち、5%を、少ないながらも東日本大震災への寄付金として準備致します。
動作環境
PyukiWiki?の動作環境は以下のとおりです。- サーバー
LinuxまたはFreeBSD、Solaris等 *NIX環境、MacOS X (未検証)、Windows (一部制限があります)
- CGIの動作し、Perl5.8.1(なるだけ)以降が動作するWebサーバー
Apache等Webサーバー、perlも存在するLAMP等環境
なお、Perl 5.6以前に関しては現バージョンでは未サポートです。
最新のPerl5.10系及び5.12系、5.14系、5.16系でも動作確認済みです。 - インストール容量
full版はインストール時に3Mバイト、compact版はインストール時に2Mバイト必要です。 - 必要なモジュール
最低でも、CGI.pmがサーバーサイドでインストールされている必要がありますが、ユーザーサイドでも導入可能です。 - compact版の必須条件
Jcode.pm、Time::Localがインストールされている必要があります。
パッケージについて
- -full
通常はこちらをインストールします。 - -compact
サーバーの容量が少ない場合、こちらを導入してみて下さい。
以下の制限があります。 - あいまい検索,sitemap,showrss,bugtrack,perlpod,settingがない
- 管理プラグイン(listfrozen,server,servererror,versionlist)がない
- PukiWiki?互換ダミープラグインがない
- Explugin lang, setting, urlhack, punyurl等多数ない
- 添付ファイルは一部の圧縮ファイル、画像以外できません。
- 英語関係ファイルがない
- バックアップができない
- Jcode.pm、Time::Localがサーバーにインストールされている必要がある
- その他、多くの制限事項がある
- -update-full, -update-compact
アップデート用のファイルです。
初期wiki、及び .htaccess ファイルがありません。
- -devel
PyukiWiki?プラグイン、及びコア開発に必要なツールが揃っています。ドキュメントのpodが付属しています。
インストール時に約7Mバイトを使用します。 - ???-utf8
UTF8版です。他のコードセットは使用できません。
また、UTF8版ではないバージョンとは互換性がありません。
ただし、従来のwikiページを移行する為の管理者向けプラグイン convertutf8 が全バージョンに付属しています。
はじめに
index.cgiの一行目をあなたのサーバに合わせて修正します。
#!/usr/local/bin/perl
#!/usr/bin/perl
#!/opt/bin/perl
等
Windows サーバーでは、
#!c:/perl/bin/perl.exe
#!c:\perl\bin\perl.exe
#!c:\perl64\bin\perl.exe
を設定しても良いでしょう。
pyukiwiki.ini.cgi の変数の値を修正します。
「ファイル一覧」にあるファイルをサーバに転送します。
転送モードやパーミッションを適切に設定します。通常は、お使いのFTPソフトの自動認識で構いませんので、index.cgi だけパーミッションを設定すれば、すぐに動作可能な場合もあります。
ブラウザでサーバ上の index.cgiのURLにアクセスします。
アクセスをしたら、AdminPage (?cmd=admin) へ行き、すぐに、管理者パスワードを変更して下さい。ファイル一覧
ここでのファイル一覧は、最新の一覧が反映されていない可能性があります
説明文
以下のファイルは、Webサーバに転送する必要はありません。
+-- README.txt 解説文書(このファイル)
+-- COPYRIGHT.txt GNU GENERAL PUBLIC LICENSE(原文)
+-- COPYRIGHT.ja.txt GNU GENERAL PUBLIC LICENSE(日本語訳)
CGI群
以下のファイルはCGIが実行できるディレクトリにFTPします。
* と記載されているファイルは、コンパクト版にはありません。
転送モード パーミッション 説明
+-- index.cgi TEXT 755 (rwxr-xr-x) CGIwrapper
+-- pyukiwiki.ini.cgi TEXT 644 (rw-r--r--) 定義ファイル
+-- lib 755 (rwxr-xr-x) 使用モジュール群
+-- wiki.cgi TEXT 644 (rw-r--r--) CGI本体
+-- aguse.inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- antispam.inc.pl TEXT 644 (rw-r--r--) Exプラグイン
+-- antispamwiki.inc.. TEXT 644 (rw-r--r--) Exプラグイン
+-- authadmin_..inc.pl TEXT 644 (rw-r--r--) Exプラグイン
+-- autometa....inc.pl TEXT 644 (rw-r--r--) Exプラグイン
+-- google_an...inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- iecompati...inc.pl TEXT 644 (rw-r--r--) Exプラグイン
+-- lang.inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- linktrack.inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- logs.inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- punyurl.inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- setting.inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- slashpage.inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- urlhack.inc.pl* TEXT 644 (rw-r--r--) Exプラグイン
+-- Algorithm 755 (rwxr-xr-x) ディレクトリ
| +-- Diff.pm TEXT 644 (rw-r--r--) 差分用
| AWS * 755 (rwxr-xr-x) ディレクトリ
| |-- browsers.pm* TEXT 644 (rw-r--r--) アクセス解析定義ファイル
| |-- domains.pm* TEXT 644 (rw-r--r--) (リリース版のみ)
| |-- operating_...* TEXT 644 (rw-r--r--)
| |-- robots.pm* TEXT 644 (rw-r--r--)
| +-- search_eng...* TEXT 644 (rw-r--r--)
+-- Digest* 755 (rwxr-xr-x) ディレクトリ
| +-- Perl* 755 (rwxr-xr-x) ディレクトリ
| +-- MD5.pm* TEXT 644 (rw-r--r--) md5 計算用
+-- File 755 (rwxr-xr-x) ディレクトリ
| |-- MMagic.pm TEXT 644 (rw-r--r--) ファイル種別監査用
| |-- magic.txt* TEXT 644 (rw-r--r--) Magicファイル(リリース版のみ)
| +-- magic_compa..**TEXT 644 (rw-r--r--) Magicファイル(コンパクト版のみ)
+-- HTTP 755 (rwxr-wr-x) ディレクトリ
| +-- Lite.pm TEXT 644 (rw-r--r--) HTTPクライアント
+-- IDNA* 755 (rwxr-wr-x) ディレクトリ
| +-- Punycode.pm* TEXT 644 (rw-r--r--) recent.inc.plで使用
+-- Jcode* 755 (rwxr-wr-x) ディレクトリ
| +-- Unicode* 755 (rwxr-wr-x) ディレクトリ
| | +-- Contants.pm*TEXT 644 (rw-r--r--) Jcode.pm で使用
| | +-- NoXS.pm* TEXT 644 (rw-r--r--) Jcode.pm で使用
| |-- _Classic.pm* TEXT 644 (rw-r--r--) Jcode.pm で使用
| |-- Contants.pm* TEXT 644 (rw-r--r--) Jcode.pm で使用
| |-- H2Z.pm* TEXT 644 (rw-r--r--) Jcode.pm で使用
| |-- Tr.pm* TEXT 644 (rw-r--r--) Jcode.pm で使用
| +-- Unicode.pm* TEXT 644 (rw-r--r--) Jcode.pm で使用
+-- Nana 755 (rwxr-xr-x) ディレクトリ
| |-- Cache.pm TEXT 644 (rw-r--r--) キャッシュモジュール
| |-- File.pm TEXT 644 (rw-r--r--) ファイルアクセスモジュール
| |-- GZIP.pm* TEXT 644 (rw-r--r--) gzip圧縮モジュール
| |-- HTTP.pm TEXT 644 (rw-r--r--) HTTPクライアント
| |-- Lock.pm TEXT 644 (rw-r--r--) ファイルロック用
| |-- Logs.pm* TEXT 644 (rw-r--r--) アクセスログ解析用
| |-- Mail.pm TEXT 644 (rw-r--r--) メール送信用
| |-- Pod2Wiki.pm* TEXT 644 (rw-r--r--) pod→wiki変換モジュール
| |-- Search.pm* TEXT 644 (rw-r--r--) あいまい検索用
| |-- YukiWikiDB.pm TEXT 644 (rw-r--r--) YukiWikiDB
| +-- YukiWikiDB_G..* TEXT 644 (rw-r--r--) gzip圧縮版YukiWikiDB
+-- Time 755 (rwxr-wr-x) ディレクトリ
| +-- Local.pm TEXT 644 (rw-r--r--) recent.inc.plで使用
+-- Yuki 755 (rwxr-xr-x) ディレクトリ
|-- DiffText.pm TEXT 644 (rw-r--r--) 差分用
|-- RSS.pm TEXT 644 (rw-r--r--) RSS用
+-- YukiWikiDB.pm TEXT 644 (rw-r--r--) オリジナルのYukiWikiDB
参照ファイル
以下のファイルは、pyukiwiki.ini.cgi 内の変数 $::data_homeで指定するディレクトリに転送します。詳しくは pyukiwiki.ini.cgi を参照して下さい。
+-- backup 777 (rwxrwxrwx) バックアップ保存用ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
+-- counter 777 (rwxrwxrwx) カウンタ値保存用ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
+-- diff 777 (rwxrwxrwx) 差分保存用ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
+-- info 777 (rwxrwxrwx) 情報保存用ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
+-- plugin 777 (rwxrwxrwx) プラグイン用ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
+-- resource 755 (rwxr-xr-x) リソース用ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
| +-- すべてのファイル TEXT 644 (rw-r--r--) リソースファイル
| +-- conflict.ja.txt TEXT 644 (rw-r--r--) 更新の衝突時のテキスト
+-- wiki 777 (rwxrwxrwx) ページデータ保存用ディレクトリ
+-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
※バックアップ保持用ディレクトリは compactバージョンにはありません。
外部公開ファイルファイル
以下のファイルは、pyukiwiki.ini.cgi 内の変数 $::data_pubで指定するディレクトリに転送します。詳しくは pyukiwiki.ini.cgi を参照して下さい。
転送モード パーミッション 説明
+-- attach 777 (rwxrwxrwx) 添付保存用ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
+-- cache 777 (rwxrwxrwx) 一時ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
+-- image 755 (rwxr-xr-x) 画像保存用ディレクトリ
| +-- index.html TEXT 755 (rwxr-xr-x) 一覧表示防止用
+-- skin 755 (rwxr-xr-x) スキン用ディレクトリ
+-- pyukiwiki.skin.ja.cgi 644 (rw-r--r--) スキンファイル
+-- default.ja.css 644 (rw-r--r--) 表示用 css
+-- print.ja.css 644 (rw-r--r--) 印刷用 css
+-- blosxom.css 644 (rw-r--r--) blosxom 用 css
+-- instag.js 644 (rw-r--r--) 拡張編集用 JavaScript
+-- common.ja.js 644 (rw-r--r--) 共通使用JavaScript
+-- index.html 644 (rw-r--r--) 一覧表示防止用
パーミッション設定のTIPS
一部ユーザー権限で動作するWebサーバーの場合、「とりあえず」index.cgiのパーミッションを 701 (rwx-----x) にすることで動作します。その他、セキュリティーを強化したい場合は、各ディレクトリを以下のように設定します。
+-- attach 701 (rwx-----x) 添付保存用ディレクトリ
+-- backup 700 (rwx------) バックアップ保存用ディレクトリ
+-- cache 701 (rwx-----x) 一時ディレクトリ
+-- counter 700 (rwx------) カウンタ値保存用ディレクトリ
+-- diff 700 (rwx------) 差分保存用ディレクトリ
+-- image 701 (rwx-----x) 画像保存用ディレクトリ
+-- info 700 (rwx------) 情報保存用ディレクトリ
+-- lib 700 (rwx------) 使用モジュール群
+-- plugin 700 (rwx------) プラグイン用ディレクトリ
+-- resource 700 (rwx------) リソース用ディレクトリ
+-- skin 701 (rwx-----x) スキン用ディレクトリ
+-- wiki 700 (rwx------) ページデータ保存用ディレクトリ
パーミッション設定のTIPS
一部ユーザー権限で動作するWebサーバーの場合、「とりあえず」index.cgiのパーミッションを 701 (rwx-----x) にすることで動作します。その他、セキュリティーを強化したい場合は、各ディレクトリを以下のように設定します。
+-- attach 701 (rwx-----x) 添付保存用ディレクトリ
+-- backup 700 (rwx------) バックアップ保存用ディレクトリ
+-- cache 701 (rwx-----x) 一時ディレクトリ
+-- counter 700 (rwx------) カウンタ値保存用ディレクトリ
+-- diff 700 (rwx------) 差分保存用ディレクトリ
+-- image 701 (rwx-----x) 画像保存用ディレクトリ
+-- info 700 (rwx------) 情報保存用ディレクトリ
+-- lib 700 (rwx------) 使用モジュール群
+-- plugin 700 (rwx------) プラグイン用ディレクトリ
+-- resource 700 (rwx------) リソース用ディレクトリ
+-- skin 701 (rwx-----x) スキン用ディレクトリ
+-- wiki 700 (rwx------) ページデータ保存用ディレクトリ
CSSを編集したければ?
CSSはyuicompressorで圧縮されています。その為、編集しずらいと思いますので、 編集をするのであれば、*.css.orgを参照して下さい。
再圧縮するには、こちら(英語)をご覧下さい。
http://developer.yahoo.com/yui/compressor/
JavaScript?を編集したければ?
JavaScript?は、yuicompressor、または、Packer Javascript で圧縮されています。
その為、編集しずらいと思いますので、-devel 版をダウンロードの上 *.js.srcを参照して下さい。
再圧縮に関しましては、DEVEL版の説明書をご覧下さい。
もし動かなければ?
パーミッションが正しいかどうか確認して下さい。
サーバー提供会社、プロバイダ奨励のパーミッションをなるだけ優先して下さい。それでもだめなら.htaccessをまず削除してみて下さい。
特に、attach/.htaccess, image/.htaccess, skin/.htaccessの削除を忘れないで下さい。一部のプロバイダーでは、設定に工夫が必要です。
もしかしたら、OSがWindows系の場合がありますので、適切な設定をして下さい。CGI.pmが導入されてないサーバーでは
CGI.pmが導入されていないサーバーでは、別途配布されているCGI.pm.zipを解凍して、lib 以下に置いて下さい。 http://pyukiwiki.info/PyukiWiki/Download からダウンロードできます。
UTF8にしたら文字化けする?PukiWiki?宛てのInterWiki?が正常ではない?
perl5.8.0以前のバージョンでかつサーバー上にJcodeがインストールされていません。代替のJcode.pm 0.88をインストールして下さい。
@@BASEURL/PyukiWiki?/Download からダウンロードできます。
一部の無料サーバーにおきまして
一部の無料サーバーでは、EUC版、UTF8版、もしくは双方とも文字化けする可能性があります。サーバーに仕様とも考えられますので、新たに別の無料サーバーをご利用されることをお勧めします。管理者ページに入れなくなった。凍結できなくなった。
パスワードを、以下の方法で初期化できます。info/setup.ini.cgi をダウンロードします。
末尾に、以下を追加します。
$::adminpass = crypt("pass", "AA");
1;
アップロードします。
info/setup.ini.cgi が存在しなければ、新規作成をして、そのままアップロードして下さい。
アップデート版においての追記
アップデート版でも、ルートフォルダ(ディレクトリの)「pyukiwiki.ini.cgi」が上書きされるため、アップデート前に必ずリネームして下さい。
また、こちらがお勧めですが、info/setup.ini.cgi にpyukiwiki.ini.cgi の変更部分を記述すれば、スムーズにアップデートできるかと思います。
?cmd=setupeditorからも、編集することができます。
簡単なFAQ
- PyukiWiki?の作者が変ったのですか?
- ×→いいえ、変ったのではなく追加です。
現状におきましては、原作者のNekyo氏は、PyukiWiki?としては残念ながら音信普通となり、開発を停止しています。 - PyukiWiki?の動作が重いのですが
- compact版にすると多少は軽くなりますが、更に軽くする場合、Nekyo氏のオリジナル版をご利用になるとよいでしょう。ただし、多くの機能が制限されます。
最新バグFix対応版は、こちらから
http://sfjp.jp/projects/pyukiwiki/releases/?package_id=4436 - 既存のプラグインが動かなくなってしまったのですが?
- 可能な限り、過去バージョン向けのプラグインを動作できるよう変更はしていますが、実質、0.1.6にて大幅に仕様が変更になり動作しなくなったものもあります。
(popular, rename等は、既存バージョン用のプラグインが「まともに」 (=ちょっとしたことでも)動作しないので、新しいバージョンを添付しています) - バージョンアップが激しい?
- 個人的に、あくまでも、「自分の為に」更新をしている為に、特に内部的なバージョンアップが激しい場合があります。
1日に10回や20回も更新していることもありますが、そのほとんどがいたって普通の転送であったりすることもあります。 - インストールしてみて、動かない?
- 正常にパーミッション設定、及び、ファイルの適切な編集が完了したにも関わらず、動作しない場合は、gzip圧縮を無効にしてみて下さい。 pyukiwiki.ini.cgi で
$::gzip_path = 'nouse';
を設定するか、
info/setup.cgi で(こちらが奨励)
$::gzip_path = 'nouse';
を設定してみて下さい。
- mod_perl、speedy_cgiで動かないのですが?
- mod_perlには対応確認済みです。speedy_cgiは未確認です。
ただし、現状では、動作しなかったものを動作させるようにしただけのものであり、高速化の恩恵は現状では受けていません。 - wiki.cgiが醜い(本来の変換は見にくい)のですが・・・
full版、compact版は、実際に動作する環境の為に、余計なコメント等を大幅に削除しています。
また、過去にベンチマークを取得して、ある程度サブルーチンの順番も考慮しています。
wiki.cgiのサブルーチンのコメントが必要な方は、-devel版をダウンロードして下さい。
同一のバージョンであれば、-full版と-devel版であれば、混在しても動作します。 - ライセンスがかわったのですか?
- 「you can redistribute it and/or modify it under the same terms as Perl itself.」
「=Perlと同じライセンスで再配布できます。」
の文面を明確にすると、GPL3とArtisticライセンスが適用されることになります。
SourceForge?.jpプロジェクト登録のため、ライセンスをはっきりさせるために明記したのであり、基本的にはYukiWiki?からのライセンスを継承しているものと考えています。 - PyukiWiki0.1.5のwikiをそのまま移行すると文面がおかしくなるのですが?
- 多くのPukiWiki?文法を取り入れると同時に、多くの文法不具合も修正されています。
仕様外の文法で記述されている場合、不具合が生じることがあります。
また、インラインプラグイン(&plugin(...);)において、「;」で終了していないと、不具合が起きます。ネスト可能にする為に厳格に文法チェックを行なっていますので、閉じていない場合は、「;」で閉じるようにして下さい。 - プラグインを作成してみたい?
- sample/ ディレクトリの、stationary.inc.pl、及び、stationary_explugin.inc.plを参考にして下さい。
ExPlugin?は、本来プログラミングではあってはならない、関数の重複を逆に利用して実現している機能ですので、重複させる関数を設定する時には、十分注意して下さい。
PukiWiki?からの移行について
PyukiWiki?は、PukiWiki?の代替になるものではありませんが、多くの互換性を持ったものであります。現状におきまして、PukiWiki?が php 5.4 になって動作しなくなったことにより、移行をされている方が見られますが、あくまで、ほとんどが代替になるだけであって、完全に動作保障をすることができません。
PukiWiki?とPyukiWiki?の違いは?
全く違う言語、及びエンジンで、似たようなものを表示させようとしていることが、根本的に異なります。PukiWiki?のプラグインは動作するの?
php言語でできている為、動作しません。ただし、移植をすれば、動作するかもしれません。PukiWiki?より劣っているのは
- wiki文が完全互換になっていない
- (現状において)HTML Validではない (ただし、XHTMLヘッダで動作はします)
- (現状において)重い
- 気が向いたら開発であること。
PukiWiki?より優れているのは
- wikiエンジン全体に対するプラグインシステム Expluginが搭載されている。その為、PukiWiki?よりも拡張性が高い
- 現状で、作者が、気になったら or 気が向いたら、すぐにプラグインを作り始める。
- まだ完成してはいないものの、CMSツールとして、使いやすさを重点に開発している。
- その他、tdiary スキンも代用できます。(ただし、現状未公開)
主な更新履歴
0.2.0-p3からの主な変更点
- 特にJavaScript?関係の内部仕様が大きく変更されています。
- ドキュメントをwikiフォーマットに変更し、そこから生成するようにした。
- wikiモジュールの分割化 captcha、canonical、ogp expluginの追加
- JavaScript?の圧縮方法の変更(packer解凍ルーチンの高速化)
- JavaScript?ファイルの日本語テキストの扱いの変更(エンコードしたUTF16に統一)
#devel版のみ旧来のファイルを残します - CSS、JavaScript?のgzip圧縮化(スクリプトではなく、.htaccessで処理)
- Javascriptのローダー作成
- locationプラグインのバグ修正
- HTMLのgzip圧縮を、pigzプログラムも利用できるようにすることで、マルチスレッド化できるようにした。
- 現在バックアッププラグインのみで使用しているgzip圧縮、解凍を、gzipプログラム、igzプログラムも利用できるようにして、軽量化した。
- backline.inc.pl 新規追加
- ck.inc.pl Locationではない画面遷移をデフォルトとした
- list.inc.pl ページ数が多くなった時、ページ遷移をできるようにした。
- metarobots.inc.pl descriptionの設定をできるようにした。
- ls2.inc.pl 多くのオプションを追加
- popular.inc.pl ページ数が多いとき、キャッシュの再生成に時間がかかるため、マルチタスクで行なうようにした。
- linktrack.inc.cgi JavaScript?を使用しない場合に利用できるオプションを追加
- debug.inc.cgi シェルから直接デバッグできるようにした
- textareaフォーム上でESCキーを押した時の挙動を、IEだけではなく、ほとんどのブラウザーで動作するようにした。
- editプラグインにブラウザーのJavaScript?で動作するフォームバックアップ機能を搭載
(ただし、現時点では、サーバー側での受け取り後の処理が出来ていません) - edit_extendの仕様強化(ほとんどをJavaScript?に移動しました)
- バージョン番号制の導入
- インストーラCGIの更新
- (ビルドツールの変更)
- 各作者の不通Webページのリンク削除
※その他、ビルドツールを用いて生成しています為、旧来のEUC版等もサポートをしていますが、チェックが完全にできない為に、何らかの不具合が発生する可能性があります。
0.2.0-p2からの主な変更点
- セキュリティーホールFix
- ping Exプラグイン (weblog更新ping)作成(まだテスト版)
- trackback Exプラグイン、tb.inc.pl プラグイン (トラックバック)作成(受信のみ)
- extend edit の改良(IEでは一応動作しますが、まだ正常に動作しません)
- jquery.jsをcompact版以外同封
- PukiWiki? Plusの顔文字を追加
- JavaScript?の圧縮方法の変更
- linktrack.inc.cgiのHTML出力量を削減
0.2.0-p1からの主な変更点
- compact版できちんとビルドできていなかったのを修正
- index.cgi wrapperの変更(重要)
- スキンファイルの存在の確認方法の変更
- JavaScript?の見直し
- CSSの見直し
- 正規表現の見直し
- ページ名/MenuBar 等、階層下専用のMenuBar等を設定できるようにするプラグイン pathmenu.inc.cgiを追加
- pyukiwiki.skin.cgiの変更
- sub encodeが規則通り動作していなかったのを修正
- UTF8メールを送信できるようにした。ただし、MIME::Base64が必要
- 検索をすると、検索キーワードをハイライトするように修正
- Nana::Search.pm の追加
- search.inc.pl、search_fuzzy.inc.pl の変更
- title.inc.plの変更
- attach.inc.pl、ref.inc.plの変更 - ファイルサイズ、登録日を読みやすくした。また、マウスをリンクに合わせなくても表示するオプションを追記
- server.inc.plの変更 − ベンチマーク時間を短縮し、更に短い時間でベンチマークを取得できるようにした。
- location.inc.plの変更
- adminchangepasswordinc.plの変更
- agent.inc.plの追加
- ls2.inc.plのオプション追加
- topicpath.inc.plの変更
- edit.inc.plの変更
- rss10page.inc.plの変更
- rss10.inc.plの変更
- vote.inc.plの仕様変更(従来通り動くモードもあります)
- spam_filterの挙動の追加及び変更(pyukiwiki.ini.cgiに変更があります)
- Digest::MD5、Digest::Perl::MD5を切り替える必要のないように、Nana:MD5を作成した。
- urlhack.inc.cgi 短縮アドレスのwikiページに対応
- twitter.jsの不具合修正
- ごく軽度のXSS脆弱性を修正(凍結ページでのみ起きます)
- インストーラの変更点 (0.2)
- update のものを、アップデータの名乗るように変更した。
- インストーラ内で、全ページを凍結できる設定を追加した。
- 外部CSS参照していたのを取り込んだ。
0.2.0からの主な変更点
- ライセンスの変更(GPL2からGPL3にバージョンアップ)、Artsticは変更なし
- 自分でも把握しきれないぐらいの、多くのバグフィックス
- 評価用に、CGIインストーラの作成
- smedia.inc.pl
ページによって、リンクはきちんとされるものの、リンクが異なることを修正した。 - Nana/Logs/Logs.pm
負荷が重すぎる為、一時的に、1か月おきだけでなく、1日おきの一覧を出力できるようにした。
アクセスログのキャッシュ化をした。
0.1.9からの主な変更点
- XHTML 1.1 時に、Content-type: application/xhtml+xml で出力するようにした。
- UTF8版を追加した。変換する為の管理者用プラグインも作成しましたが、非常に重い物となっています。
- 管理者向けパスワードを簡易暗号化するようにした。
ただし、ごくまれに(約1000分の1の確率)で正常に認証できないバグがあります。 - ビルド時に、DEVEL版以外のコメントを削除できるようにした。
- ビルド時に、compact版の不要な行を削除できるようにした。
- バックアップ機能を追記した。
- backupプラグインの追加
- titleプラグインの追加
- 暫定的にIPV6に対応した。
- PukiWiki?互換の凍結方法にした。ただし、info/ ディレクトリは今まで通り必要です。
- カウンターファイルをPukiWiki?互換にした。
- DEVEL版以外を可能な限りコンパクトにしてみた。
- wiki文法に [ [(url...(gif|png|jpe?g)) > link url,説明文] ]を加えた
- IEにおいて、ESCキーを押してしまったことにより、入力内容が元に戻ってしまうのを阻止した。
- #imgプラグインにおいて、jpg,png,gif以外の画像を表示できるようにした。
- #imgプラグインにおいて、height、widthを指定できるようにした。
0.1.8からの主な変更点
- いくらかのバグフィックス
- #twitterプラグインを追加した。
- Nana::HTTPのHTTPクライアントがまともに動作しない場合があるので、別途 HTTP::Lite を用意した。
- 表示軽量化、及びほんのごくわずかな節電対策の為のgzip圧縮標準化、及び、JavaScript?、CSSの圧縮化
0.1.7からの主な変更点
- スパム対策
#article、#comment、#pcommentの本文に日本語文面がなければ拒否されるようになりました。
また、URL文字列が10個以上含まれるものも拒否されるようになりました。(両者ともpyukiwiki.ini.cgiで設定可) - rss10以外の廃止
- jcode.plの廃止(Jcode.pmのみの対応になります)
- InterWikiNameに検索エンジンを追加した
- 一部のバグの修正等
- 一部のURLリンク切れの修正
0.1.5からの主な変更点
- 多くのPukiWiki?文法を取り入れました。
- PukiWiki?との互換性がいっそう高くなり、表現力が高くなります。
- wiki.cgi起動と同時に動的に読み込む expluginを搭載しました。
- 内部の関数をハック(乗っ取り)し、別の動作をさせることができます。
(overloadモジュールを使用していません) - システムメッセージ対応
スキン(sub skin)に渡される ページ名($page)に、以下のような仕様変更があります。 - ページ名は、タブ区切りで、以下のような内容となります。
- "ページ名(空白のこともあり)" \t "システムメッセージ" \t "エラーメッセージ"
- スキンで、printをせず、変数に格納することとなりました。
そのため、既存のスキンはそのままではご利用になれません。
$htmlbody 等の変数に一括して格納し、最後に return する必要があります。 - 半角スペースを含むページが作成可能になりました
ただし、先頭・最後に半角スペースがあるページは作れません - [うぃき?] のようなブラケットをしたときに出たバグを修正しました。
- 部分編集に対応しました。
巨大なページでも、編集しやすくなりました。 - SEO対策をしました。
URLから「?」等を省く、urlhack.inc.cgiプラグインの追加
編集画面等では、ロボットがクロールしないようにMETAタグを設定した
(ただし、現状において、自動でのSEO対策機能は、そのままでは対策になりません)
- nph CGIに対応しました。
ファイル名の先頭を nph- にすると、直接HTTP/1.1 200 OK から出力します。
- $::IN_HEAD、$::HTTP_HEADER変数に代入すると、それぞれ、<head>タグ内、HTTPヘッダに代入されるようになった。
- xhtmlに対応しました。
デフォルトでは HTML 4.01 Transitionalで出力されますが、以下を選択することができます。- XHTML 1.1
- XHTML 1.0 Strict (非正式対応)
- XHTML 1.0 Transitional (非正式対応)
- XHTML Basic 1.0 (非正式対応)
- _action のリターン値に以下を追加
http_header
header
ispage(予約)
notviewmenu(予約)
- WikiName?を廃止することができるようになりました。
- スキンで表示せず、内部でバッファリングするようにした。
- スキンの最も下のCopyrightのフッタをwiki文法に変更した
- htmlディレクトリとcgi-binディレクトリが異なるシステムで、従来より設置しやすくしました。
- リソースを分割して、プラグイン実行時に動的に読み込むようにした
- pagenavi.inc.pl
PyukiWIki/Download>0.1.6 をそれぞれに、リンクしたい時に便利なプラグインです。
, 区切りで、Wiki文法で入力しますが、 / を含む場合はページ名だけを入力します。
#pagenavi(*,PyukiWIki/Download>0.1.6,''ダウンロード'') 等
- server.inc.pl
サーバー情報を詳細に表示するプラグインです。
実行は、?cmd=server のみで、凍結パスワードが必要になります。
Nekyo氏のPyukiWiki?に同名のプラグインがありますが、互換性はありません。
(wikiで使うようなものではないのですが・・・)
- servererror.inc.pl
.htaccessでの、ErrorDocument?から呼び出すサーバーエラー表示するプラグインです。 - sitemap.inc.pl
以前公開していたものを、バグフィックスして標準化しました - deletecache.inc.pl
管理者用プラグインで、キャッシュディレクトリの中身をすべて削除します。 - article.inc.pl
改行自動変換を実装(変数フラグのみあった)
名前なし、サブジェクトなし投稿を禁じるフラグをつけた
ページが凍結されていても投稿できるようにもなった。 - attach.inc.pl
多くの既存バグを修正
nph CGIに対応
アップロードは自由だが、削除はパスワードが必要なモードを加えた - comment.inc.pl
ページが凍結されていても投稿できるようにもなった。 - counter.inc.pl
新形式のカウンターに対応(1年分保存可能です。設定が必要です)
旧形式のカウンターのバグを自動修正する機能をもたせた
昨日以前を昨日と認識するバグを修正
MenuBar等にカウンターを置いた時の処理変更 - edit.inc.pl
PukiWiki?ライクな編集画面になるようになった。
既存ページから、雛形として読み込む機能を追加 - lookup.inc.pl
InterWikiName正規化に伴い変更
$::usepopup変数に対応
nph CGIに対応 - newpage.inc.pl
ページのprefixを選択できるようになった。 - recent.inc.pl
半角スペースを含むページに対応 - rss10.inc.pl
半角スペースを含むページに対応
nph CGIに対応 - search.inc.pl
search_fuzzy.inc.pl追加に伴う変更 - search_fuzzy.inc.pl
日本語あいまい検索用です。
モジュールをuseしているので別のモジュールになっています。直接呼出しはできません - showrss.inc.pl
PyukiWiki?のRSSが正しく取得できなかったのを修正 - ref.inc.pl
いくつかのバグを修正
$::usepopup変数に対応 - その他プラグイン
いくつかの、PukiWiki?内部制御用のコマンドを、ダミープラグインとして実装しています。- サンプル
CGIを外部から呼び出せない等の理由で、外部からInterWiki?できないwikiのために、PHPやHTML+JavaScript?のwrapperをサンプルとして添付しました。
使用しているライブラリ等
謝辞
作者
Copyright (C) 2004-2007 by Nekyo
http://nekyo.qp.land.to/ (リンク切れ)Copyright (C) 2002-2007 by Hiroshi Yuki
http://www.hyuki.com/
Copyright (C) 2005-2012 by ななみ (ななこっち★)
http://nanakochi.daiba.cx/ http://www.daiba.cx/ http://chat.daiba.cx/
http://vpsinfo.jp/ http://eat.jp.net/ http://pyu.be/ http://power.daiba.cx/
http://twitter.com/nanakochi123456/
http://ja.wikipedia.org/wiki/%e5%88%a9%e7%94%a8%e8%80%85%3aPapu
Copyright (C) 2004-2007 by やしがにもどき
http://hpcgi1.nifty.com/it2f/wikinger/pyukiwiki.cgi (リンク切れ)
Copyright (C) 2005-2007 by Junichi
http://www.re-birth.com/ (コンテンツなし)
Copyright (C) 2005-2012 PukiWiki? Developers Team
http://pyukiwiki.info/ http://pyukiwiki.sfjp.jp/