dokuwiki-2012-10-13でtagentryを使用する方法

既存のタグを編集画面で表示

Dokuwikiのプラグインの話です.

tagプラグインplugin:tag [DokuWiki]で使用したタグを編集画面で表示する. dokuwiki-2012-10-13版では編集画面でTagが表示できないので以下の様に編集した. -が削除行で,+が追加行です.

diff -u lib/plugins/tagentry/action.php.orig lib/plugins/tagentry/action.php
--- action.php.orig     2013-03-04 22:12:48.000000000 +0900
+++ action.php  2013-03-04 22:15:45.000000000 +0900
@@ -55,9 +55,6 @@
       $pos = $event->data->findElementByAttribute('type','submit');
       if(!$pos) return; // no button -> source view mode
       #echo "DEBUG: <pre>".print_r($event->data,true).'</pre>';
-      if (   !empty($event->data->_hidden['prefix'])
-          || !empty($event->data->_hidden['suffix'])) return;
-      if ($event->data->findElementByType('wikitext')===false) return;
     }elseif(!$event->data['writable']){
       return;
     }
@@ -71,10 +68,10 @@
       }
     }

-    if ($this->getConf('tagsrc') == 'All tags' && $thlp) {
-      $alltags=$this->_gettags($thlp);
-    } else {
-      $alltags=$this->_getpages($tagns);
+    if ($this->getConf('tagsrc') == 'All tags') {
+       $alltags=array_map('trim', idx_getIndex('subject', '_w'));
+       } else {
+       $alltags=$this->_getpages($tagns);
     }

     // get already assigned tags for this page

参考URL

Dokuwikiをmakrdown対応させて画像挿入するとDokuwikiが台無しになる

gollum GitHub https://github.com/github/gollum がいいみたいな話を聞いたので試してみます.2013/02/01

この問題に関しては[plugin:markdowku [DokuWiki]]を使用することにより解決できました.(2013/03/05)

初めに

他のwikiへ移行する理由

現在はPuwikiでwikiの文書を書いている.が,メンテされてないので他のmakrdownで書けるwikiへの移行を検討している. dokuwikiも検討したことがあったが,一番良く使うであろう見出しレベル1が=====見出しレベル1=====となっているのが非常にめんどくさいと感じた.

Markdwonにする理由

makrdownは見出しレベル1ならば,#見出しレベル1と書けるので非常に書きやすいと感じた. また,Puwiki記法とも似ているので新規に学習するコストも低いだろうと感じた.

移行するwikiへ求める機能

移行するwikiへ求める機能としては以下のような感じ.上から順に優先は高い. -markdownで書けること -history機能が欲しい -LDAP認証に対応している

選定方法

そんな感じでWikiMatrix - Compare them all http://www.wikimatrix.org/ というサイトを知り色々と検討してみた. パッと来るものが無かったがdokuwikiがPluginでmarkdownに対応しているとのことなので試してみた.

dokuwikiでMarkdwonに対応させてみる

プラグインの導入

makrdownに対応させるために以下のプラグインを導入 https://www.dokuwiki.org/plugin:markdownextra 以下のような感じで書ける. #見出しレベル1 ##見出しレベル2 ###見出しレベル3 ####見出しレベル4 #####見出しレベル5

+  リストアイテム1
+  リストアイテム2
+  リストアイテム3
</markdown>

見出しも勝手に生成してくれるようだ. (参考URLでは別のプラグインを入れていたが,今回は入れなかった)

画像挿入による問題点

ただ,一つ問題があって,画像を入れるのが複雑だと感じた. dokuwikiには標準で素晴らしいメディアマネージャーが着いており 今までアップロードした画像が一括で管理できるようになっている. メディアマネージャーを使って画像をアップロードして画像を挿入すると以下のような感じになる. hoge.jpgが画像ファイル名で,300が画像サイズである.

{{ :hoge.jpg?300 |}}

当然,makrdownの内部に書かれている場合には以下のようになる.

<markdown>  
{{ :hoge.jpg?300 |}}
</markdown>

もちろん,この画像の書き方はmakrdownではないために画像は表示されない. なので,dokuwikiの書き方にするなばら以下のように一度markdownを終わらせなくては行けない.

<markdown>
画像は以下のようになる.
</markdown>
{{ :hoge.jpg?300 |}}
<markdown>
つぎに,(ry
</markdown>

はっきし言ってだるい.めんどい. そこでmarkdown記法で画像を埋め込むことにしよう. その場合には画像へのリンクを絶対パスなり相対パスなりで書かなくはいけない.

<markdown>
![hoge](lib/exe/fetch.php?media=hoge.jpg? "hoge")
</markdown>

これまた,相対パスを画像ごとに書かなくはいけないため dokuwikiの持っている素晴らしいメディアマネージャーが台無しだ.

暫定的な解決方法

dokuwikiでやるのであれば,メディアマネージャーで画像を挿入する場合に 自動でmakrdownの終わりと開始タグを入れるように改造するしか無いのではないかと思う.

終わりに

そんなわけでamrkdownで書くと画像を挿入するがめんどいという問題があり もう一度他のwikiを検討すべきなのか迷っている. もし,makrdownを使える良いwikiをご存知の方はご連絡ください.

参考URL

DokuWikiの設置と設定、Markdownを愛す。 ::ハブろぐ http://havelog.ayumusato.com/computer/software/e151-dokuwiki-install.html