PolyMoNote
Wiki Like SYSTEM 「PolyMoNote」の公式サイト
仕様
| 目次 |
|---|
動作環境
PolyMoNoteはPHPで書かれています。
日本語マルチバイト対応(mbstring)のPHP5がインストールされているApacheサーバであれば動作するはずです。
MySQLやSQLiteなどのデータベースは利用しません。
添付ファイルのサムネイル作成にGDグラフィックライブラリを利用しています。
ディレクトリ
ディレクトリの構成
PolyMoNoteのディレクトリは、以下のようになっています。
├─ pn // PolyMoNote │ ├─ attach // 添付ファイル保存 │ │ └─ default │ ├─ cache // キャッシュデータ保存 │ │ └─ default │ ├─ data // ページデータ保存 │ │ └─ default │ ├─ lib // ライブラリ │ │ └─ commands // コマンド │ │ └─ config // コマンド設定 │ │ └─ plugins // プラグイン │ │ └─ config // プラグイン設定 │ └─ templates // テンプレート │ ├─ icons // アイコン画像 │ ├─ system // システムメニューのテンプレート │ └─ theme // テーマ(CSS)
PolyMoNoteのユーザー設定ファイル"polymonote.config.php"の"PN_SAFEMODE"の値を"0"にしている場合、さらにページを作成するごとにディレクトリが作成されます。
詳しくは、こちらをご覧ください。
"PN_SAFEMODE"の値が"1"の場合、さらに"pn/data/default"ディレクトリ内に"plugin_data"ディレクトリを、"pn/attach/ブックID"ディレクトリ内に"thumb"ディレクトリを作成する必要があります。
ディレクトリの概要
| ディレクトリ | 説明 | |||
|---|---|---|---|---|
| pn | - | - | - | PolyMoNoteの各ディレクトリ・ファイルが収められています。 |
| - | attach | - | - | 添付ファイルを保存するディレクトリ。 |
| - | - | default | - | ブック"default"の添付ファイル保存ディレクトリ。 |
| - | cache | - | - | プラグインやコマンドでページに関係なく共有して利用するキャッシュデータを保存するディレクトリ。 |
| - | - | default | - | ブック"default"のキャッシュ保存ディレクトリ。 |
| - | data | - | - | ページの本文やデータ、そのページでのみ利用するプラグインのキャッシュなどを保存するディレクトリ。 |
| - | - | default | - | ブック"default"のデータ保存ディレクトリ。 |
| - | lib | - | - | PolyMoNoteの動作に使う各ライブラリファイルを置くディレクトリ。 |
| - | - | commands | - | コマンドをインストールするディレクトリ。 |
| - | - | - | config | "プラグイン設定"で表示されるコマンドの設定項目を作成する設定ファイルを置くディレクトリ。 |
| - | - | plugins | - | プラグインをインストールするディレクトリ。 |
| - | - | - | config | "プラグイン設定"で表示されるプラグインの設定項目を作成する設定ファイルを置くディレクトリ。 |
| - | templates | - | - | テンプレートファイルや画像ファイルを置くディレクトリ。 |
| - | - | icons | - | アイコン画像を置くディレクトリ。 |
| - | - | system | - | システム管理などのテンプレートファイルを置くディレクトリ。 |
| - | - | theme | - | テーマファイル(CSS)を置くディレクトリ。 |
ファイル
ファイルの構成
PolyMoNoteのファイルは、以下のようになっています。
-
./
- index.php
- .htaccess
-
./pn
- index.html
-
./pn/attach
- index.html
-
./pn/attach/default
- index.html
-
./pn/cache
- .htaccess
- index.html
-
./pn/cache/default
- index.html
-
./pn/data
- index.html
-
./pn/data/default
- index.html
-
./pn/lib
- .htaccess
- index.html
- wikibody.php
- config.php
- filemanager.php
- pagedata.php
- pagelist.php
- pingupdate.php
- polymonote.config.php
- polymonote.ini.php
- pwtemplate.php
- socket.php
- util.php
-
./pn/lib/plugins
- index.html
- amazon.php
- anonymousinput.php
- bbs.php
- bbs_entry.html
- bbs_entry_log.html
- bbs_form.html
- calendar.php
- changes.php
- comment.php
- comment_form.html
- contents.php
- counter.php
- diary.php
- diary_form.html
- diarycategory.php
- diarycategory_form.html
- diarycategory_link.php
- diaryentrylist.php
- diarylist.php
- diarymonthly.php
- diarynavi.php
- file.php
- files.php
- files_entry.html
- image.php
- imagelink.php
- include.php
- keyarray.php
- newpages.php
- pages.php
- plugin_utils.php
- referers.php
- schedule.php
- schedule_form.html
- search.php
- topicpath.php
-
./pn/lib/plugins/config
- index.html
- bbs.php
- comment.php
- diary.php
- diarycategory.php
- diarymonthly.php
- include.php
- referers.php
-
./pn/lib/commands
- index.html
- changes.php
- createnewpage.html
- createnewpage.php
- del_confirm.html
- del_confirm.php
- delete.php
- delimage.php
- diaryentry.php
- download.php
- edit.php
- edit_form.html
- login.html
- login.php
- pages.php
- plugin_saveconf.php
- plugin_showconf.html
- plugin_showconf.php
- rss.php
- rss.rdf
- rss_item.rdf
- save.php
- saveconf.php
- search.php
- showconf.html
- showconf.php
- substitute.php
- upimage.php
-
./pn/lib/commands/config
- index.html
- diaryentry.php
- download.php
- rss.php
-
./pn/template
- index.html
- bbs_form.js
- comment_form.js
- confirm.js
- page.html
- pn_lib.js
- sidebar.html
-
./pn/template/icons
- index.html
- attach.gif
- file_link.gif
- lzh.gif
- no_image.png
- txt.gif
- zip.gif
-
./pn/template/system
- index.html
- editlink.html
- editlink_disable.html
- loginlink.html
- logoutlink.html
-
./pn/template/theme
- index.html
- simple-blue.css
- simple-green.css
- simple-orange.css
- simple-purple.css
- simple-red.css
ファイルの説明
ファイルの簡単な説明です。
| ディレクトリ | ファイル | 説明 |
|---|---|---|
| ./ | index.php | PolyMoNote実行ファイル。 |
| ./ | .htaccess | ページURL用の".htaccess"。 |
| ディレクトリ | ファイル | 説明 |
| ./pn | index.html |
|
| ディレクトリ | ファイル | 説明 |
| ./pn/attach | index.html |
|
| ディレクトリ | ファイル | 説明 |
| ./pn/attach/default | index.html |
|
| ディレクトリ | ファイル | 説明 |
| ./pn/cache | .htaccess |
|
| ./pn/cache | index.html |
|
| ディレクトリ | ファイル | 説明 |
| ./pn/cache/default | index.html |
|
| ディレクトリ | ファイル | 説明 |
| ./pn/data | index.html |
|
| ディレクトリ | ファイル | 説明 |
| ./pn/data/default | index.html |
|
| ディレクトリ | ファイル | 説明 |
| ./pn/lib | .htaccess |
|
| ./pn/lib | index.html |
|
| ./pn/lib | wikibody.php | PolyMoNote記法の処理。 |
| ./pn/lib | config.php | サイト設定管理。 |
| ./pn/lib | filemanager.php | 添付ファイル管理。 |
| ./pn/lib | pagedata.php | ページデータ操作。 |
| ./pn/lib | pagelist.php | ページ一覧データ管理。 |
| ./pn/lib | pingupdate.php | 更新通知送信。 |
| ./pn/lib | polymonote.config.php | ユーザー初期設定。 |
| ./pn/lib | polymonote.ini.php | PolyMoNote各種変更。 |
| ./pn/lib | pwtemplate.php | テンプレートエンジン。 |
| ./pn/lib | socket.php | ソケット通信。 |
| ./pn/lib | util.php | 汎用ユーティリティ関数。 |
| ディレクトリ | ファイル | 説明 |
| ./pn/lib/plugins | index.html |
|
| ./pn/lib/plugins | amazon.php | AMAZONプラグイン。 |
| ./pn/lib/plugins | anonymousinput.php | 閲覧者書き込み抽象クラス。 |
| ./pn/lib/plugins | bbs.php | BBSプラグイン。 |
| ./pn/lib/plugins | bbs_entry.html | BBSプラグイン用テンプレートファイル。 |
| ./pn/lib/plugins | bbs_entry_log.html | BBSプラグイン用テンプレートファイル。 |
| ./pn/lib/plugins | bbs_form.html | BBSプラグイン用テンプレートファイル。 |
| ./pn/lib/plugins | calendar.php | CALENDARプラグイン。 |
| ./pn/lib/plugins | changes.php | CHANGESプラグイン。 |
| ./pn/lib/plugins | comment.php | COMMENTプラグイン。 |
| ./pn/lib/plugins | comment_form.html | COMMENTプラグイン用テンプレートファイル。 |
| ./pn/lib/plugins | contents.php | CONTENTSプラグイン。 |
| ./pn/lib/plugins | counter.php | COUNTERプラグイン。 |
| ./pn/lib/plugins | diary.php | DIARYプラグイン。 |
| ./pn/lib/plugins | diary_form.html | DIARYプラグイン用テンプレートファイル。 |
| ./pn/lib/plugins | diarycategory.php | DIARYCATEGORYプラグイン。 |
| ./pn/lib/plugins | diarycategory_form.html | DIARYCATEGORYプラグイン用テンプレートファイル。 |
| ./pn/lib/plugins | diarycategory_link.php | DIARYCATEGORY_LINKプラグイン。 |
| ./pn/lib/plugins | diaryentrylist.php | DIARYENTRYプラグイン。 |
| ./pn/lib/plugins | diarylist.php | DIARYLISTプラグイン。 |
| ./pn/lib/plugins | diarymonthly.php | DIARYMONTHLYプラグイン。 |
| ./pn/lib/plugins | diarynavi.php | DIARYNAVIプラグイン。 |
| ./pn/lib/plugins | file.php | FILEプラグイン。 |
| ./pn/lib/plugins | files.php | FILESプラグイン。 |
| ./pn/lib/plugins | files_entry.html | FILESプラグイン用テンプレートファイル。 |
| ./pn/lib/plugins | image.php | IMAGEプラグイン。 |
| ./pn/lib/plugins | imagelink.php | IMAGELINKプラグイン。 |
| ./pn/lib/plugins | include.php | INCLUDEプラグイン。 |
| ./pn/lib/plugins | keyarray.php | 一意IDつき配列ファイル操作クラス。 |
| ./pn/lib/plugins | newpages.php | NEWPAGESプラグイン。 |
| ./pn/lib/plugins | pages.php | PAGESプラグイン。 |
| ./pn/lib/plugins | plugin_utils.php | プラグイン用ユーティリティ関数。 |
| ./pn/lib/plugins | referers.php | REFERERSプラグイン。 |
| ./pn/lib/plugins | schedule.php | SCHEDULEプラグイン。 |
| ./pn/lib/plugins | schedule_form.html | SCHEDULEプラグイン用テンプレートファイル。 |
| ./pn/lib/plugins | search.php | SEARCHプラグイン。 |
| ./pn/lib/plugins | topicpath.php | TOPICPATHプラグイン。 |
| ディレクトリ | ファイル | 説明 |
| ./pn/lib/plugins/config | index.html |
|
| ./pn/lib/plugins/config | bbs.php | BBSプラグイン設定ファイル。 |
| ./pn/lib/plugins/config | comment.php | COMMENTプラグイン設定ファイル。 |
| ./pn/lib/plugins/config | diary.php | DIARYプラグイン設定ファイル。 |
| ./pn/lib/plugins/config | diarycategory.php | DIARYCATEGORYプラグイン設定ファイル。 |
| ./pn/lib/plugins/config | diarymonthly.php | DIARYMONTHLYプラグイン設定ファイル。 |
| ./pn/lib/plugins/config | include.php | INCLUDEプラグイン設定ファイル。 |
| ./pn/lib/plugins/config | referers.php | REFERERSプラグイン設定ファイル。 |
| ディレクトリ | ファイル | 説明 |
| ./pn/lib/commands | index.html |
|
| ./pn/lib/commands | changes.php | CHANGESコマンド。 |
| ./pn/lib/commands | createnewpage.php | CREATENEWPAGEコマンド。 |
| ./pn/lib/commands | createnewpage.html | CREATENEWPAGEコマンド用テンプレートファイル。 |
| ./pn/lib/commands | del_confirm.php | DEL_CONFIRMコマンド。 |
| ./pn/lib/commands | del_confirm.html | DEL_CONFIRMコマンド用テンプレートファイル。 |
| ./pn/lib/commands | delete.php | DELETEコマンド。 |
| ./pn/lib/commands | delimage.php | DELIMAGEコマンド。 |
| ./pn/lib/commands | diaryentry.php | DIARYENTRYコマンド。 |
| ./pn/lib/commands | download.php | DOWNLOADコマンド。 |
| ./pn/lib/commands | edit.php | EDITコマンド。 |
| ./pn/lib/commands | edit_form.html | EDITコマンド用テンプレートファイル。 |
| ./pn/lib/commands | login.php | LOGINコマンド。 |
| ./pn/lib/commands | login.html | LOGINコマンド用テンプレートファイル。 |
| ./pn/lib/commands | pages.php | PAGESコマンド。 |
| ./pn/lib/commands | plugin_saveconf.php | PLUGIN_SAVECONFコマンド。 |
| ./pn/lib/commands | plugin_showconf.php | PLUGIN_SHOWCONFコマンド。 |
| ./pn/lib/commands | plugin_showconf.html | PLUGIN_SHOWCONFコマンド用テンプレートファイル。 |
| ./pn/lib/commands | rss.php | RSSコマンド。 |
| ./pn/lib/commands | rss.rdf | RSSコマンド用テンプレートファイル。 |
| ./pn/lib/commands | rss_item.rdf | RSSコマンド用テンプレートファイル。 |
| ./pn/lib/commands | save.php | SAVEコマンド。 |
| ./pn/lib/commands | saveconf.php | SAVECONFコマンド。 |
| ./pn/lib/commands | search.php | SEARCHコマンド。 |
| ./pn/lib/commands | showconf.php | SHOWCONFコマンド。 |
| ./pn/lib/commands | showconf.html | SHOWCONFコマンド用テンプレートファイル。 |
| ./pn/lib/commands | substitute.php | SUBSTITUTEコマンド。 |
| ./pn/lib/commands | upimage.php | UPIMAGEコマンド。 |
| ディレクトリ | ファイル | 説明 |
| ./pn/lib/commands/config | index.html |
|
| ./pn/lib/commands/config | diaryentry.php | DIARYENTRYコマンド用設定ファイル。 |
| ./pn/lib/commands/config | download.php | DOWNLOADコマンド用設定ファイル。 |
| ./pn/lib/commands/config | rss.php | RSSコマンド用設定ファイル。 |
| ディレクトリ | ファイル | 説明 |
| ./pn/template | index.html |
|
| ./pn/template | bbs_form.js | BBSプラグイン用JavaScript。 |
| ./pn/template | comment_form.js | COMMENTプラグイン用JavaScript。 |
| ./pn/template | confirm.js | ページ管理用JavaScript。 |
| ./pn/template | page.html | テンプレートファイル。 |
| ./pn/template | pn_lib.js | ユーティリティ関数JavaScript。 |
| ./pn/template | sidebar.html | サイドメニュー用テンプレートファイル。 |
| ディレクトリ | ファイル | 説明 |
| ./pn/template/icons | index.html |
|
| ./pn/template/icons | attach.gif | アイコン。 |
| ./pn/template/icons | file_link.gif | アイコン。 |
| ./pn/template/icons | lzh.gif | アイコン。 |
| ./pn/template/icons | no_image.png | アイコン。 |
| ./pn/template/icons | txt.gif | アイコン。 |
| ./pn/template/icons | zip.gif | アイコン。 |
| ディレクトリ | ファイル | 説明 |
| ./pn/template/system | index.html |
|
| ./pn/template/system | editlink.html | メニューテンプレートファイル。 |
| ./pn/template/system | editlink_disable.html | メニューテンプレートファイル。 |
| ./pn/template/system | loginlink.html | ログインテンプレートファイル。 |
| ./pn/template/system | logoutlink.html | ログインテンプレートファイル。 |
| ディレクトリ | ファイル | 説明 |
| ./pn/template/theme | index.html |
|
| ./pn/template/theme | simple-blue.css | テーマファイル。 |
| ./pn/template/theme | simple-green.css | テーマファイル。 |
| ./pn/template/theme | simple-orange.css | テーマファイル。 |
| ./pn/template/theme | simple-purple.css | テーマファイル。 |
| ./pn/template/theme | simple-red.css | テーマファイル。 |
".htaccess"
PolyMoNoteのトップディレクトリ※1以外のディレクトリに置かれている".htaccess"ファイルは、以下のような記述がしてあります。
Order allow,deny Deny from all
これは、".htaccess"を置いているディレクトリ内のファイル・ディレクトリに外部からアクセスさせないようにするためのものです。
サーバに設置したスクリプト以外からはファイルにアクセスできなくなるため、セキュリティ面の強化になります。
ただし、ご利用のサーバによっては".htaccess"の設置や利用ができない場合があるので、その場合はサーバにアップロードする必要はありません。
ブック
PolyMoNoteは、ひとつのツールで複数のコンテンツを作成することができます。
一部のブログにある"ひとつのブログ構築ツールで複数のブログを作成できる機能"やWikiエンジンの"WikiFarm"のようなものだと考えていただいてよいと思います。
簡単に言うと、PolyMoNoteひとつをインストールするだけで複数のサイトを管理・作成することができるのです。
そして、その複数のサイトひとつひとつを"ブック"、そのブックを識別する文字列を"ブックID"と定義しています。
このブックは、互いに干渉することがありません。
たとえば、"default"と"sample"というブックが存在したとします。
ブック"default"から"FrontPage"に内部リンクしてもブック"sample"の"FrontPage"にリンクされることはなく、またブック"sample"から検索をしてもブック"default"の内容が検索されることはありません。
ちなみに、PolyMoNote公式サイト内の文法マニュアルとDeveloperも、追加したブックによって作成されています。
つまり、ひとつのツールで独立した複数のサイトを構築できるということです。
ブックID
標準のブックIDは"default"です。
ブックIDが指定されていない場合のブックは"default"となります。
ブックIDに使える文字列は、半角のアルファベットと数字のみです。
ブックの追加
新たにブックを追加したい場合は、"pn"ディレクトリ内の"data"・"attach"・"cache"ディレクトリ内に追加したいブックの名前のディレクトリを作成します。
その追加されたディレクトリの名前が、ブックIDとなります。
ブックIDの説明同様、ブックのディレクトリの名前に使える文字列は、半角のアルファベットと数字のみです。
作成したディレクトリのパーミッションは、書き込み権限を与える設定"777"(または"707")にしてください。
パーミッションの設定については、インストールガイドもご覧ください。
追加したブックを表示
追加したブックを表示するには、以下のようなURLにアクセスします。
http://example.com/index.php?site_id=ブックID
"site_id"パラメータにブックIDを指定することで、ブックの内容を表示することができます。
ブックIDの渡し方は、ユーザー設定ファイル"polymonote.config.php"の"PAGELINK_FORMAT"の設定によって変わります。
詳しくは、URLの項目をご覧ください。
ページ
サイトのトップページ
"環境設定"のフロントページの項目で設定したページ名(デフォルトは"FrontPage")が、サイトのトップページとなります。
サイトのURLが"http://example.com/"だった場合に、前述のURLや"http://example.com/index.php"にアクセスした時にはフロントページに設定されているページの内容が表示されます。
ページID
ページには、ページID番号が割り振られます。
ページIDは、一番初めに作成されたページが"0"、二番目に作成されたページが"1"…というように、作成されたページの順番に番号が割り振られます。
ページが削除されると、そのページIDは欠番となりますが、改めてページを作成すると、その欠番となったページIDが新規のページに割り当てられます。
ページの各種ファイルの保存
ページの本文やデータファイル、本文に記述したプラグインが作成するファイルは以下のディレクトリに保存されます。
// データディレクトリ pn/data/ブックID
ページに添付されたファイルは、以下のディレクトリに保存されます。
// 添付ファイルディレクトリ pn/attach/ブックID
PolyMoNoteは新たにページが作成されると上記のディレクトリ内に、そのページに対応したディレクトリが作成され、ページの文章やプラグインが作成するファイル、添付ファイルといったページ単位で作成されるファイルは、そのディレクトリに保存されます。
ページのデータおよび添付ファイルのディレクトリの名前は、"id-ページID"の形式で命名されます。
さらに、ページのディレクトリは200個を基準にディレクトリで仕切られます。
たとえば、ページID"5"および"201"のページのディレクトリは以下のようになります。
// ページID"5"のデータ・添付ファイルのディレクトリ pn/data/ブックID/dir0-199/id-5 pn/attach/ブックID/dir0-199/id-5 // ページID"201"のデータ・添付ファイルのディレクトリ pn/data/ブックID/dir200-399/id-201 pn/attach/ブックID/dir200-399/id-201
サーバのPHPセーフモードがオンの場合
サーバで、PHPのセーフモードの設定がオンになっている場合は、スクリプトが作成したディレクトリの中にファイルやディレクトリを作成することができません。
ただし、PHPがCGIモードで動かすことができれば、この制限を受けない場合があります。
もしご利用のサーバで上記の制限を受けてしまう場合は、PolyMoNoteのユーザー設定ファイル"polymonote.config.php"の"PN_SAFEMODE"の項目を編集して、セーフモードでも利用できるように設定を変更する必要があります。
"PN_SAFEMODE"の値を"1"にすると、ページごとにディレクトリを作成しなくなり、かわりに各ファイルの前にページIDが含まれるファイル名で保存されます。
そして、プラグインが作成するファイルは、ディレクトリ内のファイル数を節約※2するために"pn/data/ブックID"ディレクトリ内の"plugin_data"ディレクトリに保存先が変更されます。
そのため、"data"ディレクトリに保存されていたプラグインが作成するファイルは、BBS・COMMENTプラグインを除いて"pn/data/ブックID/plugin_data"ディレクトリに保存されるようになります。
たとえば、ページID"1"のページの場合に、
- 本文ファイル
- 添付ファイル"sample.jpg"
- COUNTERプラグインが作成するデータファイル"counter.txt"
といったファイルがあるとすると、ファイルのパスは以下のようになります。
// ページID"1"の本文データと添付ファイル pn/data/ブックID/id-1_body.txt pn/attach/ブックID/id-1_sample.jpg pn/data/ブックID/plugin_data/id-1_counter.txt
作成できるページの上限
実際に限界までページを作成したことがないので、ハッキリとしたことはいえませんが、ディレクトリ内に作成できるディレクトリやファイルの数の上限によって変わってくると思われます。
"ページの各種ファイルの保存"の項目で説明しているように、"PN_SAFEMODE"を"0"にしている場合はページごとにディレクトリを作成し、さらにそのディレクトリを200ずつディレクトリに収めています。
なので、サーバのOSや設定・パフォーマンスにもよりますが、単純に考えると
ディレクトリ内に作成できるディレクトリの数*200
ということになります。
"PN_SAFEMODE"が"1"の場合は、"data"ディレクトリ内に1ページ辺り最低でもふたつのファイル※3が作成されるので
ディレクトリ内に作成できるファイル数/2
ということになります。
実際は、ページによってBBS・COMMENTプラグインのファイルが含まれる場合もあるので、もう少し少なくなるでしょう。
URL
PolyMoNoteをインストールしたサイトのURLは、ユーザー設定ファイル"polymonote.config.php"の"$DIRECTORY_INDEX"および"PAGELINK_FORMAT"の設定によって変わります。
サイトのURLが"http://example.com/"だった場合、設定値によって以下のように変わります。
ページ名は、すべてURLエンコードされたものです。
デフォルトのブック
それぞれの値の説明にある、上ふたつのURLはテンプレートタグ"BOOK_TOP"が置き換えられるブックのトップURLです。
// "PAGELINK_FORMAT"の値が"0" http://example.com/ // $DIRECTORY_INDEX=1 http://example.com/index.php // $DIRECTORY_INDEX=0 http://example.com/index.php?site_id=&page=ページ名 // "PAGELINK_FORMAT"の値が"1" http://example.com/ // $DIRECTORY_INDEX=1 http://example.com/index.php // $DIRECTORY_INDEX=0 http://example.com/index.php/ページ名 // "PAGELINK_FORMAT"の値が"2" http://example.com/ // $DIRECTORY_INDEX=1 http://example.com/index.php // $DIRECTORY_INDEX=0 http://example.com/?ページ名 // "PAGELINK_FORMAT"の値が"2.5" http://example.com/ // $DIRECTORY_INDEX=1 http://example.com/index.php // $DIRECTORY_INDEX=0 http://example.com/index.php?ページ名 // "PAGELINK_FORMAT"の値が"3" http://example.com/ // $DIRECTORY_INDEX=1 http://example.com/index.php // $DIRECTORY_INDEX=0 http://example.com/page/ページ名
ブックID"sample"
デフォルト以外のブックのトップURLは、"$DIRECTORY_INDEX"の値に関係なく同じになります。
// "PAGELINK_FORMAT"の値が"0" http://example.com/index.php?site_id=sample http://example.com/index.php?site_id=sample&page=ページ名 // "PAGELINK_FORMAT"の値が"1" http://example.com/index.php/id_sample/ http://example.com/index.php/id_sample/ページ名 // "PAGELINK_FORMAT"の値が"2" http://example.com/?id_sample http://example.com/?id_sample/ページ名 // "id_sample/"はURLエンコードしたもの // "PAGELINK_FORMAT"の値が"2.5" http://example.com/index.php?id_sample http://example.com/index.php?id_sample/ページ名 // "id_sample/"はURLエンコードしたもの // "PAGELINK_FORMAT"の値が"3" http://example.com/id_sample/ http://example.com/id_sample/page/ページ名
プラグイン
PolyMoNoteは、プラグインを追加することで本体にはないページ本文で実行できる新しい機能を追加することができます。
プラグインは標準で備わっているものの他に、ユーザーで作成したり他者が作成したものを追加することも可能です。
プラグインのファイル名は、以下のような形式になります。
半角小文字のアルファベットと"_"(アンダーライン)の組み合わせ.php
プラグインを追加する際は、"pn/lib/plugins"ディレクトリにインストールします。
また、ログイン時に表示されるメニューの"プラグイン設定"の項目から設定を変更できるプラグインは、プラグイン本体とは別に設定用スクリプトを"pn/lib/plugins/config"ディレクトリにインストールします。
プラグインの動作の流れを簡単に説明すると、以下のようになります。
- ページの本文にプラグインを記述。
- プラグイン名を小文字化してプラグインディレクトリに、その"プラグイン名.php"のファイルがないかを検索。
- プラグインのファイルが存在する場合は、その機能を取り込んで実行。
プラグインについては、文法マニュアルのドキュメントおよぞプラグインマニュアルもご覧ください。
タグ
プラグインとは別に、プラグインと同様の形式で記述することで利用できる組み込み系のタグがあります。
プラグインは"pn/lib/plugins"ディレクトリ内のプラグインスクリプトを削除すると利用できなくなりますが、タグはPolyMoNote文法の処理を行うソース内に組み込まれているため、プラグインをすべて削除しても使えなくなることはありません。
その代わり、プラグインのように追加することもできません。
タグについては、文法マニュアルのドキュメントおよぞタグマニュアルもご覧ください。
コマンド
コマンドはプラグインやタグ同様、PolyMoNoteの動作・処理を支援するものですが、プラグインやタグがページの本文に記述するのに対して、コマンドはPolyMoNote実行スクリプト("index.php")にGETやPOSTパラメータを渡して実行するものです。
コマンドのファイル名は、以下のような形式になります。
半角小文字のアルファベットと"_"(アンダーライン)の組み合わせ.php
コマンドを追加する際は、"pn/lib/commands"ディレクトリにインストールします。
また、ログイン時に表示されるメニューの"プラグイン設定"の項目から設定を変更できるコマンドは、コマンド本体とは別に設定用スクリプトを"pn/lib/commands/config"ディレクトリにインストールします。
コマンドを実行するには、GETまたはPOSTで値を渡して実行するわけですが、たとえばPolyMoNoteをインストールしたサイトのURLが"http://example.com/"だとすると、コマンドを実行するためのURLは以下のようになります。
http://example.com/index.php?site_id=ブックID&cmd=コマンド名
コマンドの種類によっては、さらにパラメータを渡す場合があります。
コマンドについては、コマンドマニュアルもご覧ください。
サイドメニュー
PolyMoNoteではデフォルトの設定の場合、"SideMenu"という名前のページがサイドメニューとして扱われ、テンプレートタグ"SIDEBAR"の位置に取り込まれて表示されます。
サイドメニューは、どのページでも共通されて表示され、簡単に言うとブログで主に右側または左側に表示されている、カレンダーや最近のエントリー・カテゴリページのリンクリストなどのことです。
サイドメニューは"環境設定"の"サイドバー表示"の項目で表示の有無を指定できます。
サイドメニューを編集するときは、メニューの"サイドメニュー"から"SideMenu"へたどってください。
また、サイドメニューとして取り込むページの名前は"環境設定"の"サイドメニュー"の項目を編集することで、変更できます。
サイドメニューについては、テンプレートマニュアルのサイドメニュー関連の項目もご覧ください。