kramdown + highlight.js + \(\KaTeX\)。

\(\TeX\) 記法

\(\TeX\) 記法の _\_ で書くのがよさそう。

input output
$a$ $a$
\(a_i\) (a_i)
\\(a_i\\) \(a_i\)
\\(a _ib_ j\\) \(a ib j\)
\\(a \_ib\_ j\\) \(a _ib_ j\)

テーブル

ところで、emacs の Markdown mode で、テーブル部分で tab を押すと整形してくれるっぽい。

|left|right|
|:-|-:|
|<|>|

これが

| left | right |
|:-----|------:|
| <    |     > |

こう。押し続けると次の行を追加してくれたりもする。

コードブロック

コピーボタンをつけた。

fn main() {
    println!("hello world");
}

例のターミナル用のも書いた。

% echo 1
1
%> 
%< 
%> echo foo; \
echo 'bar
baz'
%< foo
bar
baz
%> cat <<EOS
qux
EOS
%< qux

それぞれ、次のように書くだけで生成できる。

```terminal
% echo 1
1
```
```terminal-marker
%> 
%< 
%> echo foo; \
echo 'bar
baz'
%< foo
bar
baz
%> cat <<EOS
qux
EOS
%< qux
```

引用ブロック

foo

bar

baz

qux
% quux
corge

その他

チェックボックスがあるときの点の有無が GitHub 上の挙動と違うかも。gfm だとチェックボックスにすらなってくれなかった。

  • list item
  • checked
  • unchecked

あと、gfm だと、

<details>
<summary>summary</summary>
*これは markdown として整形してくれない*
</details>
<details>
<summary>summary</summary>

*これはしてくれる*
</details>

のに対し、kramdown だとどちらも整形してくれなかった。

<span class="..."> とかは直接書ける。⌥⌃⇧⌘X みたいな感じで好きなようにできる。