2 PukiWiki - 自由にページを追加・削除・編集できるWebページ構築スクリプト
6 2001-2016 PukiWiki Development Team
7 2001-2002 yu-ji (Based on PukiWiki 1.3 by yu-ji)
8 License: GPL version 2 or (at your option) any later version
11 http://pukiwiki.osdn.jp/
12 http://pukiwiki.osdn.jp/dev/
13 https://osdn.jp/projects/pukiwiki/
17 index.php?PAGE_NAME_ENCODED
18 index.php?plugin=PLUGIN_NAME
21 PukiWiki(ぷきうぃき)は、ハイパーテキストを素早く自由に追加・削除・編集で
22 きるWebアプリケーション(Wiki, WikiWikiWeb)の一つです。テキストデータから
23 XHTML 1.1 を生成することができ、そのテキストはWebブラウザから何度でも修
24 正することができます。それぞれのページは自然にハイパーリンクで結びつける
27 PukiWikiはグループ間の知識の共有に用いることができますが、個人が自分のた
28 めのアイデア帖や日記ツールとして活用することも可能です。また、管理者に
29 だけ「簡単に編集できる」利点を残したまま、閲覧者に対して「編集のできない
30 Webサイト」として情報を提供する構成も可能です。(この場合、Wiki風のデザイ
33 PukiWikiはPHP言語で書かれたプログラムなので、PHP(PHP4.1~PHP7)が動作す
34 るWebサーバーであれば容易に設置でき、軽快に動作します。
36 PukiWikiは、yu-jiさんを含む PukiWiki Develpers Team やその貢献者が、各自の
37 著作物にGPLバージョン2(または _あなたの選択で_ それ以降のGPL)を適用してい
38 る「フリーソフトウェア(自由なソフトウェア)」です。最新版はPukiWiki公式サイ
42 1. 「新規」のリンクからページ名(まだそのWikiに存在していないもの)を入力し
43 たり、既存のページを表示した状態で「編集」のリンクをたどったり、そのペー
44 ジが置かれるはずのURLに直接アクセスすると、テキストの入力ができる状態に
47 ※「凍結」されていたり、「編集が禁止」されている場合は、リンクが存在し
48 なかったり、そのようなメッセージが表示されるでしょう
50 2. テキストを入力(ないし修正)し「保存」すると、そのテキストはサーバーに保
51 存され、すぐに「そのテキストを元にしたWebページ」が表示されます。
54 3. テキストの中に、「大文字始まりの英単語が二つ以上連結された単語」(例え
55 ば"NewPage")や、二重のブラケットで囲まれた語句(例えば[[新しいページ]])
56 があった場合、その語句は背景が変化し、末尾に '?' という小さなリンクが挿
57 入されます(未解決のリンク)。 この装飾は「(表示した時点では)その名前のペ
58 ージが存在していなかった」ことを示しています。もしもその名前のページが
59 存在しているならば、その語句の部分は「その名前のページ」を指し示すハイ
62 4. テキストを全て削除してから「保存」することで、そのページを削除すること
63 ができます。いたずらを検知するため、削除された事実は専用のページ
64 [[RecentDeleted]] に記録されます。
66 ※削除した理由が明確でない場合、他の参加者はそのページを復旧させること
69 5. テキストの編集履歴は自動的に記録(バックアップ)されます。設定によります
70 が、バックアップは既定の時間が経過するか、毎回編集するたびに行われま
71 す。バックアップされたデータがあるならば、それを使いコンテンツを当時の
72 状態に復旧することができます。バックアップデータを完全に削除することは
76 テキストをWebページ(HTML/XHTML)としてうまく出力させるため、「どのようなテ
77 キストを書くと、どのようなHTML/XHTMLになるのか」、という部分に一定のルール
78 (書式)が決められています。こちらについては [[help]] [[FormattingRules]] の
81 テキストに書き込んだ「HTMLエンティティ(HTMLにおいて、特殊な文字を表示させ
82 るためのエスケープ文字列のようなもの)」はほぼそのまま表示されます。一部の
83 文字は、HTMLエンティティで記述する必要があるかもしれません。
86 テキストデータでの改行を、XHTMLの出力でもそのまま改行(<br />)として反映さ
88 1. 設定 $line_break の内容を切り替えることで全体の動作が変わります
89 2. #setlinebreak プラグインで行単位に操作する事が可能です
90 3. 行末に "~" を追加すると、その行の改行が無視されなくなります
91 4. brプラグイン(&br;) を文中に追加すると、そこで改行します
92 5. brプラグイン(#br) で、一行分の空間を空けることができます
94 WikiName (大文字始まりの英単語が二つ以上続いた単語) に対する自動リンク機
95 能を無効にするには、設定 $nowikiname の内容を切り替えて下さい。
97 AutoLink (既存のページに対するリンクを自動的に作成する機能)を無効にした
98 り、有効とみなすページ名のバイト数を修正する場合、設定 $autolink の値を
104 1. 定数 PKWK_READONLY により、PukiWiki全体を書き込み禁止にする
105 これは閲覧専用のPukiWikiを用意するためのオプションです。
106 既存のPukiWikiのミラーサイトを構築したり、情報提供用のサイトを構築するた
107 めに活用することができます。有効/無効にするためには管理者による設定変更
108 が必要です。 (詳しくは: BugTrack/744)
110 2. 編集認証($edit_auth)により、指定したパターンに合致するページの編集を禁
112 指定したパターン(例えば "Aで始まるページ名")に合致するページに対し、特定
113 のアカウントにだけ編集を許可するためのオプションです。
114 ユーザーの設定などは管理者による設定変更が必要です。
115 編集認証は「ページの中身」「ページ名」いずれかに対してかける事ができま
118 3. 「凍結」機能により、ページ単位に編集を禁じる/許可する
119 凍結/凍結解除には管理者パスワードが必要です。
120 ページを書き換えるプラグイン(例: #comment プラグイン)は凍結されたページ
121 の中でも動作しますので、それらをページに含めた場合、管理者が定期的にそ
122 のページをクリンナップする必要があるかもしれません。
124 4. 指定したページの編集を禁じる($cantedit)
125 ページ名を事前に指定しておく事により、通常の操作によるそのページの編集
126 を禁じる事ができます。RecentChangesなどはこの機能を利用しています。
127 設定を追加/削除するためには管理者による設定変更が必要です。
129 ページを秘密にする、パスワードを秘密にする
130 PukiWiki全体を秘密の場所に置くことは簡単です。認証や暗号化をかける場合、
131 そのWebサーバーに関する知識が必要です。
133 1. Webサーバーの機能によって、PukiWikiを設置しているフォルダにベーシック
134 認証や、ダイジェスト認証などをかけることができるでしょう。
136 2. Webサーバーの機能によって、SSL(TLS)で通信経路を暗号化することができる
137 でしょう。これによってベーシック認証のパスワードやコンテンツを盗聴され
138 たり、何らかのきっかけでそれらが漏洩する可能性を低下させることができま
141 PukiWikiのコンテンツを「部分的に」秘密にするためには、PukiWikiの複数の設
142 定やプラグインに関する知識が必要です。以下にいくつかの注意点をまとめます。
144 1. 公開用の入り口(index.php)とは別に編集用の入り口(例えばsecret.php)を用
145 意し、それぞれの設定を調整/改造することができます。
148 * 公開するPukiWikiの編集を PKWK_READONLY で禁止する
149 * 編集用の入り口では、編集認証と閲覧認証を全てのページ名に適用する
152 2. 編集認証($edit_auth) と 閲覧認証($read_auth) を利用する場合、それぞれ
153 の対象が一致するように設定する必要があります。例えば閲覧認証だけをかけ
154 ている場合、編集行為によってコンテンツが漏洩する可能性があります。
156 3. MenuBarやヘッダ/フッタは、編集認証/閲覧認証の影響を受けません。
159 4. 他のページを雛型としてロードする機能($load_template_func)は、閲覧認証
160 の影響を受けません。現状の回避策は、この機能を無効にすることです。
163 5. あまり利用されていない一部のプラグインは、編集認証/閲覧認証に対応して
164 いません。そのためにページのコンテンツやページ名が漏洩する可能性があり
165 ます。編集認証/閲覧認証に頼る場合はこれらを事前に削除する必要がありま
169 プラグインを組み込むことで、PukiWikiに様々な機能を追加/拡張することができ
170 ます。PukiWikiには70を越える標準添付のプラグインの他に、多数の自作プラグ
173 プラグインのスタイルは大きく分けて三種類あります。多くはWebコンテンツ(静
174 的なもの/動的なもの)を出力しますが、それ以外の動作をするものも存在します。
176 ブロック型プラグイン(block/convert)
177 行単位に特殊なWebコンテンツを挿入するものです。
178 ※コメント欄(#comment)、目次(#contents)、配下のページを一覧(#ls2)、最
179 新のN件(#recent)、ページのインクルード(#include)、投票ボックス
183 HTMLエンティティを拡張した文字列をテキストの途中に挿入することで、
184 文章の途中にWebコンテンツを挿入するものです。
185 ※文章の色と背景色の操作(&color(red,yellow){文字列};)など
188 プラグインごとに独自の効果を発揮するものです。
189 ※Wikiページの表示(read)、RSSの出力(rss)、ページ名の変更(rename)など
192 いくつかの機能は、プラグインではなく文字列の置換か、それとの組み合わせに
195 テキストを表示する際にWebコンテンツと置き換えるタイプ
196 ※ハートマーク(&heart;)の描画、顔文字を画像に置き換える機構など
198 テキストを保存する瞬間に置き換え、結果を保存するタイプ
199 ※&now; を、「その時の現在時刻」に置き換える機構など
202 InterWiki とは、WikiとWikiをつなげる機能です。例えば
204 このように記述することで、そのWikiの特定のページに対するリンクを簡単に出力
206 ※Wiki以外のサイト、例えば検索エンジンへのURIを生成することも可能です
208 InterWikiを活用したテキストフォームは #lookup プラグインによって作成するこ
211 この機能は Tiki からほぼ完全に移植されています。
212 詳細は [[InterWiki]] のページを参照してください。
215 Wikiの更新状況(更新された順に並べた一覧)は RecentChanges という特殊なペー
218 #recentプラグインはこの内容をコンパクトなリストとして表示します。
219 ※デフォルトでMenuBarに追加されています
221 rssプラグインはこの内容をRSSのフォーマットで提供することができます。
223 RSS 0.91 index.php?plugin=rss
224 RSS 1.0 index.php?plugin=rss&ver=1.0
225 RSS 2.0 index.php?plugin=rss&ver=2.0
228 INSTALL.txt (インストールとアップグレード)
230 標準添付されているプラグインの簡潔な説明は、[[PukiWiki/1.4/Manual/Plugin]]
233 その他、リリース版の基本的な使い方に関する情報はPukiWiki公式サイト
234 をご覧下さい。以下のようなコンテンツが特に有用です。
236 FAQ http://pukiwiki.osdn.jp/?FAQ
237 質問箱 http://pukiwiki.osdn.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B1
238 続・質問箱 http://pukiwiki.osdn.jp/?%E7%B6%9A%E3%83%BB%E8%B3%AA%E5%95%8F%E7%AE%B1
241 PukiWikiのセキュリティに関する情報は以下でまとめられています。
242 http://pukiwiki.osdn.jp/?PukiWiki/Errata
244 バグ報告は devサイトまでお願いします。
245 (我々はPukiWikiでPukiWikiのバグトラッキングを行っています)
246 http://pukiwiki.osdn.jp/dev/?BugTrack2
249 PukiWikiは、結城浩さんが作られたYukiWikiの仕様を参考に独自に開発されまし
250 た。PukiWiki バージョン1.3まではyu-jiさんが個人で製作していました。
252 バージョン1.2.1 から、RecentChangesのRDF/RSSを出力できるようになりました。
254 バージョン1.3.1b 以降はPukiWiki Development Team によって開発が続けられて
257 バージョン1.4.5 から、RSS 2.0 を出力できるようになりました。
260 PukiWiki Development Teamの皆さん、PukiWikiユーザの皆さんに感謝します。
261 PukiWiki を開発した、yu-ji(旧sng)さんに感謝します。
262 YukiWiki のクローン化を許可していただいた結城浩さんに感謝します。
263 本家のWikiWikiを作ったCunningham & Cunningham, Inc.に 感謝します。
265 * yu-jiさんのホームページ http://factage.com/yu-ji/
266 * 結城浩さんのホームページ http://www.hyuki.com/
267 * YukiWikiホームページ http://www.hyuki.com/yukiwiki/
268 * Tiki http://todo.org/cgi-bin/tiki/tiki.cgi
269 * 本家WikiWikiWeb http://c2.com/cgi/wiki?WikiWikiWeb
270 * WikiWikiWebの作者(Cunningham & Cunningham, Inc.) http://c2.com/