outputz.el レシピ
outputz.el で、編集しているマシン、ユーザー名、ファイルの種類、ファイル名を区別するために、こんなことをやってみた。
こんなかんじで記録されて、いいかんじ。
(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))) (require 'outputz) (setq outputz-key "**********") (setq outputz-base-uri (concat "http://" (user-login-name) "." (system-name) ".emacs.jp/")) (setq outputz-uri outputz-base-uri) (defadvice outputz (before outputz-setup-uri) (setq outputz-uri (outputz-percent-encode (concat outputz-base-uri (symbol-name major-mode) "/" (file-name-nondirectory (or (buffer-file-name) (buffer-name))))))) (ad-activate-regexp "outputz-setup-uri")