Hugo を org-mode で使う時の注意点

技術情報を GitHub Pages で公開するにあたって、 Hugo を使うことにした。 Hugo は Markdown で静的サイトを構築するツールだが、org-mode にも対応している。 「対応」といっても、当然完全なものではない。 今回 Hugo を org-mode で使ってハマった点を紹介する。 *「TITLE は文書の先頭に書く」 hugo で使用する .org のファイルは、先頭に TITLE を書かなければならない。 .org に記載されている #+TITLE 自体は認識しているようなのだが、 それが先頭に無い限りその記事のタイトルと

raspberry pi の USB MASS STORAGE 自動マウントを無効化する

raspberry pi に SSD を接続して簡易 NAS にしている。 この簡易 NAS では、 SSD を取り外ししやすいように autofs によるマウントを設定した。 しかし、SSD を接続すると PCManFM の自動マウントが動いて autofs が正常にマウントできない現象が発生した。 そこで PCManFM の自動マウントを無効化した。 PCManFM の自動マウントを無効化 ~/.config/pcmanfm/LXDE-pi/pcmanfm.conf の以下の設定を変更する。 mount_on_startup=0 mount_removable=0 これで、PCManFM の自動マウントを無効化できる。

emacs lisp の quote

emacs lisp の quote でハマったのでネタに書いておく。 (defvar hoge-val nil) (defun hoge-init () (setq hoge-val '(:val nil)) ) (defun hoge-set () (plist-put hoge-val :val "1")) 上記のように変数 hoge-val に対して plist-put で処理する関数を定義して、 次のようにコールすると。 (let (val1 val2 val3) (hoge-init) (setq val1 (plist-get hoge-val :val)) (hoge-set) (setq val2 (plist-get hoge-val :val)) (hoge-init) (setq val3 (plist-get hoge-val :val)) (message (format "%s %s %s" val1 val2 val3))) 最後の (message (format "%s %s %s" val1 val2 val3)) で "nil 1 1" が出力される。 てっきり、 "nil 1 nil" が出力されるものだと思っていた。 なぜなら、val3 をセットする直前に hoge-init を実行しており、 この hoge-init は hoge-val を '(:val nil) で初期化する関数なので、

org-mode 9.3.5 で babel(dot/plantuml) が動かなかった

emacs の org-mode では、 .org ファイル内に C や python 等ソースコードを書いて、 export 時にそのソースコードを色付けした状態で載せることができる。 この機能を babel と言う。 babel では、ソースコードの色付けだけでなく、 dot や plantuml 等のグラフ生成言語を利用することで、 .org ファイル内に書いたグラフ生成言語からグラフを生成して、 所定位置にグラフを挿入することもできる。 今回、 org-mode 9.3.5 の babel を使って dot の画像を出力しようとしたところ、 エラーしたので原因を追ってみた

emacs 用 reviewboard モードの宣伝

この記事は、emacs 用 reviewboard モードの宣伝である。 <https://github.com/ifritJP/emacs-reviewboard-front> reviewboard は、ソースコードレビューを Web 上で行ない記録するためのツール。 今は github の Pull-Request に代表されるように Web 上のソースレビューが普及しているが、 reviewboard の初版が 2007 年であることを考えると、 当時は先進的なツールだったと思う。 そんな reviewboard を emacs で操作するモードを今になって作ったので、 どれ程の人が使うかは不明だが、折角なので宣伝しておく。 機能 このモードでは、次の機能を提供する。 修正ファ