MDwikiはwikiじゃないけど便利
application server
Lastmod: 2020-07-22

HackMDのOSS版,CodiMDは便利なのだが, iOS,iPadOSのSafariでリバースプロキシ越しにアクセスするとサインイン時に400 Bad Requestを返し 認証が通らないため実質的に利用できないのであった.
(原因は不明)

そこでmarkdownで簡単にメモを書いて認証を通過した後でのみ表示可能なweb上に配置するソリューションを 探している中で,MDwikiに出会ったのであった.

いわゆるWikiではないけど.

MDwikiとは

MDwikiとは,不思議なhtmlファイルをwebサーバ上に置き,同じフォルダにmarkdownファイル markdown.md を配置し,http://www.hadacchi.com/mdwiki/mdwiki.html#!markdwon.md のように アクセスすると,markdownがレンダリングされるというものである.

詳しくは,公式サイトを参照のこと.
公式サイトもMDwikiで運営されているようだ.

使い方

公式サイトからダウンロードしたmdwiki.htmlをwebサーバ上へ配置して, 同フォルダ内へ表示させたいmarkdownファイルを配置して, #!markdown.mdをURL末尾につけて呼び出すことで, wikiっぽいHTMLを返却してくれる.

mdwiki.htmlというHTMLファイルの指定を省略したい場合,index.htmlにリネームすれば
http://domain.name.com/mdwiki/#!markdown.md
のように指定可能となる.

ああ,なんて簡単.

インデックスページ作成

mdファイルを追加する度にリンクを貼るのが面倒だと思われるが, 以下のシェルスクリプトを回せばインデックスは作れる. なお,templete.txtはリストの上につけるテンプレートの役割をする.

cat temlete.txt > index.md
ls -t -1 *.md | xargs -L 1 -I{} echo '- [{}]({})' >> index.md

その他の機能

他にもMDwikiの機能としてナビゲーションバーをつけることや → Adding a Navigation
外部サービスと連携するギミックを利用すること → Gimmicks
もできる.

さいごに

ただし,MDwikiは,wikiの最も基本的な機能である,

ウェブブラウザから直接コンテンツを編集するウェブサイト

という特性がない.
mdwiki.htmlを置いたフォルダをthe Internet向けにSMB共有するとかすれば別だが, それは危険すぎるのでやらないとすると,webサーバにログインしてmarkdownファイルを 編集しなければならない.

今回必要だったのは認証付 Wiki 機能であったので, GitHubクローンのPrivateリポジトリへmarkdownを配置することで 解決することとした.(本記事には記載なし)

ということで,MDwikiは今回狙っていたHackMD代わりとはいかなかった.

comments powered by Disqus