はじめに
GitHubで使える軽量マークアップ言語としてはMarkdownだけでなくorg-modeも使えます.
Emacs使いの皆さまにおかれましてはGitHubでもorg記法で書いてることでしょう.
org記法のとおり書けば, おおよそ期待どおりレンダリングされます1が,
GitHub独自のMarkdown記法があるので, それに対応したGitHub独自のorg記法のチートシートを作りました (一部だけ).
チートシート
基本的な書き方とフォーマットの構文
テキストのスタイル設定
| スタイル | 構文 | 例 | 出力 |
|---|---|---|---|
| 下付き文字 | _{} |
これは_{下付き}テキストです |
これは下付きテキストです |
| 上付き文字 | ^{} |
これは^{上付き}テキストです |
これは上付きテキストです |
脚注
#+OPTIONS: f:t
脚注です[fn:1].
[fn:1] 参考資料
中略
Markdownのように脚注は末尾につきません
アラート記法
#+BEGIN_QUOTE
[!NOTE]
コンテンツをざっと読む場合でも、ユーザーが知っておくべき有益な情報
#+END_QUOTE
#+BEGIN_QUOTE
[!TIP]
物事をより良く、あるいはより簡単に行うための有益なアドバイス
#+END_QUOTE
#+BEGIN_QUOTE
[!IMPORTANT]
目標を達成するためにユーザーが知っておくべき重要な情報
#+END_QUOTE
#+BEGIN_QUOTE
[!WARNING]
問題を回避するために、ユーザーの即時の注意が必要な緊急情報
#+END_QUOTE
#+BEGIN_QUOTE
[!CAUTION]
特定の行動のリスクや否定的な結果について助言する
#+END_QUOTE
コードブロックの作成とハイライト
#+BEGIN_SRC python
import requests
data = requests.get("https://jsonplaceholder.typicode.com/users/1").json()
#+END_SRC
実行結果もレンダリングしたい場合
C-c C-c による実行結果 (#+RESULTS:) もレンダリングに含めたい場合は, ヘッダーに :exports both を付ける必要がある.
#+BEGIN_SRC python :exports both :results output code
import requests
data = requests.get("https://jsonplaceholder.typicode.com/users/1").json()
print([data["username"], data["email"]])
#+END_SRC
#+RESULTS:
#+begin_src python
['Bret', 'Sincere@april.biz']
#+end_src
:results ヘッダー引数のオプションは以下を参照.
ダイアグラムの作成
#+BEGIN_SRC mermaid
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
#+END_SRC
数式の記述
インライン式
この文は ~$~ 区切り記号を使ってインラインで数学を表している: $\sqrt{3x-1}+(1+x)^2$
ブロック式
*コーシー・シュワルツの不等式*
#+BEGIN_SRC math
\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)
#+END_SRC
対応してない? (対応して欲しい) org記法
タスクリスト
- [X] 下線に対応する
- [ ] 脚注に対応する
- [ ] タスクリストに対応する
[ ] や [X] がレンダリングされません
参考
なお,
によれば, パーサーは以下を使っています.
タスクリストが対応していないのは org-ruby 側の既知の問題のようです.
Tips: BEGIN_ ~ END_ ブロックをタイプするのは手間なので
キーバインドとしては, コメントでご紹介いただいた
で展開する, または
yasnippet などでスニペット化しておくと便利です.
以下の例では `m[TAB] や !a[TAB] と打てば, mermaidやアラート記法のブロックが展開されるようになります.
# -*- mode: snippet -*-
# name: mermaid
# key: `m
# --
#+BEGIN_SRC mermaid
graph ${1:LR};
${2:A} --> ${3:B};
$0
#+END_SRC
# -*- mode: snippet -*-
# name: alert
# key: !a
# --
#+BEGIN_QUOTE
[!${1:NOTE}]
$0
#+END_QUOTE







