前提
PukiWiki と SyntaxHighlighter が導入済みであること。
pukiwiki.ini.php 編集
PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK を 1 から 0 に変更する。
$ cd /var/www/cgi-bin/pukiwiki; pwd
$ sudo cp -iv --preserve=all pukiwiki.ini.php pukiwiki.ini.php.`date +%Y%m%d`
$ ls -l pukiwiki.ini.php pukiwiki.ini.php.`date +%Y%m%d`
$ ls -lZ pukiwiki.ini.php pukiwiki.ini.php.`date +%Y%m%d`
$ sudo vi pukiwiki.ini.php
差分はこんな感じ。
$ diff -u pukiwiki.ini.php.`date +%Y%m%d` pukiwiki.ini.php
--- pukiwiki.ini.php.20170811 2016-02-15 05:19:02.000000000 +0900
+++ pukiwiki.ini.php 2017-08-11 16:28:47.613027007 +0900
@@ -53,7 +53,7 @@
// argsN+1
// }}
// #memo(This makes '#memo(foo)' to this)
-define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 1); // 1 = Disabled
+define('PKWKEXP_DISABLE_MULTILINE_PLUGIN_HACK', 0); // 1 = Disabled
/////////////////////////////////////////////////
// Language / Encoding settings
プラグイン設置
参考:
Plugin/highlight.inc.php - Sonots' PukiWiki プラグイン
http://pukiwiki.sonots.com/?Plugin%2Fhighlight.inc.php
$ cd plugin; pwd
$ sudo vi highlight.inc.php
$ sudo chown -v apache:apache highlight.inc.php
$ ls -l highlight.inc.php
作成するプラグインはこんな感じ。
$ cat highlight.inc.php
<?php
function plugin_highlight_init()
{
global $head_tags;
$head_tags[] = '<script type="text/javascript" src="/dist/syntaxhighlighter.js"></script>';
$head_tags[] = '<link type="text/css" rel="stylesheet" href="/dist/theme.css">';
}
function plugin_highlight_convert()
{
global $head_tags;
$args = func_get_args();
$body = array_pop($args);
$class = array_shift($args);
$ret = '';
$ret .= '<pre class="brush: ' . htmlspecialchars($class) . '">';
$ret .= htmlspecialchars($body);
$ret .= '</pre>';
return $ret;
}
?>
後は PukiWiki で以下のようなコードを記載して反映されれば OK.
#highlight(sh){{
#!/bin/sh
echo "test"
exit 0
}}
どっとはらい。