Pukiwikiの見出しの世代拡張

こんばんは( ‘ω’)ノ
突然ですが今回はPukiWikiで行き詰まったことの覚え書きです。

あとの記事でも書くかも知れませんけど、ページ作成中に通常の見出しだけでは足りない事態になりました。
事の発端は見出しの文字サイズでしたがw
見出しの文字サイズについては、skin/pukiwiki.css.php内の80行目辺りからのh1, h2で始まってる部分と教えていただいたので、当該箇所にfont-sizeを指定して解決しました。

しかし、本当の問題は文字サイズではなく、見出しそのものだったんですねΣ(゚Д゚;)
本来PukiWikiの見出しは3つだけど、足りなくなってしまったのでこれについても教えていただきました。

lib/convert_html.phpで「$this->level = min(3, strspn」を検索すると、242行目辺り310行目辺り430行目辺り3ヶ所がヒットします。

$this->level = min(3, strspn($text, $head));

があるので

$this->level = min(5, strspn($text, $head));
                   ↑増やしたい世代数に書き換える

このように書き換えます。

次に「// Horizontal Rule」で検索すると853行目辺りに

// Horizontal Rule
   if (substr($line, 0, 4) == '----') {
    $this->insert(new HRule($this, $line));
    continue;
}

がヒットするので

// Horizontal Rule
//if (substr($line, 0, 4) == '----') {     ←削除またはコメントアウト
if (preg_match('/^-{4,}\s*$/',$line)) {    ←追記
    $this->insert(new HRule($this, $line));
    continue;
}

このように変更します。
以上、lib/convert_html.phpでの修正箇所は全部で4ヶ所になります。

次は、lib/html.phpで「if (preg_match(‘/^(\*{0,3})」を検索すると

if (preg_match('/^(\*{0,3})(.*?)\[#([A-Za-z][\w-]+)\](.*?)$/m', $str, $matches)) {
    $str = $matches[2] . $matches[4];
    $id  = & $matches[3];
} else {
    $str = preg_replace('/^\*{0,3}/', '', $str);
}

があるので

                        ↓ここを増やしたい世代数に書き換える
if (preg_match('/^(\*{0,5})(.*?)\[#([A-Za-z][\w-]+)\](.*?)$/m', $str, $matches)) {
    $str = $matches[2] . $matches[4];
    $id  = & $matches[3];
} else {
    $str = preg_replace('/^\*{0,5}/', '', $str);
}                               ↑ここも増やしたい世代数に書き換える

このように変更します。
2ファイル併せて全部で5ヶ所の修正が済んだら、サーバーの当該箇所へアップロードすると、このテストページの様に見出しの世代数を増やすことができます。

今回行き詰まった原因は、教えていただいた改造方法が掲載されたページで読み落としがあり、全部で5ヶ所修正しなければならないところを3ヶ所しか修正してなかったことでした(‘Д`;)
プラグインの導入にしてもスタイルシートを改造するにしても、書かれている手順はしっかりと読み落としや読み損じがないように気をつけたいものですね。

今回、ご自身のwikiでテストしていただいたり、丁寧に教えていただき本当にありがとうございました٩(ˊᗜˋ*)و
また何か行き詰まったときはよろしくお願いします(マテ

ではまた(=゚ω゚)ノシ

SyntaxHighliterも好きな場所で文字色とか変えられたら良いのに…(ボソ

この記事はいかがでしたか?
良かったらポチッとお願いします!励みになります!!