目次
= dokuwiki
dokuwiki に関して書き貯めていく場所.
1. 概要 [2023-10-04]
2023 年現在,ドキュメントを置いておくには,docbase のようなクラウドサービスを使うことが多いかもしれない.ただ,サーバを持っている個人がメモをおいておくには,何らかの Wiki システムを使うことを検討すると思う.
2000 年頃は,pukiwiki を始めとして様々な wiki システムが存在していたが,今も活発に開発されているシステムは少ない.https://yamdas.hatenablog.com/entry/20221003/oss-wiki ここを見ると 10 個程度らしい.個人的に,wiki を設置するのに MySQL のようなデータベースシステムは利用したくない.管理しなければならないミドルウェアが増えるのはめんどくさいし,DB 使うほど大量のアクセスもない.また,可能ならば emacs でほぼ編集が完結するものが良い,ということで探すと,ほとんど選択肢はなく,dokuwiki を選んだ.
もし DB の利用が問題ないならば,MediaWiki は WikiPedia で利用されていて,今後の開発も継続される可能性が高い為,良い選択だと思われる.
2. インストール
2.1 初期インストール [2021-05-27]
PHP が動作する環境にて,dokuwiki 公式サイトからダウンロードしてきて設置し,install.php にアクセスすれば良いだけ. dokuwiki がデータフォルダなどにアクセスするため,ファイルの所有権を httpd と同じユーザにするなど対応しておく.
2.2 アップデート方法 [2023-09-07]
dokuwiki のインストールされているフォルダにて,DokuWiki ダウンロードページよりダウンロードしてきたファイルを上書きすればOK.
以下は,ファイルを fetch してきて,上書き保存するコマンド例.
% fetch https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz % tar zxvf dokuwiki-stable.tgz % sudo -u www doku doku.bak % sudo -u www cp -r dokuwiki-2023-04-04a/* doku/
3. 構文ハイライト [2021-10-16]
<code hoge> のような形で書いていく.hoge 部分に書けるのは,dokuwiki の整形記法に記述あり.
ada, apache, applescript, asm, asp, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, gdb, glsl, gml, gnuplot, groovy, gettext, haskell, hq9plus, html, idl, ini, inno, intercal, io, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, mapbasic, matlab, mirc, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, pascal, perl, perl6, per, php-brief, php, pike, pic16, pixelbender, plsql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, qbasic, rails, rebol, reg, robots, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xml, xorg_conf, xpp, z80
4. XML-RPC 設定 [2021-05-27]
emacsにも書いてあるが,
dokuwiki 側の設定で,管理 → サイト設定 → 認証 と進み,“remote” の項目にチェックを入れ,“remoteuser” にアクセスするユーザを指定しておく.
とすると,dokuwiki.el から XML-RPC でアクセスし,emacs から編集できる.今も,emacs 上で編集を進めています.
5. プラグイン
5.1 wrap plugin [2023-09-10]
- TBD
- テーブルを箇条書のインデントに合わせられる.
- wrap と WRAP で意味が違うっぽい.
5.2 changes plugin
- start.txt にて使っている.
- 変更履歴をリストアップしてくれる.
- 過去7日以内の,最新 10 件(デフォルト)を取得
{{cahnges}}
- 最新 15 件を取得
{{changes>15}}
- 7 日がデフォルトの変更履歴としての保持期間.
- conf/dokuwiki.php に,%$conf['recent_days'] = 7;% との記述があるので,こちらを適当に変更すれば古いものも表示される.
- もしかしたら,diff などの保持期間が伸びて,容量を圧迫するなどのデメリットがあるのかもしれないが,未確認.
6. テンプレート [2021-05-27]
テンプレートは,dokuwiki の見た目を変更するスタイルシート.検索すると,公式サイトが見つかるのでそこで気に入ったものを適用すると良い.
- テンプレート選択画面:管理→サイト設定の中。
- テンプレートの設置方法:TBA
- テンプレート感想:
- [2021-05-27] bootstrap3 Template がシンプルで今のところ気に入っている.heading の見やすいテンプレートがもう少しあれば助かる.
- [2023-09-07] heading が見にくいので、デフォルトに戻してみた。
- [2023-09-07] デフォルトも見にくいので、dokubookにしてみた。インデントしてくれるのでとても見やすく感じる。
- デフォルトでは,dokubook のサイドバーは,ページのファイル名一覧を表示する.
- 管理→サイト設定→(一番下)テンプレート に,Pagename to use for the navigation という項目があり,デフォルトが navigation になっているので,sidebar に変更すれば,sidebar ページの内容が表示される.
- [2023-09-12] ''hoge'' のように,シングルクオーテーションで囲んだ部分は,
<pre>
で囲んだのと同じになるが,背景色が設定されていなかったので,lib/tmp/dokubooku/design.css
の L500 あたりに,次のような指定を追加した./* code inline by code tag by skk */ div.dokuwiki code { background-color: __background_other__; }
__background_other__
は,style.ini
というファイルの中で定義されている.DokuWiki の CSS の取り扱いの中で,置換しているように思われる.- 参考:公式のテンプレートの style.ini
6.1 Numbered Headings Plugin
- H1-H5 とかに番号をつけてくれる.最近の CSS で対応してるっぽい?
==== - hoge ====
のように,タイトルの前に - をつけることで,番号がつく.- リナンバーすることも可能そう.上記リンク先参照.
7. pukiwiki からのデータ移行 [2021-05-27]
puki2dokuを利用すると,一発.
% puki2doku.pl -v --font-color --indexmenu --ignore-unknown-macro -s /home/www/public_html/skk/memo/wiki -d /home/www/public_html/skk/doku/data/pages
残念なのが,日本語ページがちょいちょい変換に失敗するところと,pukiwiki デフォルトのページまで移行されてしまうこと.これは仕方ないので,ちょこちょこと手で編集していくしかないかもしれない.
7.1 テンプレートカスタマイズ [2021-05-27]
DokuWikiで情報発信などを見ると,dokuwiki の CSS についての説明が書いてあるので,参考にすると良さそう.