PukiWiki Plus!

目的・背景

 いろいろ PukiWiki を改造しているうちに自分でもわけわからなくなってきたのでここらで整理するついでに公開してみようという試みです。派生版はこれまで PukiWikiMod, B-Wiki, PyukiWiki などありますが、ポリシーとして xhtml/javascript/cookie(session) に縛られずにおこなっていきたいとおもいます。。。。

 わたし自身、本家でも使えそうなものは、機を見て本家BugTrack としてアップしていますので、要望を出されても対応しないことのほうが多いのはご了承ください。

特徴

 本家 PukiWiki(1.4.4, 1.4.5) に追加して以下の機能を持っています。

表示関連

  • 3段組対応 plus!
    ページの3段組に対応しています。
  • 標準スキンにTABLE版、DIV版の両方を添付 plus!
    標準スキンは3段組に対応しています。また、これらは TABLE版(default.skin.ja.php) と DIV版(pukiwiki.skin.ja.php) のいずれかから選択できます。(1.4.4u3より廃止しました。ブラウザがCSS3に整い次第復活するかもしれません。)
  • オートグロッサリplus!
    ページ「Glossary」に用語を追加するとその単語がページ内にあるとき、自動的にツールチップが追加されます。
  • オートエイリアス(1.4.4u5)plus!
    ページ「AutoAliasName」に用語を追加すると、その単語が出てきたときにページ名がなくても外部リンクすることができます。
  • 自由なタイトル付けplus!
    独自タグ"TITLE:[タイトル名]"で上に表示するタイトルを変更可能にしています。
  • インラインプラグインが使える整形済みテキスト tips
    行の先頭が '# ' の場合は整形済みテキストでインラインプラグインが使用できます。
  • カレンダの祝日対応 tips
    upkさんの祝日カレンダ public_holiday.php を使用して、calendar2プラグインおよびminicalendarプラグインを祝日対応しています。
  • フェイスマークの追加・変更
    フェイスマークを pukiwiki.dev の珠玉にしています。(本家だと灰色ベースでちょっとキモいので(^^;)
  • 検索をGETで楽に plus!
    検索を POST でなく GET にすることによって、IEなどで「情報の再送信」をしなくてもよくなるようにしました。
  • あいまい検索(1.4.4u3) plus!euc
    全角・半角や音の伸び(「サーバー」と「サーバ」)などの曖昧な単語でもヒットするようにしました。(いかにも日本語処理なので日本語UTF-8版には対応していません。あらかじめご了承ください。)
  • 添付ファイルのプロパティ追加(1.4.4u5) plus!
     ページの添付ファイルを分かりやすくするためにプレビューやすでに添付されている一覧を表示しています。。
  • 国際化(I18N)対応 plus!i18n
     コンテンツ・ネゴシエーションの対応と、gettextの採用により、翻訳作業の効率化が行えるようになりました。台湾版のサポートに加え、一部ですが、中国・韓国版にも対応しています。

編集関連

  • ajaxedit plus!i18n
     リアルタイムにプレビューが可能になります。WYSIWYG もどきで編集が可能になります。
  • 入力アシスト plus!
     文字に関する入力の(カラー、サイズ、強調、顔文字)アシスト機能を追加しました。(1.4.5u1より添付、変換など入力アシストが拡張されています。)
  • 見出し毎の編集 plus! tips
     見出し毎に編集が可能になっています。また、編集後にはその編集した位置にできるだけ戻り、編集の連続性を保てるようにいたします。1
  • 最後の引数は複数行可能 plus! (1.4.4-u3)
     ブロック型プラグインの最後の引数に複数行を指定することが可能となっています。書式は2個以上の中括弧です。
#code(c){{
void main(int argc, char *argv[])
{
    printf("Hello! PukiWiki!\n");
}
}}

認証関連

  • 認証パスをMD5に tips
    パスワード系はすべてMD5を使用することにしてあります。1.4.5-u2より、MD5, SHA-1 を含めて本家がすべて対応になりました。
  • NetBIOSのサポート plus!i18n
     NetBIOSのサポートにより、Windowsのログオン情報から認証済みユーザが特定できるようになりました。
  • Digest認証のサポート? plus!i18n
     PHP 5.1からDigest認証がサポートされました。PukiWiki Plus! でも、このDigest認証の機能が利用できるようになりました。

携帯デバイス対応

  • 携帯でも画像を表示 plus!
    サイズ(画像サイズ、ファイルサイズ両方の意味)が小さい場合は携帯でも画像を表示するようにしました。
  • パケット節約
    携帯に最適化をかけるために、パケットを節約しています。また、携帯ユーザは長い文章は読まないので文章で読める程度(10KB)にしてあります。

プラグイン

  • スキン変更プラグイン plus!
    #skin([スキン名])で、スキンを変更することができます。2
  • トピックパス tips
    本家では、自分で埋め込む機能になってましたが、標準添付のスキンでトップページに表示しています。
  • 自作プラグインの幾つかを同梱
    有益に使用できるプラグイン(attachref, adsense, tooltip, qrcode, code, etc.)をいくつか同梱しています。
  • mixiRSS
    RSSの表示をページ名ばかりでなく見出しを拾えるようにしています。
  • プラグインの初期値の手当て plus!i18n
     初期値の変更が必要となるプラグインに関しては、別ファイルに切り出して管理できるようになりました。プラグインの保守時に、毎回、修正する作業から解放されます。
  • 拡張(自作)プラグインの分離 plus!i18n
     自作プラグインなどの配置先を独立させることで、本体に付属しているプラグインと分離して管理できるようになりました。本体のバージョンアップなどの更新作業がスムースに行えます。

スキン

  • 自作スキンの幾つかを同梱
    有益に使用できるスキン(orangebox, bluebox, xhtml, etc.)をいくつか同梱しています。

サイト管理者関連

  • 文字列置換プラグイン plus!
    サイト管理者の移行のお手伝いができるように、PukiWiki標準バックアップ機能付き文字列置換プラグインを用意しています。
  • ビジュアル差分プラグイン拡張(1.4.4-u3) plus!
    バックアップ(backup)プラグインをさらに拡張して、ビジュアルな差分を表示3できるようになりました。それに伴い、履歴情報もコンボボックス表示できるようにしてあります。
  • ロギング対応 plus!i18n
     閲覧ログ・更新ログ・ダウンロードログなど、管理者にとって便利なロギングの機能が標準装備されました。
  • 曖昧な利用者特定機能 plus!i18n
     更新ログ・NetBIOS情報・ブラウザ情報などから、過去に足跡を残した情報を駆使し、利用者を特定する機能が実装されました。
  • SPAM対策? plus!i18n
     2chで利用している niku.2ch.net や、bulkfeeds.jp で試験的にサービスしている rbl.bulkfeeds.jp などを利用したSPAM対策が行えるようになりました。

開発者関連(将来バージョンへの布石)

  • PHP5に対応(1.4.4-u2) tips!
    本家PHP5対応ブランチを先行して取り込んでPHP4/PHP5に両方対応しています。(最近では本家が対応しました。)
  • セッションの使用を可能に plus!
    $session をセッション変数として新規に定義しています。セッションを使いたいプラグインが出てきたとき用です。。