目次

「DokuWikiを知る」に戻る

DokuWikiとMarkdownの書き方の比較と移行方法



markdowku Pluginをインストールすることで、DokuWikiもMarkdown記法で書くことができます。
参考:Dokuwikiプラグイン : markdowku Pluginで、markdownで書く


DokuWikiとMarkdownの書き方の比較

QiitaやGitHubなど多くで使われているMarkdown記法とDokuWiki記法を比較します。
DokuWikiを使うには、DokuWikiの書き方にも慣れないといけません。覚えましょう。
DokuWikiの方がプラグインで、色々できるので書き方も多いです。

項目 DokuWiki Markdown
見出しh1 ======見出しh1====== # 見出しh1
#の後にはスペースが必要
見出しh2 =====見出しh2===== ## 見出しh2
見出しh3 ====見出しh3==== ### 見出しh3
見出しh4 ===見出しh4=== #### 見出しh4
見出しh5 ==見出しh5== ##### 見出しh5
テーブル 「|」でくくる 「|」でくくる
テーブルのヘッダー |の変わりに^にする
テーブルのどのセルでも可能
テーブルの1行名に「|」で書く。
ヘッダー必須
テーブルのセル揃え 右と左のスペースの数で決まる。 テーブルの2行目に「:」で書く
左揃え「:------」
中央揃え「:------:」
右揃え「:------」
「:」「-」の数は合計で3個以上必要
セル内で|(縦線) 前後を%%で囲む ||を使う
コード <code>
コード
</code>
バッククオート を使います。
```
コード
```
PHPコード <code php>
コード
</code>
```php
コード
```
インラインコード アポストロフィ を使います。
``インライン``
バッククオート を使います。
`インライン`
``インライン``
リンク [[http:/qiita.com/|Qiita]] [Qiita](http://qiita.com/)
画像 {{:dokuwiki-logo.png}} ![Qiita](http://cdn.qiita.com/(略)345.png)
引用 >引用文 >引用文
引用のネスト >>引用文 >>引用文
順序なしリスト スペース2つの後「*」 文頭に「* 」「+ 」「- 」のいずれか
後ろにスペースが必要
順序つきリスト スペース2つの後文頭に「-」 文頭に「数字.」を入れる。
水平線 「-」を3つ以上 「*」か「-」を3つ以上
エスケープ 「\」をMarkdownの前につける
改行 // <br>
DokuWiki記法でのテーブル例
^a  ^b  ^c  ^
|1  |2  |3  |
|4  |5  |6  |
Markdown記法でのテーブル例
|a  |b  |c  |
|:--|:--|:--|
|1  |2  |3  |
|4  |5  |6  |


DokuWiki記法と比較して、Markdownの不便な所

テキスト
テーブル
画像


メモ


DokuWikiからMarkdownに変換

DokuWiki to Markdown Converter

https://github.com/ludoza/DokuWiki-to-Markdown-Converter

$ php convert.php input/myfile.txt




Pandocで変換

■github markdown 形式
curl  http://example.com/doku.php/wiki/example\?do\=export_xhtmlbody | pandoc -f html -t markdown_github  -o test.md

■raw markdown
curl  http://example.com/doku.php/wiki/example\?do\=export_xhtmlbody | pandoc -f html -t markdown  -o test.md




自作スクリプトで変換

プラグインを使っていると考慮が必要なので、自分にあった変換ツールを作ります。

ただ、Markdown記法ではできることが少ないので完全に変換はできなです。

$ sed -f dokuwiki2markdown.sed input.txt > output.txt
#dokuwiki2markdown.sed
#example
#sed -f dokuwiki2markdown.sed input.txt > output.txt
 
#Header
s/^======/#/
s/^=====/##/
s/^====/###/
s/^===/####/
s/^==/#####/
s/^=/######/
 
s/======$//
s/=====$//
s/====$//
s/===$//
s/==$//
s/=$//
 
 
#------------------------------------------------------
#link
#------------------------------------------------------
s#\[\[\(.*\)|\(.*\)\]\] *|#[\2](\1)|#g
s#\[\[\(.*\)|\(.*\)\]\]#[\2](\1)#g
 
#If you want to delete link
#s#\[\[\(.*\)|\(.*\)\]\]#\2#g
#**も削除
#s#\*\*\[\[\(.*\)|\(.*\)\]\]\*\*#\2#g
 
#code
#s/<code \([a-zA-Z0-9]*\).*/\n```\1/
s/<code>/\n```/
s/<\/code>/```\n/
 
#delete %%
s/%%//g
 
#break line
s#\\\\#<br>#g
 
#-------------------------
#plugin
#-------------------------
#Table Width Plugin
/^|</d
 
#color plugin
s#</color>##
s#<color.*>##
 
#Syntaxhighlighter
s/<sxh \([a-zA-Z0-9]*\).*/\n```\1/
s/<sxh>/\n```bash/
s/<\/sxh>/```\n/
 
s#<sxh bash.*>#```bash#
s#<sxh python.*>#```python#
s#<sxh php.*>#```php#
s#<sxh sql.*>#```sql#
ワンライナーテスト
リンク
# echo "**[[at.html|at]]**" |  sed -e 's#\[\[\(.*\)|\(.*\)\]\]#[\2](\1)#g'
**[at](at.html)**
<wrap>
# echo "test<wrap danger>popular</wrap>1234"  | sed -e 's#<wrap .*>.*</wrap>##g'
test1234

#  echo "test<wrap danger>popular</wrap>test"  | sed -e 's#<wrap .*>\(.*\)</wrap>#\1#g'
testpopulartest
[size]
#  echo "ssh [size=12]<wrap danger>popular</wrap>[/size]   test" | sed -e 's#\[size=.*]\(.*\)\[/size]#\1#g'
ssh <wrap danger>popular</wrap>   test


参考







「DokuWikiを知る」に戻る