2020-11-04 Jekyll で tag を活用するために elisp で(tag 入力用に)変数 (tags) と関数 (yaml-tags) を定義した

食事、コンピューター、インドネシアについてのひとり言。 ときどき人類学なども。

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

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 する函数を書けば一段落かな。