僕の考えた最強の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"))))