emacs-config/lisp/taiwan.el
2024-12-28 13:28:50 -06:00

44 lines
1.5 KiB
EmacsLisp

(defun my/convert-to-format ()
(interactive)
(cl-flet ((add-drawer (regex label)
(save-excursion
(when (re-search-forward regex nil t)
(goto-char (line-beginning-position))
(insert ":" label ": ")))))
(re-search-forward "^\\*\\*\\*\\* ")
(goto-char (line-beginning-position))
(org-narrow-to-subtree)
(add-drawer "^https://goo.gl" "GOOGLE_MAPS_URL")
(add-drawer (rx line-start (+ digit) "." (+ digit) ", ")
"COORDINATES")
(add-drawer "Tainan City"
"ADDRESS")
(add-drawer "^http"
"WEBSITE")
(add-drawer "^English:"
"ENGLISH_TRANSLATION")
(goto-char (line-end-position))
(insert "\n:PROPERTIES:")
(re-search-forward "goo.gl" nil t)
(goto-char (line-end-position))
(insert "\n:END:")
(widen)))
(defun my/populate-taiwan-fields (english address website maps-url coordinates)
(interactive
(list
(read-string "English? ")
(read-string "Address? ")
(read-string "Website? ")
(read-string "Google Maps URL? ")
(read-string "Coordinates? ")))
(cl-flet ((add-valid (key value)
(when (not (string-empty-p value))
(org-entry-put (point) key value))))
(add-valid "ENGLISH_TRANSLATION" english)
(add-valid "ADDRESS" address)
(add-valid "COORDINATES" coordinates)
(add-valid "WEBSITE" website)
(add-valid "GOOGLE_MAPS_URL" maps-url)))
(provide 'taiwan)