#access
#norelated
* PukiWikiのメモ。 [#e907ca5f]
- 基本的に、Pluginが充実しているので、結構便利。が、どんなPluginがあるのか良く分からないし、見付かりにくいため不便。なぜか[[Pukiwikiのサイト:http://pukiwiki.sourceforge.jp]]はめちゃ反応がにぶいし。
- Pukiwiki自身の単語検索(search)の弱さ・遅さにも辟易だなあ…。
- わかってきたが、tracker_listとかsearchとか、エンジンそのものが非常に遅いようだ。これは致命的かもしれない。PHPデフォルトの30秒という実行時間内に終わらないこともしばしば。
----
#contents
** インストール [#l069ddfb]
*** パーミッションについて [#j7e65f88]
ユーザー自身が含まれるグループを書き込み可能にしておいた後、スーパーユーザーにディレクトリ全体のOwnerをapacheに変えてもらうのがよさげ。あとでpukiwiki.ini.phpをいじりたいときにNot Ownerなんて言われたら超めんどくさいので。~
いずれにせよ、少しめんどくさい。
*** 管理人パスワード設定 [#q73d7d90]
pukiwiki.ini.phpにて&adminpassを適宜設定。
*** 編集時にパスワードを求める [#ad9da609]
pukiwiki.ini.phpにて
 // Edit auth (0:Disable, 1:Enable)
 $edit_auth = 1;
                                                                                 
 $edit_auth_pages = array(
         '##'            => 'kei',
 );
とする。上の例では、全てのページがパスワード保護される。                                                                                
*** WikiName/Autolinkの廃止 [#w83698fd]
pukiwiki.ini.phpにて
 // _Disable_ WikiName auto-linking
 $nowikiname = 1;
とする。McDonnaldsとかでオートリンクされるのがイヤン。
*** 秘密ページ [#xf925a84]
ini.php において
 // Read auth (0:Disable, 1:Enable)
 $read_auth = 1;
  
 $read_auth_pages = array(
         // Regex                   Username
         '/^:.*$/'               => 'kei',
などとやると、":"から始まるページはkeiのパスワードを要求することができる。[[RecentChanges]]やList of pagesなどにも表示されない。

*** deldel.inc.php [#h4ccdff1]

http://fullmetal.dip.jp/pukiwiki/ の、自作/プラグイン にて配布しているdeldel.inc.phpをゲット。日本語がEUCのままなので、ujconvにてUTF8に変換し、pluginディレクトリにセット。
 http://meteora.ucsd.edu/~kyoshimura/?cmd=deldel
とやると一括削除が可能になる。便利。
** 内容 [#oa47db78]

*** RSSでdescriptionを出力する [#j410b40c]
デフォルトのRSSでは、更新ページのタイトルのみがフィードされ、つまらない。Google Desktopなどで購読する際にはdescriptionもあったほうが良い。というわけで、[[Epilogueさんのrss10pp.inc.php:http://logue.tk/?Web%E7%B4%A0%E6%9D%90%2FPukiWiki%2Frss10pp.inc.php]]を導入。入れ方は、
+pluginディレクトリにダウンロードして
+lib/http.phpにて$_LINK['rss10']の部分を変更(上記リンクの指示と少し異なる)
 $_LINK['rss10']="$script?cmd=rss10pp";

でおしまい。

これで、ページ右下のRSSボタンを押すと[[このようなdescriptionつき更新一覧:http://meteora.ucsd.edu/~kyoshimura/?cmd=rss10pp]]がでる。また、Google Desktopのウェブクリップオプションでhttp://meteora.ucsd.edu/~kyoshimura/?cmd=rss10ppを追加すれば、更新のたびにDescriptionつきでポップアウトしてくれる。

ただ、ページの上のほうのテキストを抜粋しているだけなので、ページの中での新たな更新などはdescriptionに入らないのね。
*** calendar2/calendar(teananさん版) [#nc979921]
[[ここ:http://teanan.homeip.net/pukiwiki/?%BC%AB%BA%EE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%2Fcalendar.inc.php%28%B2%FE%29]]
から取得、eucでかかれているのでUTF-08に変換。
 [kyoshimura@meteora ~/http]$ ujconv calendar.inc.php.0.15.txt -t utf8 > plugin/calendar.inc.php
calendar2との主な違い(上記HPに記載のないもの)
- カレンダーの日付をクリックしたとき、記事がないとEditになる(calendar2)~
常に閲覧(calendar)
- templateというページを用意しておけば新規記事のときそのページが読まれる(calendar2)~
テンプレートは使えない(calendar)。
*** 改行・正規表現・その他ちょいネタ。 [#d2abdb5a]
行末に"~"で改行。~
正規表現はどうするのかなあ…。コード表で相当するのを直書きするのが良いようだ。めんどくさ。("&"は"&")~
&sad;や&bigsmile;を使うとこういうの(&sad;&bigsmile;)が出る。;)や(^^;でもでるみたい ;) (^^;。でも、後者のは、直前に空白がいるみたいだ。
*** ページ削除 [#n04e5756]
Editの際、空にしてUpdate。
*** 画像の一覧表示 [#ub60acf3]
プラグイン#jphotoを使用(オプション)。ポップアップされるのとか、フラッシュそのものが嫌だったりする。
*** 階層内のページ一覧表示 [#aada97af]
#ls2が使える。見出しまで表示したいときは#ls2(,title)とする。
*** も少し詳細な階層内のページ一覧表示 [#eb5ce71c]
#tracker_listが使えそう。詳細不明。

つくってみたが、trackerはうまく作動しても、tracker_listのほうに大きな問題があるみたいだ。それを使いたいのに…。本文が長いとlistが止まり、[body]という項目があるとなにやら勝手に反応する。(予期していない項目が[body]を食っていたりする。)

やれやれ、どうしたもんだか。長くなりそうなので[[大項目>#yba4bb0c]]を作った。
*** 画像を一度にアップロード [#l720d6f3]
ひとつずつしかできない。tarでまとめてアップし、そこで解凍させるらしい・・・~
[[ここ>#t07bbf2d]]参照。
*** 目次の表示 [#u456b65f]
#contentsを挿入(デフォルト)
*** カウンター [#dd2b9ee5]
MenuBarに
 RIGHT:
 total: &color(green){&counter;};~
 today: &color(green){&counter(today);};~
 yesterday: &color(green){&counter(yesterday);};~
などと埋める。
*** アクセス解析 [#b30503a6]
オプションプラグイン#accessでページごとのログ取り、#accessviewで閲覧。~
#accessviewは一つ一つのページを埋め込む必要があって、めんどくさい。~
秘密ページにもしたいが、やりかた不明→できた。あと、日本語でしか表示されない上に、エンコードに不備がある。(UTF-8が使われてない)~
- 修正点
-- [[ujconv:http://tech.ymirlink.co.jp/]] -f euc -t utf8 '''infile''' > '''outfile'''によって、UTF-8に書き換え。
-- あと~
 function readlog_accessview($page){
         //global $timestamp,$ip,$host,$user_agent;
というようにglobal〜のところをコメントアウト。(そうしないと、カウントが変)

*** 容量制限・一括添付 [#t07bbf2d]
- 結局、サーバー側のPHPの容量制限に引っかかるらしく、500KBが上限のようだ。そうじゃない場合の変更は、plugin/attach.inc.phpの''upload_max_filesize''や''PLUGIN_ATTACH_MAX_FILESIZE''をいじる。
- ひとつのファイルずつしかuploadできないので、http://cubic9.com/PukiWiki/ で配布されているattach、ref改造パッチをあててみた。
-- が、どうもUTF-8版には対応していないらしく、コメント等に日本語が含まれる箇所でパッチできない。何ヵ所かは手動で書き換えた。

- でも、tarしても500KBだと大してまとめられないので、やっぱりめんどくさい。scpで一括転送しよ…。
*** 見出しごとの編集 [#y873f94d]
- いろんなPukiWikiのページで実装されているのに、本家でやりかたが載っていない。(載っているけど、最新版での方法等がしっかり示されていない。)
- 色々調べて、[[ここ>http://fullmetal.dip.jp/pukiwiki/index.php?memo%2F%E6%94%B9%E9%80%A0%2Fparaedit.diff%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6]]で配布されている1.4.7版の[[パッチ>http://fullmetal.dip.jp/pukiwiki/index.php?plugin=attach&refer=memo%2F%E6%94%B9%E9%80%A0%2Fparaedit.diff%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6&openfile=paraedit20060527.diff.gz]]が使えることが分かった。
 [kyoshimura@meteora ~]$ cd http
 [kyoshimura@meteora ~/http]$ patch -p0 --dry-run --verbose < paraedit20060527.diff
 [kyoshimura@meteora ~/http]$ patch -p0 --verbose < paraedit20060527.diff
で見出しごとに鉛筆マークが出るようになれば成功。~
結構いろんなファイルを書き換えている。ちょっとどきどきだ。

*** コメント挿入 [#o574bca8]
- #commentは、一番下にしか書き込めない。段落を下げるには、コメント記入の際行頭に"-"をつける。改行を含むコメントは、どこかで作ってからコピペ。(普通にEnterを押すと投稿されてしまう。→pcommentも同様。)
- #pcommentは、別ページに書き込む。replyというパラメータをつけると古いコメントの真下に書き込むことができる。
 #pcomment(reply)
** 外観(skin) [#ob17f74e]
*** ヘッダーの画像変更 [#cf3cc9ba]
./image 内に画像を置き、pukiwiki.skin.phpにて
 // Set site identities
 $_IMAGE['skin']['logo']     = 'xxxx.jpg';
と変更。
*** ヘッダー(ページ一番上)のアドレスが表示されているところを階層状にする. [#a7680b5b]
pukiwiki.skin.php内にて
 if (! defined('SKIN_DEFAULT_DISABLE_TOPICPATH'))
         define('SKIN_DEFAULT_DISABLE_TOPICPATH', 0); // 1, 0
とする。
*** MenuBarの箇条書きを無くす [#gb5276b7]
pukiwiki.css.phpにて
 /* kei */
 div#menubar ul li { list-style-type:none; }
などと足す。


*** ヘッダー部分の「Edit」「New」などのコマンド表示をなくす [#y0b46c1c]
Navigation Barというらしい。pukiwiki.skin.phpにて
 if (! defined('PKWK_SKIN_SHOW_NAVBAR'))
         define('PKWK_SKIN_SHOW_NAVBAR', 0); // 1, 0
の部分を0(Off)とする。下にもあるしね。

** tracker.inc.phpについて [#yba4bb0c]

[[study]]のページでは、
 #tracker(study)
 #tracker_list(study)
を使っている。
:config/plugin/tracker/study 及びその下のform・page・listというページ(ファイルではなく、[[Wiki上のページ>http://meteora.ucsd.edu/~kyoshimura/?:config/plugin/tracker/study]] のこと。)を適宜いじくる。

trackerを使いはじめてから:configのほうで項目を増やすと、すでにある投稿ページのtracker_listが壊れる(データベースとの整合性がとれなくなる?)可能性があるので要注意。~
が、カテゴリーの要素を増やすことには対応できているようだ。

また、はっきりとした原因は不明だが、tracker_listによる検索のパワー不足でPHP実行のタイムアウトが頻発する模様。ページの内容が増えると加速度的に処理時間がかかるようだ(感じとしては、ページ全体に項目毎のパターンマッチングをかけている?)。
後で追加した内容でも、同様の問題が起きる。というわけで、
- trackerする項目は極力減らした方が良い
- trackerのtypeも、titleなどはやめてtextにした方が良い

気がする。[[study]]は現在10ページ・新規6項目(+いくつかの予約項目)で2.2秒。
ただ、defaultの設定(#tracker_listのみ)だと、新規項目数は5とそんなに変わらないのに0.3秒程度。謎。

----
COMMENT
#comment