DokuWiki.biz

オープンソースのウィキソフトウェア「DokuWiki」の設定、テンプレートカスタマイズ、プラグイン開発などのメモ書き。

ユーザ用ツール

サイト用ツール


template:point

DokuWikiのテンプレートカスタマイズのポイント

このページでは、DokuWikiのテンプレートをカスタマイズするにあたって、押さえておきたいポイントについて説明する。

テンプレートによって設定できる内容は異なるが、ここに記載するものはDokuWikiの標準的な機能なので、ほとんどのテンプレートで実装されている内容である。ここでは、DokuWikiデフォルトテンプレートを基に解説する。

テンプレートディレクトリ

DokuWikiのテンプレート格納ディレクトリはlib/tplであり、デフォルトテンプレートはlib/tpl/dokuwikiである。

デフォルトテンプレートをカスタマイズする場合は、このディレクトリ内のファイルを編集することになる。新規でテンプレートを開発する場合は、デフォルトテンプレートがDokuWikiの標準的な機能を満たしているので、このディレクトリをベースにコピーして開発していくのがよい。

ロゴの変更

テンプレートで用意されているサイトロゴなどの画像を、差し替えることなく変更できる。デフォルトテンプレートでは、以下の3つの画像を変更できる。

  • サイトロゴ(logo.png
  • ファビコン(favicon.ico
  • ブックマークアイコン(apple-touch-icon.png

変更の仕方は、名前空間wikiかルートに同じ名前の画像ファイルを用意する。そうすると、以下の画像読み込みの優先順位があるので、テンプレートの画像より先に読み込まれることになる。

  1. :wiki:logo.png (favicon.icoapple-touch-icon.png
  2. :logo.png (favicon.icoapple-touch-icon.png
  3. lib/tpl/dokuwiki/images/logo.png (favicon.icoapple-touch-icon.png

挿入(組込)フックによるコンテンツの追加

挿入(組込)フックとは、テンプレート本体を編集することなく、コンテンツの一部を挿入できる仕組みのことである。

用意されているフックの箇所はテンプレートによって異なるので、DokuWiki公式サイトの各テンプレートのページを参考にする。具体的には、テンプレートのソースファイル内で、tpl_includeFile('meta.html')のように記述している箇所になる。DokuWikiデフォルトテンプレートの場合は、以下の通り。

ファイル名 フックの位置
meta.html headタグの中。metaタグやスタイルを追加可能。
sidebarheader.html (サイドバーがあれば)サイドバーの上部。
sidebarfooter.html (サイドバーがあれば)サイドバーの下部。
pageheader.html コンテンツの上部。
pagefooter.html コンテンツの下部。
header.html ページの上部。ロゴや Wiki タイトルの上。
footer.html ページの一番最後。他の全ページの内容の後。

なお、フックされるコンテンツの拡張子はHTMLであるが、ソースファイルの内容はPHPも記述することができるので、動的なコンテンツにすることも可能である。フックされるコンテンツファイルの格納ディレクトリは、テンプレートと同一ディレクトリ(デフォルトテンプレートの場合、lib/tpl/dokuwiki)か、confとなる。

CSS(スタイルシート)のカスタマイズ

JavaScriptのカスタマイズ

参考ページ

template/point.txt · 最終更新: 2018/09/03 10:46:29 by admin