HTML出力が可能なemacsのorg-modeパッケージについて記載します。
このページもorg-modeで出力したHTMLを利用しています。
Table of Contents
1 org-modeとは
org-modeとは文書の作成、HTMLの出力が可能なemacsのメジャーモードの一つです。
簡易な操作で項目、表、リンクを作成できます。
2 起動方法
emacs24ではデフォルトでorg-modeが組み込まれているので、そちらを利用します(emacs22からデフォルトで組み込まれているようです)。
拡張子が.orgのファイルを開くことで、emacsはorg-modeで起動します。
他のメジャーモードと同様、M-x org-modeを実行することでorg-modeを起動できます。
3 文書作成
3.1 見出しの作成
行の先頭にワイルドカードを用いることで、見出しを作成することができます。この見出しはHTMLのh2, h3タグになります。TABキーを押すことで展開したり畳み込んだりすることができます。
* 見出し1(h2) ** 見出し2(h3)
この文書の「文書作成」はh2、「見出しの作成」はh3となります。
3.2 リストの作成
以下の形式でリストが作成されます。
- リスト1 - リスト2
- リスト1
- リスト2
3.3 表の作成
以下の形式で表が作成されます。
| ヘッダA | ヘッダB | |---------+---------| | 値A | 値B | | ... | ... |
ヘッダA | ヘッダB |
---|---|
値A | 値B |
… | … |
また、値Bの直後でRETを押すと以下の用に整形され、org-mode上でも表形式となります。
3.4 preタグの作成
以下の形式でpreタグで囲まれた文字列が作成されます。
preタグで囲むことで文字列はそのままの形式で表示されます(preタグで囲んでいない文字列は空白やリスト用の-等の特殊文字がorg-modeによって解釈されます)。
: - preタグでそのままの形式で出力される文字列
- preタグでそのままの形式で出力される文字列
3.5 リンクの作成
3.6 ソースコードの表示
以下の形式でC言語のソースコードが表示されます。
#+BEGIN_SRC c++ #include <iostream> int main(int argc, char* argv[]) { std::cout << "Hello, world." << std::endl; return 0; } #+END_SRC
#include <iostream> int main(int argc, char** argv) { std::cout << "Hello, world." << std::endl; return 0; }
4 HTML出力
以下のショートカットでHTMLを作成できます。
古いバージョンだとC-c C-e以降のショートカットキーが異なります。
ショートカット | 機能 |
---|---|
C-c C-e h H | HTML出力をバッファで開く |
C-c C-e h h | HTML出力をファイルに保存(.orgが.htmlに変わったファイル名 |
C-c C-e h o | HTML出力をファイルに保存したブラウザで開く |
筆者の環境ではC-c C-e h oでChromeが起動します。
4.1 フッター出力の抑制
以下のフッターが出力されます。
Date: 2015-09-09T22:23+0900 Author: <Your Name> Org version 7.9.3f with Emacs version 24 Validate XHTML 1.0
このフッターは以下をファイルに記載しておくことで抑制できます。
#+style: <style>#postamble { display:none; }</style>
ただし、表示されないだけでHTMLには記述されております。
完全に削除するには、表示されない状態にしてから表示されない末尾の部分のHTMLを削る必要があります。
4.2 _による文字列修飾を抑制
_を文字列の前につけると下付き文字になります。
_を文字として使う文書の場合に困ることになります。以下をファイルに記載しておくことで抑制することができます。
#+OPTIONS: ^:nil
5 その他
ショートカット | 機能 |
---|---|
C-c C-o | リンク先を開く(筆者の環境ではw3mで開きます) |
tab | 各種補完、インデント、リストの展開と折りたたみ |