Prev / Next / 残日録 --- The Remains of the Day

 Jekyll で tag を活用するために elisp で(tag 入力用に)変数 (tags) と関数 (yaml-tags) を定義した:[Program]

2020-11-04

Jekyll で tag をつかう快感を覚えたので、 Blog の各エントリーに tag をつけるようにした。 Emacs 上でのその作業を単純化するために elist で函数を作った。


(defvar tags-alist '())

(defun yaml-tags ()
  (interactive "*")
  (let
      ((tags "")
       (tag (completing-read
     "One tag each (to end, just retrun): "
     tags-alist nil nil nil)))
    (setq tags tag)
    (setq tags-alist 
  (append (list (list tag)) tags-alist))
    (while (not (string-equal tag ""))
  (setq tag (completing-read
         "One tag each (to end, just retrun): "
         tags-alist nil nil nil))
      (setq tags-alist 
    (append (list (list tag)) tags-alist))
      (setq tags (concat tags " " tag))
    
      )
    tags
    ))

みればわかるように、 じつはめちゃめちゃ不細工なところ (不必要な繰り返し)がある。 あと少し考えれば繰り返しを避ける方法を 思い付きそうなのだが、 めんどいので、そのままにしている。 自分への見せしめのために晒しておく。 do ... while ... みたいな構文があればいいのだが。

あとは、このtags-alistを save/load する函数を書けば一段落かな。

permlink