最近出張する機会が多かったので、個人所有のノートPCを持参し、移動中の電車内や途中の喫茶、宿泊先で使っています。Wikiやブログの執筆に使うことが多いのですが、出先では必ずしもインターネットに接続できるとは限りません*1。
大抵のWiki、ブログはインターネット接続されたPCでWebブラウザ上で記述するので、移動中でネット接続がない環境では作業ができないことが多くなります。
そこで、Wikiやブログで多く採用されているマークアップテキストをテキストエディタで記述し、プレビューできる環境を探してみました。
Pandocを使う
次のブログで紹介されていました。
Emacsでお手軽にEPUBとかMarkdownの文書を読めるやつ
セットアップ(Windows)
Windows用のEmacs 25.3が入手できます。
http://cha.la.coocan.jp/doc/NTEmacs.html
PandocのWindows版を入手します。MSI形式インストーラが提供されています。
http://pandoc.org/installing.html
pandoc.elを入手します。
https://github.com/zonuexe/pandoc.el
init.elに記載
(require 'pandoc) (pandoc-turn-on-advice-eww)
あとは、M-x pandoc-open-eww でファイルを指定すればewwでプレビュー表示となります。
トラブルシュート
対象ファイルはUTF-8
マークアップテキストの文字エンコーディングがUTF-8ではない場合*2、次のエラーとなります。
pandoc.exe: Cannot decode byte '\x82': Data.Text.Internal.Encoding.decodeUtf8: Invalid UTF-8 stream
Emacsのエンコーディング
マークアップテキストの文字エンコーディングをUTF-8にしても、shift-jisを使っているとエラーがでました。
These default coding systems were tried to encode text in the buffer ‘emacs-pandoc_mode.textile.html’:
emacsが生成する一時ファイルの文字エンコーディングがUTF-8ではなくシフトJISになっているのが原因と思われます。
emacsの設定ファイルinit.elに次のように記述すると、実行する環境に合わせてエンコーディングが設定されます。emacsで日本語を扱うときは、一般的に次のように日本語用の設定をしています。
(set-language-environment "Japanese")
実行環境に応じたエンコーディングが設定されます。Windows環境では次のようになっていました。
(japanese-shift-jis iso-2022-jp japanese-iso-8bit iso-2022-jp-2 utf-8 iso-2022-7bit iso-latin-1 iso-2022-8bit-ss2 emacs-mule raw-text in-is13194-devanagari utf-8-auto ...)
- *scratch*バッファで、(coding-system-priority-list) をC-jで評価すると上述が得られました
そこで、次の設定をinit.elに、上述の(set-language-environment "Japanese")より後ろに記述します。
(prefer-coding-system 'utf-8-unix)