Antoine.st Emacs Wiki

On Meadow

Meadow さんでも、いい感じで動いてます。

インストール (というかダウンロード) して、.emacs を修正して、あとはディレクトリを二つ作るだけ。~/Wiki というディレクトリでファイルを開けば、後は自動的に emacs-wiki-mode に入ります。ひと通りファイルに内容を書き込んだら、C-c C-p する、と。~/WebWiki フォルダに HTML が作成されます。

何がいいって、使い慣れたエディタが使えることですよね。やっぱり。Wiki は便利なんですけど、Web ブラウザで使うのってめんどくさいじゃないですか。エディタとしての機能は貧弱だし。あ、ということはブラウザとして使えるエディタを利用して、ブラウザレスで使えばいいのかな? Emacs + w3m みたいな感じで...。

とりあえず、参考になるサイトです。

Making of Wiki Tech
   http://www.ops.dti.ne.jp/~cake-smd/wiki/MakingOfWikiTech.html

Wiki Markup
   http://emacswiki.org/johnw/WikiMarkup.html

Emacs Wiki
   http://www.teria.com/~koseki/emacswiki/EmacsWiki.html

Test for Code.

"< nowiki >" というタグで括ると、生の HTML が書けます。


  this.c = new VBRaiseEventTest.Class1();
  this.c.Hoge += new Class1.HogeEventHandler(this.Hoge);

  private void Hoge()
  {
    MessageBox.Show("Hoge!");
  }

上記のコードは、キーワードを色づけするために、"< span >" タグを使ってます。なので、"< pre >" だと、色付けが効かないのです。というわけで、"< nowiki >" タグの出番というわけですね。

"< nowiki >" したあとは、最初の一回だけ "< p >" タグが死にます。なので、自分で書いてみたり。どっかにパッチとかあるんかなー。

"< p >" "< br >" "< span >" "< pre >" あたりのタグは有効、というか、emacs-wiki 上で利用できるみたいです。"< p >" での改行ってあんまり好きじゃないので、必要に応じて "< br >" タグを使ってみました。

Microsoft へのリンク ← のような感じで、外部へのリンクもできる、と。

Tips for recentf.el.

recentf.el ってのは、最近使ったファイルを表示してくれる Emacs Lisp ですが、これと EmacsWiki を一緒に使っていると生成した HTML が一覧に表示されて嫌な感じです。というわけで、↓みたいな設定を追加して生成した HTML は含まれないようにしておきます。


  (custom-set-variables
   '(recentf-exclude 
     (quote ("~/WebWiki/*"))))



Tips for emacs-wiki.

こんなの機能をつけてみました。単に、新しいファイルを作ったときに、現在のファイルへのリンクを追加するだけなんですけどね。毎回書いていたので、結構便利です。


  (defun emacs-wiki-visit-link (link-name)
    "Visit the URL or link named by LINK-NAME."
    (let ((link (emacs-wiki-wiki-link-target link-name)))
      (if (emacs-wiki-wiki-url-p link)
          (funcall emacs-wiki-browse-url-function link)
        ;; The name list is current since the last time the 
        ;; buffer was highlighted
        (let* ((base (emacs-wiki-wiki-base link-name))
               (file (emacs-wiki-page-file base t))
               (tag  (and (not (emacs-wiki-wiki-url-p link))
                          (emacs-wiki-wiki-tag link))))
          (if (null file)
              (progn 
                (setq cur-buf-name 
                      (buffer-name (car (buffer-list))))
                (find-file base)
                (insert 
                 (format "<br>\n<br>\n- %s に戻る\n" 
                         cur-buf-name)))
            (find-file file)
            (when tag
              (goto-char (point-min))
              (re-search-forward 
               (concat "^\\.?#" tag) nil t)))))))