~~NOTOC~~
======DokuWikiの整備履歴+メモ======
DokuWikiを整備してきた記録。再インストールからやり直すときのためのメモ。
{{INLINETOC}}
=====参照中の情報=====
DokuWiki公式サイト
*[[doku>ja:syntax|整形記法]]
*[[doku>ja:manual|利用者マニュアル]]
*[[doku>ja:plugins|プラグイン]]
*[[doku>ja:template|テンプレート]]
*[[doku>ja:template:dokuwiki|DokuWiki テンプレート]]
プラグイン情報
*[[doku>plugin:blockquote]] -> [[#プラグイン1_blockqupte_styler]]
*[[doku>plugin:styler]]
*[[doku>plugin:note]] -> [[#プラグイン2_note]]
*[[doku>plugin:Indexmenu]] -> [[#プラグイン3_Indexmenu]]
*[[doku>plugin:editx]], [[doku>plugin:pagemove]] -> [[#プラグイン4_editx_pagemove]]
*[[doku>plugin:wrap]] -> [[#プラグイン5_wrap]]
*[[doku>plugin:box]] -> [[#プラグイン6_box]]
*[[doku>plugin:upgrade]] -> [[#プラグイン7_upgrade]]
*[[doku>plugin:include]] -> [[#プラグイン8_include]]
*[[doku>plugin:sync]] -> [[#プラグイン9_sync]]
*[[https://github.com/splitbrain/dokuwiki-plugin-dokuteaser|Teaser]] -> [[#プラグイン10_Teaser]]
*[[doku>plugin:changes]], [[doku>plugin:tablewidth]] -> [[#プラグイン11 Changes, Table Width]]
*[[doku>plugin:move]], [[doku>plugin:denyactions]] -> [[#プラグイン12_Move,_denyactions,_Copy_Page]]
*[[doku>plugin:googleanalytics]] -> [[#プラグイン13_Google Analytics for DokuWiki]]
*[[doku>plugin:caption]] -> [[#プラグイン14_caption]]
*[[doku>plugin:dw2pdf]] -> [[#プラグイン15_DW2PDF]]
*[[http://www.cmsresume.com/dokuwiki/plugin|CMSレジメ:DokuWikiプラグイン]]
----
======履歴======
~
=====プラグイン15 DW2PDF=====
[[doku>plugin:dw2pdf]] を導入 - ページをPDFに出力できる。
参考: [[doku>tips:pdfexport|Export DokuWiki Pages to PDFs]]
=====プラグイン14 Caption=====
[[doku>plugin:caption]] を導入。
という使い方ができ、TalbeとFigureごとに通番が振られる。
=====プラグイン13 Google Analytics for DokuWiki=====
[[doku>plugin:googleanalytics]] を導入。\\
https://dokuwiki.biz/tool/analytics のように、トラッキングコードを meta.html に埋め込んだ方がプラグインを使うより手早く済ませられる気がする。
=====プラグイン12 Move, denyactions, Copy Page=====
メンテナンスが止まった [[doku>plugin:pagemove]] を長く使ってきたが、[[doku>plugin:move]] に乗り換えることにした。エラーが出ないので嬉しい。
ログインしていないユーザーの操作を制限する [[doku>plugin:denyactions]] を導入。意図については[[https://ragi.mokuren.ne.jp/dokuwiki;hidelogin|ログインなどを消す]] を参照。
ページをコピーして同一内容のページを作る [[doku>plugin:copypage]] を導入してみたのだが、大変便利なのだが、ログインしていないユーザーでもページツールの中に「文書のコピー」が表示されてしまうのが難点。[[https://github.com/orangain/dokuwiki-copypage-plugin/issues/9|こちら]]を見る限り作者に対応するつもりがないようなので、使うのを諦めた次第。→改造は意外と難しくなかった。
=====プラグイン11 Changes, Table Width=====
スタートページの最上段に新着ページのリストを表示したかったので、[[doku>plugin:changes|Changes Plugin]]をインストールした。
{{changes>count=3&type=create,edit&render=list(summary,nouser)}}
また、DokuWikiはテーブルやカラムの幅を指定できないので、テーブルの幅指定プラグイン[[doku>plugin:tablewidth|Table Width Plugin]]を導入した。
|< 100% 50px - 5em 10em 10% >|
=====プラグイン10 Teaser=====
[[https://www.dokuwiki.org/dokuwiki|DokuWikiのサイト]] に使われているTeaserというプラグイン。dokuwiki.org専用ということだが、[[https://github.com/splitbrain/dokuwiki-plugin-dokuteaser|GitHub]]からダウンロードしてインストールした。
**[[https://www.dokuwiki.org/teams:documentation:additional_syntax|Additional syntax]]**\\
**[[https://github.com/splitbrain/dokuwiki-plugin-dokuteaser|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 に変更した。
=====農場・TocTwek・cron再設定=====
====農場====
依存症と関係ないコンテンツを別のWikiに分離することにした。\\
だが、DokuWikiをあちこちにインストールすると、アップデートなどに手間がかかる。一ヶ所にインストールしたDokuWikiを共有し、データやデザインは別個に持つ、というやり方を探したところ、「牧場(farm)」という仕組みが使えることが分った。\\
*[[doku>ja:tips:farm|DokuWikiによるWikiファーム]]
*[[doku>ja:farms|DokuWiki 牧場]]
*[[doku>farms:advanced|Advanced Farm Setups and Tips]]
*[[doku>plugin:farmer|Farmer Plugin]]
現在のこのWikiは「牧場」としてそのまま使うことにして、「動物」を一つ作って、そちらに一部のコンテンツを移動させた。
====プラグイン10 TocTweak====
右上の表示される標準の目次が邪魔になることもある。[[doku>plugin:toctweak]]を入れた。
標準の目次機能は
~~NOTOC~~
で抑止しておき、
{{INLINETOC}}
を記述した場所にインライン目次を表示させる。
====cron====
[[doku>ja:tips:maintenance]]のcleanup.shを農場用に変更した。
=====conf/userstyle.less=====
これまで、スタイルシートの変更([[#h1,h2に下線を追加]]、[[#h3に左線を追加]]、[[#h4にも左線を追加]]、[[#bodyのフォントを変更]])は lib/tpl/dokuwiki/css/basic.css を編集してきた(Ponder Stibbons以降は basic.less )。
しかしながら、これはアップデートの度にbasic.lessを修正し直さなければならないので、面倒である。そこで、
[[https://www.dokuwiki.org/ja:devel:css|CSS スタイルシート]]の記述に従って、変更点を conf/userstyle.less に記述した。このとき、userstyle.less はスクリーン専用なので、
@media screen{ }
で囲む必要は無い(囲むと動作しない)。これによって、全テンプレートに共通した変更を加えることができる。
=====サブドメイン→サブフォルダ=====
[[#書き換えによるきれいな URL]]で、www.ieji.org/**wiki**/start -> **wiki**.ieji.org/start とURLの書き換えを行ったのだが、\\
* アクセスログには各ドメインへのアクセスが混在して記録されるが、ドメイン名は記録されない。なので、アクセス解析を見るときには、サブドメインよりサブフォルダのほうが区別が付けやすい。
* メインのドメインと共通していた方が、SEO的に優位(らしい)。
ということもあり、メインのサイトを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より上にないとならないから)。
参考サイト:\\
[[http://www-creators.com/archives/248|.htaccess でのリダイレクト(転送)設定の書き方]]\\
[[https://murashun.jp/blog/20141229-01.html|.htaccess の書き方]]\\
=====Detritus=====
"2015-08-10 Detritus"をインストール。\\
バージョンアップ時に何らかの問題が生じることが多かったが、これ以降、あまり問題が起きなくなったので、バージョンアップの記録はやめた。
=====プラグイン9 sync=====
[[doku>plugin:sync]] をローカルPCのDokuwikiにインストール。
=====Hrun=====
"2014-09-29 Hrun"をインストール。
=====プラグイン8 include=====
[[doku>plugin:include]] をインストール。
=====プラグイン7 upgrade=====
[[doku>plugin:upgrade]] をインストール。これを使って"2014-05-05a"にアップグレードした。
=====Ponder Stibbons=====
"2014-05-05 Ponder Stibbons"をインストール。やはりWrapプラグインでCSS解釈エラーがでるが、これは
lib/tpl/dokuwiki/css/basic.css -> basic.less
の名称変更ためなので、名前を変えたファイルをアップロードすれば解消する。
結果としてBinkyのリリース版はスキップして、いきなりPonder Stibbonsになった。
====="Binky" RC1=====
"Binky" RC1 をインストールしてみたけれど、Wrapプラグインの問題なのか、CSS解釈でエラーが出たので元に戻した。
アップデート時のバックアップと展開の参考に:[[http://airknights.fumimi.com/freebsd/archiver/tar.php|TARの使い方]]
=====Indexmenuの順番指定=====
[[doku>plugin:indexmenu|IndexMenuプラグイン]]でメタデータを使った並べ替えを指定した。サイドバーでのIndexMenuにmsortを追加し、メタデータのないものは名前順に並べるように
{{indexmenu>|noscroll msort nsort}}
と指定。順番指定のためには、各ページに
{{indexmenu_n>N}} # Nは数字
と記述しておく。
=====自動削除スクリプト=====
[[doku>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は環境に合わせて設定してね)
=====bodyのフォントを変更=====
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に拡大した。
[V.up] 当然これもバージョンアップ時に上書きされちゃうはず。
=====h4にも左線を追加=====
h3同様に、左側に線を追加した。
lib/tpl/dokuwiki/css/basic.css の h4 のところに
border-left: 1em solid #cccccc;
padding-left: 8px;
を追加した。
[V.up] 当然これもバージョンアップ時に上書きされちゃうはず。
=====プラグイン6 box=====
[[doku>plugin:wrap]]プラグインのWRAPではboxの背景色が指定できなかったので、そのために[[doku>plugin:box]]プラグインを入れた。
こんな感じのソースで
こんな感じ
=====プラグイン5 wrap=====
[[doku>plugin:styper]] プラグインを削除した(styleが動作せず、あまり使えなかったのが理由)。\\
かわりに[[doku>plugin:wrap]] プラグインを入れた。
小文字のwrapはspan(インライン要素)を作る。**強調**はできるが、番号付きリストなどはできない。inlineやspanでも同じ。
大文字のWRAPはdiv(ブロックレベル要素)を作る。blockやdivでも同じ。
**強調**もできるし
-番号付きリストができる
-こんな感じ
これはround box 90% center
左寄せ(leftalign)・中央寄せ(centeralign)・右寄せ(rightalign)・均等割り付け(justify)\\
ハイライト(hi)・目立たない(lo)・とても目立つ(em)\\
マルチカラム(column)・インデント(indent)・アウトデント(outdent)\\
タブも実装できる。
[[https://www.dokuwiki.org/_media/plugin:wrap_plugin_example6.png|ここ]]にサンプルがある
=====h3に左線を追加=====
[[#h1,h2に下線を追加]]の時にh3はほったらかしだったが、これにも下線を追加するとウザい表示になるので、左側に線を追加した。
lib/tpl/dokuwiki/css/basic.css の h3 のところに
border-left: 4px solid #999999;
padding-left: 8px;
を追加した。
[V.up] 当然これもバージョンアップ時に上書きされちゃうはず。
=====プラグイン4 editx/pagemove=====
[[doku>plugin:Editx]] をインストールしてページを移動してみた。editxはリダイレクトページが残せる点は便利だが、バックリンクが修正されないのですべて手動で直す必要があるのが面倒。
[[doku>plugin:pagemove]] をインストールした。こちらは(古くていろいろ問題はあっても)無事バックリンクも修正されている。
=====h1,h2に下線を追加=====
Wikipediaのデザインを見習って、lib/tpl/dokuwiki/css/basic.css の h1 と h2 のところに
border-bottom: 1px solid #AAAAAA;
を追加した。
[V.up] バージョンアップ時に上書きされちゃうはず。
=====Amazon.jp InterWiki リンクの追加=====
conf/interwiki.local.conf に
amazon.jp http://www.amazon.co.jp/dp/{NAME}/
を追加してみた(動くかどうかは確かめてない->動きました!)
[[amazon.jp>4990228308|アルコホーリクス・アノニマス]]
という利用を想定している。
=====スマホ向けblockqupteのcssマージン変更=====
[[#プラグイン1]]で、[[doku>ja:plugin:blockquote]]プラグインを導入したが、引用部分をスマートホンで見ると、引用両脇のスペースが大きすぎて見にくいので、
style.cssのmarginを
margin: 1em 2em 1.8em 2em;
から
margin: 1em 1.2em 1.8em 1.2em;
と変更した。
その後、blockquoteのスタイルシートが変更され、この修正は必要なくなった。
=====useheadingの設定=====
[[http://www.cmsresume.com/dokuwiki/faq/useheading|CMSレジュメ タイトルを変更]]を参考に、[[doku>ja:config:useheading|useheading]]を「ナビゲーションのみ」navigationに設定した。
以後、sidebarのindexmenuに見出しがリンクテキストとして表示されるので、きちんと見出しを設定すること。
=====サイドバーの設置=====
まず [[http://www.cmsresume.com/dokuwiki/faq/sidebar|CMSレジュメ サイドバーの表示方法]]を参考に、[[doku>plugin:sideber]]を導入してみたが、うまく表示できなかった。
そこで[[http://naka7772.blog.fc2.com/blog-entry-208.html|初心者がWEB開発に挑戦 DokuWikiにサイドバーを配置するには]]というページを見つけ、それを参考に**sideberページを作るだけで DokuWiki テンプレートにサイドバーが表示された**。DokuWikiのAdora Belleバージョン対応の新しいテンプレートでは、sideberというページがあれば、それをサイドバーに設定するようになっているみたいだ。
サイドバーの幅が広すぎてバランスが悪いので、DokuWikiのテンプレートを調整する。
[[doku>ja:template:dokuwiki]] を参考に lib/tpl/dokuwiki/style.local.ini を作成し、中身を
[replacements]
__site_width__ = "85em"
__sidebar_width__ = "15em"
とした。
サイドバーの中身はとりあえずこんな感じ(IndexMenuプラグイン導入を前提に)。参考 [[http://ishijima.blog97.fc2.com/blog-entry-15.html|プログラムを作ってます dokuwikiの設定]]
==== サイドバー ====
[[start|スタートページ]]\\
[[sidebar?do=index|サイトマップ]]\\
[[sidebar]]\\
\\
=====プラグイン3 Indexmenu=====
[[doku>plugin:IndexMenu]] をインストールした
参考ページ:[[http://www.cmsresume.com/dokuwiki/plugin/indexmenu|CMSレジュメ IndexMenuプラグイン]]
=====プラグイン2 note=====
[[doku>plugin::note]] をインストールした。
This is my note ! Remember it!!
Warning ! You're about to lose your mind ;-)
The clues are in the images.
Beware of the dog when you open the door !!
This is my note ! Remember it!!
Warning ! You're about to lose your mind ;-)
The clues are in the images.
Beware of the dog when you open the door !!
=====プラグイン1 blockqupte/styler=====
[[doku>plugin:blockquote]] と [[doku>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;
に変更。
その後、blockquoteのスタイルシートが変更され、この修正は必要なくなった。
=====サブドメイン=====
ここを見ながらサブドメインを設定\\
[[http://support.sakura.ad.jp/manual/rs/domain/other_company.html|ドメインを利用(他社で取得・管理のドメイン)]]
.htaccessのRewriteBaseを/に変更。
URLが\\
%%http://wiki.ieji.org/start%%\\
%%http://wiki.ieji.org/history%%\\
となった
その後、[[#サブドメイン→サブフォルダ]]変更を行って、\\
http://wiki.ieji.org/start → http://ieji.org/wiki/start\\
に戻した。
=====書き換えによるきれいな URL=====
公式ページ:[[https://www.dokuwiki.org/ja:rewrite|URLの書き換え]]\\
参考サイト:[[http://sugumura.hatenablog.com/entry/20120609/1339271179|さくらのレンタルサーバ・スタンダードに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フォルダはアクセスさせない方がいいという話と、検索について [[doku>plugin:asiansearch]] の情報がある。
=====DokuWikiのインストール=====
ここを見てとりあえずインストールした。\\
[[http://sugumura.hatenablog.com/entry/20120609/1339271179|さくらのレンタルサーバ・スタンダードに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