Livedoorブログからの移動

メモ用に使っているmarkdown拡張記法の考案および実装のメモ. JMarkdownとかのmarkdown拡張は記法が面倒だったので一から自分で実装してしまった.

なお, 使いたい人はgithubからどうぞ. 実装はscala2.11.

やりたかったこと

  1. LaTeXをmarkdown中に埋め込みたい.
  2. プログラムのsyntax highlightをデフォルトにしたい.
  3. 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"))))