Dokuwiki for science

DokuWikiのサイトマップを段組みにする

DokuWikiには、すべての名前空間とページの索引を表示させる機能、'index'があります(do=index)。ただ、この表示機能は長い1列で表示してしまいます。ルートの名前空間に多くのファイルがあると、ものすごい縦長のページになってしまい、非常に見にくくなります。一覧性のためのindexなのにこれではいけません。

そこで、スタイルシートにほんの少し修正を入れてこれを2段組みとか3段組にしておくと、そこそこ使えるようになります。テンプレートによって異なりますが、このテンプレートだと右上の「Sitemap」あるいは「サイトマップ」をクリックすると表示できますので、試しに開いてみてください。

CSSの変更

索引用のul、liの部分を変更します。デフォルトのdokuwikiテンプレートだと、 /lib/tpl/dokuwiki/css/_toc.less

  • ul.idx li
  • ul.idx li.open

あたりで修正できます。

.dokuwiki .index__tree ul.idx li {
    list-style-image: url(../../images/bullet.png);
    float:left;
    margin-left:1.5em;
    padding:0;
    width:45%;
}

.dokuwiki .index__tree ul.idx li.open {
    list-style-image: url(../../images/open.png);
    border:solid 1px #ccc;
    padding:0.5em;
    width:90%;
}

※2018/7/29 デフォルトのテンプレートのクラス名が変更されたので修正しました。

ファイルを追加して修正する

オリジナルのCSSを弄りたくないのであれば、cssあるいはlessファイルを追加すると管理が楽です。

まず、上のコードを'lib/tpl/dokuwiki/css'フォルダの中のmyStyle.lessとかに保存しておきます。

次に、lib/tpl/dokuwiki/style.iniを開きます。その中にはスタイルシートの場所や初期色などの設定が入っています。そこのスタイルシートの設定の一番後ろ([replacements]の前)に、先程のファイルを読み込ませるために、次のコードを加えます。

css/myStyle.less = screen

次からは、スタイルシートを弄りたいときはmyStyle.lessの編集だけで済みます。

BEFORE AFTER