エディタ以上ワープロ未満の HackMD
たとえばちょっとしたメモを取るとき。
仕事なら紙のノートで手書きで書く。 「ちょっとしたメモ」なら手書きで走り書きの方がまだ速い(キーボード打ちながらメモを書けるし)。 その代り私の走り書きは酷い悪筆で私自身も読めないことがあるのが玉に瑕である(笑)
仕事以外のことで目の前に紙のノートも PC もない場合は Simplenote を愛用するようになった。 Simplenote は SaaS 型のテキストエディタである。 Web 版のほか各種携帯端末用のアプリが揃っていて使い勝手がいい。
ただ, Simplenote は良くも悪くもプレーンテキストのエディタで,まとまった情報を整理して書こうとするとイマイチである。 しかし仕事でもないのにワープロなんか使いたくないし,簡単な構造化テキストであれば markdown で書けた方がいい。
で, markdown なテキストが書ける SaaS 型のエディタツールがないかなぁ,と思っていたのだが,どうも HackMD が良さげな感じである。
- HackMD - 共同編集できるMarkdownノート
- hackmdio/hackmd: Realtime collaborative markdown notes on all platforms.
HackMD の特徴を以下に列挙してみる。
- MIT ライセンス。 Docker イメージも用意されていてオンプレミスな運用もできる
- hackmd.io で提供される SaaS 版は以下の通り
- 自身はアカウント管理を行ってない。サインインは Facebook, Twitter, GitHub, Dropbox, Google のアカウントを利用できる。ちなみにサインインしなくても「ゲスト」として利用することも可能
- Markdown 記法で記述するが,かなり強力にカスタマイズされている
- YAML 形式によるページ制御ができる
- MathJax による数式表現が可能
- graphviz(DOT 言語), mermaid,js-sequence-diagrams,flowchart.js の記法で作図ができる
- abc 記法で楽譜が書ける
- 簡単な記述により YouTube, Vimeo, Gist, SlideShare, Speakerdeck のコンテンツを埋め込める
- タグを設定できる。タグをキーにした検索が可能
- その他,詳しくは「機能紹介」で1
- imgur と連動している。アップロードした画像は自動的に imgur に格納される2
- Dropbox, Google Drive, Gist へエクスポート可能
- Dropbox, Google Drive, Gist およびクリップボードからインポート可能
- markdown または HTML 形式でローカルにダウンロード可能
- 基本的に誰でも編集でき誰でも閲覧できる。なお,編集・閲覧許可範囲を「サインイン・ユーザのみ」「オーナーのみ」に絞ることはできる。許可するユーザを指定したりはできないようだ(まぁアカウント管理をしてないからね)3
試しにちょろんと落書きしてみた。 (楽譜は無理。復活の呪文を唱えているようにしか見えん)
- MathJax による数式表現。 - HackMD
- シーケンス図を描こう - HackMD
- クラス図を描こう - HackMD
- フローチャートを描こう - HackMD
- Go 言語で Hello World - HackMD
もうしばらく遊んでみて,よさげなら常用してみようかな,と。
【追記】 メタデータについて
上で述べたように HackMD では YAML 形式によるページ制御ができる。
具体的には先頭行に以下の記述を加える。
---
YAML metas
---
設定項目は色々あるが,私は必ず以下の設定をするようにしている。
---
robots: noindex, nofollow
lang: ja
dir: ltr
breaks: false
---
robots
項目は <meta>
要素に robots を設定する。
検索エンジンや他ページの referer に拾われたくない場合は noindex, nofollow
をセットしておけばいい。
ただし行儀のいい crawler や Web サイトばかりではないので,その辺はあしからず。
lang
項目はページに国・言語情報を設定する,筈なのだが利いてないようである(既定の en
のまま)。
まぁそのうち有効になると信じて。
dir
項目は文字の向き(右向き・左向き)を指定する。
既定は ltr
(左→右向き)なのでなくてもいいのだが,一応設定しておく。
breaks
項目は markdown 入力の改行をそのまま HTML 表示に反映(hard break)させるかどうか指定する。
既定は true
。
この辺は好みで。