SyntaxHighlighter Evolved を Lisp 対応

Emacs Lisp コードを WordPress blog に貼り付けたいので,Lisp 対応プログラムを追加する.下記のページから shBrushLisp.js と wp-syntaxhighlighter-hook.php をダウンロードする.

WordPress の wp-content/plugins ディレクトリに両方のファイルをコピーする.ディレクトリを作成しても OK なので,wp-syntaxhighlighter-brush-lispy ディレクトリを作ってそこにコピーした.

WordPress の Dashboard から,Plugin -> SyntaxHighlighter Evolved: Lisp Brush を Activate する.

[lisp]〜[/lisp],[elisp]〜[/elisp] などで囲んだ範囲がハイライトされるようになった… と,これらのブラケットをそのまま出力したい場合は,[ ([) や ] (]) はそれぞれ & 記法で記述する必要がある.

;; C & C++
(autoload 'c++-mode "cc-mode" "C++ Editing Mode" t)
(autoload 'c-mode "cc-mode" "C Editing Mode" t)
;(autoload 'gtags-mode "gtags" "gtags Mode" t)
(add-hook 'c-mode-common-hook
      (function (lambda () (progn
                 (c-set-style "bsd")
                 (setq c-basic-offset 4)
                 (setq indent-tabs-mode nil)
;                (gtags-mode)
                 ))))

WordPress を Markdown 書式で更新する (1)

いいかげん放置状態の日記もなんとかしないとなぁ… と思い立つ.

更新がどうしても滞るのは,書くのに手間がかかるから… いや,本文を書くのに時間がかかるのはしょうがないんだけど,それ以外の部分は簡単にしたい…^^;

なによりも筆が,いや,指が重くなるのは Web の Form から入力する部分.それであれば Emacs から更新できればいいよなーと.そう思って,以前,org2blog というものを試してみたことがあって,これはこれでちゃんと更新はできところまではやったんだけど,org-mode の書式にどうにも慣れられずに頓挫 orz.

それぞれに利点があるのは分かるんだけど,Wiki にしてもそんなにたくさんの書式は使い分けたくないよ…

そこで今回は,自作のシステムで使ったのでちょっとなじみがあり,github でも使われている Markdown 書式を使って更新することにした.

markdown-mode.el のインストール

まずは markdown-mode.el を使えるようにする.下記のページから markdown-mode.el をダウンロード.

Markdown 記法を解釈する外部コマンドとして呼び出すプログラムは,Markdown 記法と上位互換の MultiMarkdown を利用する.ほとんどのものは元の Markdown 記法で足りるけど,表などの拡張が入っているので,それも使えるかもしれないというもくろみ.こちらは MacPorts にあったのでそれを利用.

sudo port install multimarkdown

Emacs の設定ファイルに下記を記述.

(autoload 'markdown-mode "markdown-mode.el"
   "Major mode for editing Markdown files" t)
(setq auto-mode-alist
   (cons '("\\.md" . markdown-mode) auto-mode-alist))
(setq markdown-command "/opt/local/bin/multimarkdown")

拡張子 .md でファイルを開くと markdown-mode が起動する.

Markdown 記法でドキュメントを書いて C-c C-c m すると,別バッファに HTML にコンバートした結果が表示される.C-c C-c e すると,拡張子を .html にしたファイルをカレントディレクトリに出力する.

sshfs (FUSE for OS X) をインストール

エディタと言えば,長らく Emacs を使っているわけですが,「やはり他の環境ももっと使ってみなければ!」と強く感じているので,重い腰を上げて他のエディタを使う準備をすることにした.

Emacs から離れられない大きな理由の 1 つが Tramp で,ssh 越しに遠隔地にあるファイルを編集することが多い私には欠かせない逸品.しかし,こういう機能を持ったエディタは他に知らないので,これ自体が足かせになるわけで.まずはこの機能の代替品探しから始めることに.

インストール

リモートのファイルが手元にあるように見えれば,どのエディタを使っても良いことになる.sshfs をまずは試してみることにした.

Mac 用について調べてみたところ,下記をインストールすればよさげ.

このページにある OSXFUSE, SSHFS パッケージをダウンロードしてインストール.特に問題なくインストール完了.

試してみる

手近な ssh ログインできるホストで試してみる.

mkdir ~/mnt
sshfs host:/path/to/dir ~/mnt
ls -l ~/mnt

ファイルリストが表示された.

使い終わったら普通に umount すれば接続解除される.

umount ~/mnt

多段 ssh

踏み台を踏んだ先にあるファイルを編集するため,多段 ssh の設定を行う.

~/.ssh/config に下記の設定を追加.

Host remote-host
    ProxyCommand ssh gateway-host nc %h %p
    ServerAliveInterval 15    # タイムアウトさせないための設定

接続するときは下記のように指定する.

sshfs -o reconnect remote-host:/path/to/dir ~/mnt

上記のコマンドをエイリアス登録などしておけば OK.これでリモートのファイルを普通に編集できるようになった.