僕の考えた最強のmarkdown拡張
Livedoorブログからの移動
メモ用に使っているmarkdown拡張記法の考案および実装のメモ. JMarkdownとかのmarkdown拡張は記法が面倒だったので一から自分で実装してしまった.
なお, 使いたい人はgithubからどうぞ. 実装はscala2.11.
やりたかったこと
- LaTeXをmarkdown中に埋め込みたい.
- プログラムのsyntax highlightをデフォルトにしたい.
- dot言語を埋め込みたい.
基本文法
細かいことはgithubのREADME.md参照. ここでは具体例だけ載せておく.
latex sample1 $tex{\frac{a}{b}} latex sample2 $tex{ x > 1 } dot sample $dot{ digraph Graph { a -> b b -> c a -> c } } code sample $code[c]{ #include <stdio.h>int main(int argc, char **argv) { printf("%d\\n", argc); return 0; } }
codeは\や{のエスケープの問題でぶっちゃけ使いづらい. どうにか改良したい.emacsとの連携
Warpを用いてemacsとの連携もできる. 生成したemarkdownファイルを~/binなどのパスの通る場所へコピーまたはシンボリックリンクを作って, init.elなどに以下のように書けば使える.
(add-to-list 'warp-format-converter-alist '("\\.md\\|\\.markdown" t (lambda () '("emarkdown"))))