outputz.el の設定

id:antipop さんの outputz.elid:hayamiz さんの設定例を参考に以下のように設定してみました。


Outputz のグラフではホスト名が先頭に来るので、メジャーモード(C++なのかSchemeなのか)がそこに来るように変更しました。

;; Outputz
(require 'outputz)
(setq outputz-key "xxxxxxxxxxxx")
(setq outputz-uri "http://www.monaos.org/outputz/")
(global-outputz-mode t)

;; Hey, Scheme!
(add-to-list 'outputz-modes 'scheme-mode)

(defun outputz-percent-encode (str &optional coding-system)
  (if (or (null coding-system)
            (not (coding-system-p coding-system)))
      (setq coding-system 'utf-8))
  (mapconcat
   (lambda (c)
     (cond
      ((outputz-url-reserved-p c)
       (char-to-string c))
      ((eq c ? ) "+")
      (t (format "%%%x" c))))
   (encode-coding-string str coding-system)
   ""))

(defun outputz-url-reserved-p (ch)
  (or (and (<= ?A ch) (<= ch ?z))
      (and (<= ?0 ch) (<= ch ?9))
      (eq ?. ch)
      (eq ?- ch)
      (eq ?_ ch)
      (eq ?~ ch)))

(defadvice outputz (before outputz-setup-uri)
  (setq outputz-uri
        (outputz-percent-encode
         (format "http://%s.com/%s.%s"
                 (replace-regexp-in-string  "\+" "p" (symbol-name major-mode))
                 (user-login-name)
                 (system-name)))))

(ad-activate-regexp "outputz-setup-uri")