やりたいことは社内にFlash(Liteに限らず)のノウハウをためるためのWikiを構築し、そこにAS (esp. AS3) やらMXMLなどのコードを貼ってノウハウ蓄積&共有&活用を図りたい。
いずれ社外にも公開できるといいんだけどなぁ。。
ということでPukiWikiでSyntaxhighlighterを使えるようにし、AS3のコードをハイライトするまでの方法をまとめてみる。
まず必要なものは以下の通り。
- Windowsマシン+WinRAR これはsyntaxhighlighterが.rar形式で配布されているので・・。Stuffit Expanderでは展開に失敗しました。展開するのにWindowsマシンのWinRARがあった方が楽チン。まぁ、Linux上でも展開できるみたいですが
- PukiWikiのversion1.4.6以降。1.4.5までは複数行のプラグイン引数に対応していないので、現行の1.4.7あたりを入れておくのが吉
- syntaxhighlighter本体。Google Codeから入手できます。どうでもいいですけど、YUIもsyntaxhighlighter使ってますね
- AS3用のスタイルファイルと(一応念のため)MXML用のスタイルファイル。AS3用はdigitalflipbook: AS3 Syntax Highlighting (with SyntaxHighlighter)から入手、MXML用は中垣 茂 ( Shigeru Nakagaki ) | ブログ ( Flex, AIR, ColdFusion ) | MXMLコード用 SyntaxHighlighter を作ってみたから入手しておきましょう
- Pukiwiki用のプラグイン。Plugin/highlight.inc.php - Sonots' PukiWiki プラグインから入手して下さい
- PukiwikiプラグインやLinuxファイルシステムへの基本的な理解。上手くいかなくてもなんとかしようという忍耐力
こんなもんでしょうか。全部PukiWikiが稼働しているサーバーの~/tmpあたりにFTPクライアントで一式アップしておきましょう。モノさえ揃ってしまえば後はコマンドで作業した方が絶対に早いので。
WindowsならFFFTPの利用率が高いと思いますが、SmartFTPがお薦めです。これに慣れると二度と他のFTPクライアントに戻れなくなります。
MacならFetchだな。
次に手順。基本的にはPlugin/highlight.inc.php - Sonots' PukiWiki プラグインのページに記載されている通りに作業すれば動くはずですが・・
(1) 何はともあれ、PukiWikiが最低限動くようにする
これはそんなに難しくないはず
(2) 設置したPukiWikiで複数行プラグインが動くよう、pukiwiki.ini.phpを編集する
% cp -p ./pukiwiki.ini.php ./pukiwiki.ini.php.orgPKWKEXP_DISABLE_MULTILINE_PLUGIN_HACKという定数を0にすればOK
% vi ./pukiwiki.ini.php
% diff -bB ./pukiwiki.ini.php.org ./pukiwiki.ini.php
56c56
< define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 1); // 1 = Disabled
---
> define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0); // 1 = Disabled
場所で言うとこの辺にあります。
(3) skinディレクトリ以下にSyntaxHighlighterという名前のディレクトリを作成
% mkdir ./skin/SyntaxHighlighter
(4) 作成した$PUKIWIKI_HOME/skin/SyntaxHighlighter以下に、syntaxhighlighterのScriptsディレクトリとStylesディレクトリ、Uncompressedディレクトリとかを全部コピー
% cp -pr ~/src/syntaxhighlighter_1.5/core/Scripts ./skin/SyntaxHighlighter/Scripts
% cp -pr ~/src/syntaxhighlighter_1.5/core/Styles ./skin/SyntaxHighlighter/Styles
% cp -pr ~/src/syntaxhighlighter_1.5/core/Uncompressed ./skin/SyntaxHighlighter/Uncompressed
(5) highlight.inc.phpをpluginディレクトリにコピー
% cp -p ~/src/syntaxhighlighter_1.5/highlight.inc.php ./plugin/highlight.inc.php
(6) MXML用の.jsファイルを./skin/SyntaxHighlighter/Scripts 以下にコピーする
Compressedの下にあるshBrushAS3.jsをコピーすればオK% cp -p ~/src/syntaxhighlighter_1.5/AS3/Scripts/Compressed/shBrushAS3.js ./skin/SyntaxHighlighter/Scripts/shBrushAS3.js
(7) AS3用の.jsファイルを./skin/SyntaxHighlighter/Scripts 以下にコピー
% cp -p ~/src/syntaxhighlighter_1.5/MXML/shBrushMxml.js ./skin/SyntaxHighlighter/Scripts/shBrushMxml.js
(8) ./skin 以下にある.htaccessを修正
1.4.7のノーマル状態だと./skin以下の.htaccessはこうなっているはず これではclipboard.swfや.js、.cssがdenyされてしまうのでこれもちゃんと吐き出せるように修正する。
(10) highlight.inc.phpの配列、 $jssrc にas3とmxmlを追加
こんな感じ。"as3" => "shBrushAS3.js",
"mxml" => "shBrushMxml.js",
(11) PukiWikiのテンプレートを編集
以下の.js呼び出しを


この記事に対するコメント