サイドバー
依存症
回復
-
- 字句的
-
DokuWikiを整備してきた記録。再インストールからやり直すときのためのメモ。
DokuWiki公式サイト
プラグイン情報
~
plugin:dw2pdf を導入 - ページをPDFに出力できる。
plugin:caption を導入。
という使い方ができ、TalbeとFigureごとに通番が振られる。
https://dokuwiki.biz/tool/analytics のように、トラッキングコードを meta.html に埋め込んだ方がプラグインを使うより手早く済ませられる気がする。
メンテナンスが止まった plugin:pagemove を長く使ってきたが、plugin:move に乗り換えることにした。エラーが出ないので嬉しい。
ログインしていないユーザーの操作を制限する plugin:denyactions を導入。意図についてはログインなどを消す を参照。
ページをコピーして同一内容のページを作る plugin:copypage を導入してみたのだが、大変便利なのだが、ログインしていないユーザーでもページツールの中に「文書のコピー」が表示されてしまうのが難点。こちらを見る限り作者に対応するつもりがないようなので、使うのを諦めた次第。→改造は意外と難しくなかった。
スタートページの最上段に新着ページのリストを表示したかったので、Changes Pluginをインストールした。
{{changes>count=3&type=create,edit&render=list(summary,nouser)}}
また、DokuWikiはテーブルやカラムの幅を指定できないので、テーブルの幅指定プラグインTable Width Pluginを導入した。
|< 100% 50px - 5em 10em 10% >|
DokuWikiのサイト に使われているTeaserというプラグイン。dokuwiki.org専用ということだが、GitHubからダウンロードしてインストールした。
Additional syntax
Teaser Plugin
このTeaserプラグインのCSSはかなり「やっつけ仕事」っぽい(dokuwiki.org専用だからか)ので、二列にうまく並ばないことも多い。userstyle.css に以下を追加して対応した。
div.level1 div.dokuteaser:nth-of-type(odd) { margin-right: 4%; clear: left; } div.level1 div.dokuteaser:nth-of-type(even) { margin-right: 0; clear: right; }
nth-child → nth-of-type に変更した。
依存症と関係ないコンテンツを別のWikiに分離することにした。
だが、DokuWikiをあちこちにインストールすると、アップデートなどに手間がかかる。一ヶ所にインストールしたDokuWikiを共有し、データやデザインは別個に持つ、というやり方を探したところ、「牧場(farm)」という仕組みが使えることが分った。
現在のこのWikiは「牧場」としてそのまま使うことにして、「動物」を一つ作って、そちらに一部のコンテンツを移動させた。
右上の表示される標準の目次が邪魔になることもある。plugin:toctweakを入れた。 標準の目次機能は
~~NOTOC~~
で抑止しておき、
{{INLINETOC}}
を記述した場所にインライン目次を表示させる。
ja:tips:maintenanceのcleanup.shを農場用に変更した。
これまで、スタイルシートの変更(h1,h2に下線を追加、h3に左線を追加、h4にも左線を追加、bodyのフォントを変更)は lib/tpl/dokuwiki/css/basic.css を編集してきた(Ponder Stibbons以降は basic.less )。
しかしながら、これはアップデートの度にbasic.lessを修正し直さなければならないので、面倒である。そこで、
CSS スタイルシートの記述に従って、変更点を conf/userstyle.less に記述した。このとき、userstyle.less はスクリーン専用なので、
@media screen{ }
で囲む必要は無い(囲むと動作しない)。これによって、全テンプレートに共通した変更を加えることができる。
書き換えによるきれいな URLで、www.ieji.org/wiki/start → wiki.ieji.org/start とURLの書き換えを行ったのだが、
ということもあり、メインのサイトをWordPressにする準備として、DokuWikiのサブドメイン→サブフォルダ化を行った。
具体的には、.htaccessのRewriteBaseを、“/”→“/wiki/“に変えただけ。
ただし、このままだと、いままでどおりのURLの http://wiki.ieji.org/* でアクセスするとエラーになってしまうので、301で転送することにした。.htaccess に下記の2行を加えた。
# wiki.ieji.org -> ieji.org/wiki/ RewriteCond %{HTTP_HOST} ^wiki\.ieji\.org RewriteRule ^(.*) http://ieji.org/wiki/$1 [R=301,L]
これは、/wiki/.htaccess に書き加えなくてはならない。最初は ”/.htaccess” をいじっていたので500エラーになってしまっていた。しかも、
RewriteEngine on
の行の直下に書かないとならない(DokuWikiのRewriteRuleより上にないとならないから)。
“2015-08-10 Detritus”をインストール。
バージョンアップ時に何らかの問題が生じることが多かったが、これ以降、あまり問題が起きなくなったので、バージョンアップの記録はやめた。
plugin:sync をローカルPCのDokuwikiにインストール。
“2014-09-29 Hrun”をインストール。
plugin:include をインストール。
plugin:upgrade をインストール。これを使って“2014-05-05a”にアップグレードした。
“2014-05-05 Ponder Stibbons”をインストール。やはりWrapプラグインでCSS解釈エラーがでるが、これは lib/tpl/dokuwiki/css/basic.css → basic.less の名称変更ためなので、名前を変えたファイルをアップロードすれば解消する。 結果としてBinkyのリリース版はスキップして、いきなりPonder Stibbonsになった。
“Binky” RC1 をインストールしてみたけれど、Wrapプラグインの問題なのか、CSS解釈でエラーが出たので元に戻した。
アップデート時のバックアップと展開の参考に:TARの使い方
IndexMenuプラグインでメタデータを使った並べ替えを指定した。サイドバーでのIndexMenuにmsortを追加し、メタデータのないものは名前順に並べるように
{{indexmenu>|noscroll msort nsort}}
と指定。順番指定のためには、各ページに
{{indexmenu_n>N}} # Nは数字
と記述しておく。
ja:tips:maintenanceに従って、自動削除のスクリプト
#!/bin/sh # DokuWiki のインストールパスを設定 DOKUWIKI=/path/to/your/wiki # 30 日以上経過したファイルを屋根裏部屋から削除 find $DOKUWIKI/data/attic/ -type f -mtime +30 -exec rm -f {} \; # 古くなったロックファイルを削除 find $DOKUWIKI/data/locks/ -name '*.lock' -type f -mtime +1 -exec rm -f {} \; # 空のディレクトリを削除 find $DOKUWIKI/data/pages/ -depth -type d -empty -exec rmdir {} \;
という cleanupdoku.sh を作り一日一回実行するように cron に設定した。
(DOKUWIKIは環境に合わせて設定してね)
lib/tpl/dokuwiki/css/basic.css の body の font を
font: normal 87.5%/1.4 Arial, sans-serif;
から
font: normal 87.5%/1.6 Arial, Meiryo, Chicago, sans-serif;
に変更追加した。Meiryo を Arial の前に配置すれば、IE7や旧Operaでもメイリオのフォントで表示されるが、そのかわり英字もすべてメイリオになってしまう。Arial の後に Meiryo を配置すれば、Gecko(Firefox)/WebKit(Safari/Chrome) では英字がArial、和字がメイリオとなるので、こうしている。
/ の後の数字は line-height に相当(初めて知った)。1.4→1.6に拡大した。
h3同様に、左側に線を追加した。
lib/tpl/dokuwiki/css/basic.css の h4 のところに
border-left: 1em solid #cccccc; padding-left: 8px;
を追加した。
plugin:wrapプラグインのWRAPではboxの背景色が指定できなかったので、そのためにplugin:boxプラグインを入れた。
<box 95% #FAEBD7> こんな感じのソースで </box>
plugin:styper プラグインを削除した(styleが動作せず、あまり使えなかったのが理由)。
かわりにplugin:wrap プラグインを入れた。
小文字のwrapはspan(インライン要素)を作る。強調はできるが、番号付きリストなどはできない。inlineやspanでも同じ。
大文字のWRAPはdiv(ブロックレベル要素)を作る。blockやdivでも同じ。 強調もできるし
これはround box 90% center
左寄せ(leftalign)・中央寄せ(centeralign)・右寄せ(rightalign)・均等割り付け(justify)
ハイライト(hi)・目立たない(lo)・とても目立つ(em)
マルチカラム(column)・インデント(indent)・アウトデント(outdent)
タブも実装できる。
ここにサンプルがある
h1,h2に下線を追加の時にh3はほったらかしだったが、これにも下線を追加するとウザい表示になるので、左側に線を追加した。
lib/tpl/dokuwiki/css/basic.css の h3 のところに
border-left: 4px solid #999999; padding-left: 8px;
を追加した。
plugin:Editx をインストールしてページを移動してみた。editxはリダイレクトページが残せる点は便利だが、バックリンクが修正されないのですべて手動で直す必要があるのが面倒。
plugin:pagemove をインストールした。こちらは(古くていろいろ問題はあっても)無事バックリンクも修正されている。
Wikipediaのデザインを見習って、lib/tpl/dokuwiki/css/basic.css の h1 と h2 のところに
border-bottom: 1px solid #AAAAAA;
を追加した。
conf/interwiki.local.conf に
amazon.jp http://www.amazon.co.jp/dp/{NAME}/
を追加してみた(動くかどうかは確かめてない→動きました!)
[[amazon.jp>4990228308|アルコホーリクス・アノニマス]]
という利用を想定している。
プラグイン1で、ja:plugin:blockquoteプラグインを導入したが、引用部分をスマートホンで見ると、引用両脇のスペースが大きすぎて見にくいので、
style.cssのmarginを
margin: 1em 2em 1.8em 2em;
から
margin: 1em 1.2em 1.8em 1.2em;
と変更した。
CMSレジュメ タイトルを変更を参考に、useheadingを「ナビゲーションのみ」navigationに設定した。
まず CMSレジュメ サイドバーの表示方法を参考に、plugin:sideberを導入してみたが、うまく表示できなかった。
そこで初心者がWEB開発に挑戦 DokuWikiにサイドバーを配置するにはというページを見つけ、それを参考にsideberページを作るだけで DokuWiki テンプレートにサイドバーが表示された。DokuWikiのAdora Belleバージョン対応の新しいテンプレートでは、sideberというページがあれば、それをサイドバーに設定するようになっているみたいだ。
サイドバーの幅が広すぎてバランスが悪いので、DokuWikiのテンプレートを調整する。 ja:template:dokuwiki を参考に lib/tpl/dokuwiki/style.local.ini を作成し、中身を
[replacements] __site_width__ = "85em" __sidebar_width__ = "15em"
とした。
サイドバーの中身はとりあえずこんな感じ(IndexMenuプラグイン導入を前提に)。参考 プログラムを作ってます dokuwikiの設定
==== サイドバー ==== [[start|スタートページ]]\\ [[sidebar?do=index|サイトマップ]]\\ [[sidebar]]\\ \\
plugin:IndexMenu をインストールした
参考ページ:CMSレジュメ IndexMenuプラグイン
plugin::note をインストールした。
<note> This is my note ! Remember it!! </note> <note important> Warning ! You're about to lose your mind ;-) </note> <note tip> The clues are in the images. </note> <note warning> Beware of the dog when you open the door !! </note>
plugin:blockquote と plugin:styler をインストールした。
blockquoteのスタイルシートがデフォルトのと整合しないので、blockquoteプラグインのstyle.cssを
/* blockquote */ .dokuwiki blockquote.blockquote-plugin { border: 1px solid __border__; border-radius: 2px; box-shadow: inset 0px 0px 0.5em #CCCCCC; overflow: auto; padding: 1.4em 1.4em 0; word-warp: normal; background-color: #FBFAF9; margin: 1em 2em 1.8em 2em; # margin: 1em 3em 1em 3em; # border: 1px dotted __border__; # background: __background_alt__ url(images/blockquote.gif) no-repeat 0.3em 0.3em; # padding: 1em; }
と変更した。
その後の変更。コードブロックと区別するために、
background-color: #FBFAF9;
を
background-color: #F0FAF0;
と緑っぽくした。→緑っぽすぎるので
background-color: #F4FAF4;
に変更。
ここを見ながらサブドメインを設定
ドメインを利用(他社で取得・管理のドメイン)
.htaccessのRewriteBaseを/に変更。
URLが
http://wiki.ieji.org/start
http://wiki.ieji.org/history
となった
公式ページ:URLの書き換え
参考サイト:さくらのレンタルサーバ・スタンダードにDokuWiki導入
導入前はこんな感じのURLだった。
http://www.ieji.org/wiki/doku.php?id=start
http://www.ieji.org/wiki/doku.php?id=history
.htaccessの変更と、
$conf['userewrite'] = 1;
で、こんな感じのURLになる。
http://www.ieji.org/wiki/start
http://www.ieji.org/wiki/history
dataやconfフォルダはアクセスさせない方がいいという話と、検索について plugin:asiansearch の情報がある。
ここを見てとりあえずインストールした。
さくらのレンタルサーバ・スタンダードにDokuWiki導入
ダウンロードサイトは http://download.dokuwiki.org/
最新版のダイレクトリンクは http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
$ mkdir tmp $ cd tmp // ダウンロード $ wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz // 解凍 $ tar xzvf dokuwiki-stable.tgz // wwwフォルダ以下のdokuwikiに移動 $ mv dokuwiki-stable ~/www/wiki
ブラウザでinstall.phpにアクセス。/wiki/install.php
終わったらinstall.phpを削除しておく。
$ rm ~/www/wiki/install.php