Pukiwikiでソースコードをハイライトするプラグインを作ろうかと
おもったんだけど、すでにあった。
highlight.inc.php – Sonots’ PukiWiki プラグイン
インストール
インストールがちょっと違っていたのでメモ。PukiWiki 1.4.7でやりました。
highlight.inc.phpをダウンロード。PUKIWIKI_ROOT/pluginディレクトリに置く
define(HIGHLIGHT_DIR, SKIN_DIR . ‘dp.SyntaxHighlighter/Scripts/’);
次に、SyntaxHighlighterをダウンロード。藤原はSyntaxHighlighter_1.5.1.rarを使った。
ダウンロードしたファイルを解凍 dp.SyntaxHighlighterというディレクトリができるので、その中のStyles/SyntaxHighlighter.cssをScriptsフォルダに移動 StylesとUncompressedディレクトリはいらないので削除 dp.SyntaxHighlighterをPUKIWIKI_ROOT/skinディレクトリに配置
PUKIWIKI_ROOT/pukiwiki.ini.phpの「PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK」に0を設定。
define(‘PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK’, 0); 使い方
使い方は以下のようになる。
#highlight(php){{ <?php include(‘xml.php’); $RSS_HOST = ‘http://daipresents.com/weblog/fujihalab/rss.xml’; $xml_data = file_get_contents($RSS_HOST); //$xml = mb_convert_encoding(file_get_contents($RSS_HOST), ‘UTF-8′, ‘auto’); $data = XML_unserialize($xml_data); echo “<ul>”; foreach($data['rss']['channel']['item'] as $entry){ echo ‘<li><a href=”‘ . $entry['link'] . ‘”>’ . $entry['title'] . ‘</a>(‘ . $entry['pubDate'] . ‘)</li>’; } ?> }} #highlight(end)
Pukiwiki1.4.6を静的URLに改造
作成中ですわ
Pukiwikiのような無限にページを作成するサイトは検索エンジンに登録されにくいらしい(参考:Pukiwiki SEO)。
そこで、URLを偽装するロジックを入れてみる。
以下のページを元にやってみたんだけど、Pukiwiki1.4.6や1.4.7ではうまくいかなかった。どうも2つのページでやってることをあわせてやらないといけないみたい。
ISOLINEAR.infoさん PATH_INFOを使う wiki@nothingさん PukiWiki with PATH_INFO 願望 index.phpもURLから消したいんだけど、pukiwiki.ini.phpの$script_directory_indexとか$scriptを修正してもうまくいかないので調査しないと。 PHPファイルの修正
以下にだらだら書いてあるけどskin/pukiwiki.skin.phpとpukiwiki.ini.php以外を上げときます。
lib/init.php
以下の部分を
/////////////////////////////////////////////////
// QUERY_STRINGを取得
// cmdもpluginも指定されていない場合は、QUERY_STRINGを
// ページ名かInterWikiNameであるとみなす
$arg = ”;
if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']) {
$arg = & $_SERVER['QUERY_STRING'];
} else if (isset($_SERVER['argv']) && ! empty($_SERVER['argv'])) {
$arg = & $_SERVER['argv'][0];
}
下みたいに修正
/////////////////////////////////////////////////
// QUERY_STRINGを取得
// cmdもpluginも指定されていない場合は、QUERY_STRINGを
// ページ名かInterWikiNameであるとみなす
$arg = ”;
if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING']) {
$arg = & $_SERVER['QUERY_STRING'];
} else if (array_key_exists(‘PATH_INFO’,$_SERVER) and $_SERVER['PATH_INFO'] != ”) {
$arg = preg_replace(“/^\/*(.+)\.html\/*$/”,”$1″,$_SERVER['PATH_INFO']);
} else if (isset($_SERVER['argv']) && ! empty($_SERVER['argv'])) {
$arg = & $_SERVER['argv'][0];
Pukiwiki1.4.6でBasic認証
Pukiwikiにユーザ認証をつける。
手順
pukiwiki.ini.phpを修正する。
ユーザ名「fujifuji」とすると・・・
$auth_users = array(
‘fujifuji’ => ‘{x-php-md5}MD5で暗号化した文字列’,
);
ページ名で制限かけます。
$auth_method_type = ‘pagename’
読むのも制限なので
$read_auth = 1;
$read_auth_pages = array(
‘#^.*$#’ => ‘fujifuji’,
);
編集も制限なので
$edit_auth = 1;
$edit_auth_pages = array(
‘#^.*$#’ => ‘fujifuji’,
);
これでアクセスするとBasic認証のダイアログが出る。
Pukiwiki1.4.6のlink.phpでparse error
以下のエラーが発生。更新ボタン連打で解決する場合がある(なんじゃそりゃ)。
Parse error: parse error, unexpected ‘}’ in /なんじゃらかんじゃら/fujiwiki/lib/link.php on line 90
どうも文字コードがおかしい。Shift-JISとEUCが混在している。ダウンロードしてきた「まっさらPukiwiki」もそうなっている。なぜだ。。。
というわけで、とりあえず「lib」以下のファイルをEUC(LF)に変換してアップロード。変換には文字コード変換ツール「KanjiTranslator」を利用した。
とりあえずなんとかいい感じで動くようになった。インストール時に「アスキー&無変換」でテキストファイルをアップロードするように意識しないといけない。
でも、なぜに「まっさらPukiwiki」は文字コード混在なのだろう・・・。
追記
まだでるみたいー。ひぇ?
Pukiwiki1.4.6へのアップデート
1.4.5_1からのアップグレード
pukiwiki-1.4.5_1からpukiwiki-1.4.6へのアップグレードは、フォルダ内のデータをコピーするだけでよかった。
以下のフォルダを上書き
attach backup cache counter diff wiki
僕について
Dai Fujihara
A hero can be anyone.
藤原大はマネージャでありアジャイル実践者だ。そして、プロジェクトリーダー、チェンジ・エージェント、アジャイルコーチ、トレーナーでもある。彼はまたRedmine、Jenkinsといった開発を支援するツール環境の整備や、アジャイル開発を活用した創造的なソフトウェア開発の支援を行っている。さらに、趣味は沖縄離島巡りらしい。
ここ最近の人気
永久保存の本
Venkat Subramaniam (著), Andy Hunt (著), 木下 史彦 (監訳), 角谷 信太郎 (監訳)
アジャイルな習慣とは一体何なのか?本書ではプラクティスを交えながら、その姿勢を読者に問いかけている。世代や役割をこえて色褪せない「アジャイル」に対する良書。Amazonレビュー
Mike Cohn (著), マイク コーン (著), 安井 力 (翻訳), 角谷 信太郎 (翻訳)
採用した現在のタイトルは、見積りや計画づくりといったプロセスを、アジャイルに進めなければならないと謳っているのだ。見積りと計画づくりがアジャイルでないのに、プロジェクトがアジャイルであるということはありえない。(イントロダクションより)
Jonathan Rasmusson (著), 西村 直人 (翻訳), 角谷 信太郎 (翻訳)
アジャイルサムライ―それはソフトウェアを顧客に届ける猛々しきプロフェッショナルだ。本書では、圧倒的なアジャイルプロジェクトの姿を見せる。2011年爆発的にヒットしたアジャイル開発に情熱を持つエンジニアに届けたい本。タグ
Agile ant Apache bash Eclipse GlassFish install Java Javascript kobo Linux log4j Management Maven Open Source PHP Pukiwiki Python Redmine Ruby Ruby on Rails Scrum Spring Struts Struts2 Subversion Test Tomcat Trac VBA Web WebDriver WebLogic Windows WordPress 働く 勉強会 嫁(ベータ) 思い出し笑う 我思う 旅する 映画/ドラマ 英語を話す 読むと聞く 過去を語るアーカイブ










