【DokuWiki】 Bootstrap3 Templateのタイトルをかっこよく編集する

Posted in php, blog on November 4, 2020 by Henk Verlinde ‐ 1 min read

【DokuWiki】 Bootstrap3 Templateのタイトルをかっこよく編集する

はじめに

自分が運用している DokuWiki サイト(Bootstrap3 Template)がインデックスされるときに 【dokuwiki [タイトル]】と表示されるのは他とかぶってダサいし見づらい。 以下にバージョン【v2018-02-16】でのタイトルを変更してみた。 追記【v2019-05-22】での変更方法も挙げておきます。

サイト設定から修正する

Bootstrap3 Template を使うと管理画面から tpl»bootstrap3»browserTitle 【@TITLE@-@WIKI@】 を設定すると 【dokuwiki-タイトル】に修正できる ただこの方法だけだと名前空間を使用していた場合 【dokuwiki-first:second:third】と表示されてさらにダサくなる

ソースを修正する

以下のファイルを修正する 【dokuwiki フォルダ】/lib/tpl/bootstrap3/tpl_functions.php

18 行目あたり

include_once(dirname(__FILE__) . '/inc/simple_html_dom.php');

以下に修正する

include_once(dirname(__FILE__) . '/inc/parserutils.php');
include_once(dirname(__FILE__) . '/inc/simple_html_dom.php');

1308 行目あたり

return str_replace(array('@WIKI@', '@TITLE@'),
       array(strip_tags($conf['title']), $browser_title),
       bootstrap3_conf('browserTitle'));

以下に修正する

$browser_title = p_get_metadata($ID,$key='title');

return str_replace(array('@WIKI@', '@TITLE@'),
       array(strip_tags($conf['title']), $browser_title),
       bootstrap3_conf('browserTitle'));

getBrowserPageTitle 関数の戻り値がそのまま Dokuwiki ページのタイトルとなる。

以上の変更で、ページの metadate から見出しを引っ張ってそのまま$browser_title を上書いてあげれば見出しがそのままタイトルとなる。つまり 【===== 見出し ======】 こういう見出しをページに設定していた場合 【dokuwiki-見出し】となる

注意しなければならないのは見出しを設定しないと dokuwiki- となってしまう 以上。

v2019-05-22 での対応方法 最近バージョンが上がったため、ソースの編集方法を変えてあげなければならなくなった。 と言ってもより簡単になったので、上の記載内容ができる人だったら問題にならないだろう。

【/lib/tpl/bootstrap3/Template.php】の 1308 に以下を追加してあげればいいだけだ。

$browser_title = p_get_metadata($ID,$key='title');