diff options
author | bd <bdunahu@operationnull.com> | 2024-09-14 13:07:14 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2024-09-14 13:07:14 -0400 |
commit | f77452602b3cafeeabbf1cdc6039b04565d2f0e6 (patch) | |
tree | 4a5ee504b356aacb06e18031d04be480e05f0f47 /.config | |
parent | 9f2a566fa39232d9bd8cbda60f5f4acb1992295e (diff) |
.skr opens in scheme mode, denote format for skribe
Diffstat (limited to '.config')
-rw-r--r-- | .config/emacs/modules/bd--devel.el | 3 | ||||
-rw-r--r-- | .config/emacs/modules/bd--notes.el | 32 |
2 files changed, 35 insertions, 0 deletions
diff --git a/.config/emacs/modules/bd--devel.el b/.config/emacs/modules/bd--devel.el index a37762d..d41fa27 100644 --- a/.config/emacs/modules/bd--devel.el +++ b/.config/emacs/modules/bd--devel.el @@ -59,6 +59,9 @@ to.") ;; questionable default (indent-tabs-mode 0) +;; skr is a scheme extension +(add-to-list 'auto-mode-alist '("\\.skr\\'" . scheme-mode)) + (use-package rainbow-mode :hook css-mode) diff --git a/.config/emacs/modules/bd--notes.el b/.config/emacs/modules/bd--notes.el index 36e1f17..15b5f2c 100644 --- a/.config/emacs/modules/bd--notes.el +++ b/.config/emacs/modules/bd--notes.el @@ -20,6 +20,38 @@ (denote-journal-extras-directory (expand-file-name "~/dc/log")) (denote-journal-extras-title-format 'day-date-month-year)) +(require 'denote) +(defvar bd/denote-skribe-front-matter + "(post + :title \"%s\" + :date %s + :tags '(\"%s\") + ;; identifier: %s +\n\n)") + +(defun bd/denote-skribe-format-date (date) + "Format DATE as a scheme procedure." + (format-time-string "(make-date* %Y %m %d %H %M)" date)) + +(defun bd/denote-format-keywords-for-skribe-front-matter (keywords) + "Format front matter KEYWORDS for skribe file type. +KEYWORDS is a list of strings." + (string-join keywords "\" \"")) + +(add-to-list 'denote-file-types '(skribe + :extension ".skr" + :date-function bd/denote-skribe-format-date + :front-matter bd/denote-skribe-front-matter + :title-key-regexp "^:title\\s-*" + :title-value-function identity + :title-value-reverse-function denote-trim-whitespace + :keywords-key-regexp "^:tags\\s-*" + :keywords-value-function bd/denote-format-keywords-for-skribe-front-matter + :keywords-value-reverse-function denote-extract-keywords-from-front-matter + :link my-denote-shell-link-format + :link-in-context-regexp my-denote-shell-link-in-context-regexp)) + + (provide 'bd--notes) ;;; bd-notes ends here |