From 7685ecafc1137d67dfd34164a2993de7e414d8b8 Mon Sep 17 00:00:00 2001 From: jao Date: Wed, 31 Mar 2021 00:50:25 +0100 Subject: blog: simplified in-no-particular-order handling --- blog.org | 62 +++++++++++++++++++++++++------------------------------------- 1 file changed, 25 insertions(+), 37 deletions(-) diff --git a/blog.org b/blog.org index d6f65de..624e602 100644 --- a/blog.org +++ b/blog.org @@ -117,7 +117,7 @@ org-static-blog-publish-url "https://jao.io/blog/" org-static-blog-publish-title "programming (and other) musings" org-static-blog-posts-directory (jao-blog-dir "posts/") - org-static-blog-drafts-directory (jao-blog-dir "drafts/") + org-static-blog-drafts-directory (jao-blog-dir "pages/") org-static-blog-publish-directory (jao-blog-dir "blog/") org-static-blog-rss-extra "" ; "mail@jao.io\n" org-static-blog-rss-max-entries 30 @@ -128,7 +128,8 @@ :config (defun jao-org-static-post-path (pf dt) - (cond ((string-match-p "pages/.*" pf) (file-name-nondirectory pf)) + (cond ((string-match-p "pages/.*\\|in-no-particular-order" pf) + (file-name-nondirectory pf)) ((string-match-p "drafts/.*" pf) pf) ((string-match-p "^[[:digit:]]+-.*" pf) pf) (t (concat (format-time-string "%Y-%m-%d-" dt) @@ -158,45 +159,36 @@ (defconst jao-org-static-blog--prev-end "#+begin_export html\n \n#+end_export ") - (defun jao-org-static-blog-next-sundry () - (require 'rst) - (let* ((nos (mapcar (lambda (d) - (string-match ".*-\\([ixvldc]+\\)\\.org" d) - (rst-roman-to-arabic (match-string 1 d))) - (directory-files org-static-blog-posts-directory - nil - "in-no-particular-order"))) - (n (rst-arabic-to-roman (+ 1 (car (sort nos #'>)))))) - (format "in no particular order %s" (downcase n)))) - (defun jao-org-static-blog-create-new-post (&optional draft) (interactive) - (let* ((kind (completing-read "Kind: " '(regular book sundry))) - (title (if (string= "sundry" kind) - (jao-org-static-blog-next-sundry) - (read-string "Title: "))) - (file (replace-regexp-in-string "\s" "-" (downcase title)))) + (let* ((title (read-string "Title: ")) + (file (replace-regexp-in-string "\s" "-" (downcase title))) + (tags (completing-read-multiple "Tags: " jao-org-blog-tag-names))) (find-file (expand-file-name (concat file ".org") (if draft org-static-blog-drafts-directory org-static-blog-posts-directory))) (insert "#+title: " title "\n" "#+date: " (format-time-string "<%Y-%m-%d %H:%M>") "\n" - "#+filetags: ") - (cond ((string= "book" kind) - (insert "books\n\n" - jao-org-static-blog--prev-beg - "\n\n[[https://jao.io/img/" file ".jpg]]\n\n" - jao-org-static-blog--prev-end - "\n")) - ((string= "sundry" kind) - (insert "sundry\n\nInteresting bits elsewhere:\n\n- ") - (save-excursion (insert "\n\n\n" jao-org-static-blog--prev-end))) - (t (insert (completing-read "Tag: " jao-org-blog-tag-names) - "\n\n"))))) + "#+filetags: " + (mapconcat #'identity tags " ") + "\n\n") + (when (member "books" tags) + (insert jao-org-static-blog--prev-beg + "\n\n[[https://jao.io/img/" file ".jpg]]\n\n")) + (save-excursion (insert jao-org-static-blog--prev-end "\n")))) #+end_src *** Drafts #+begin_src emacs-lisp + (defun jao-org-static-blog-update-date () + (interactive) + (when (y-or-n-p "Update date? ") + (goto-char (point-min)) + (when (re-search-forward "^#\\+date: " nil t) + (let ((kill-whole-line nil)) (kill-line)) + (insert (format-time-string "<%Y-%m-%d %H:%M>")) + (save-buffer)))) + (defun jao-org-static-blog-create-new-draft () (interactive) (jao-org-static-blog-create-new-post t)) @@ -212,12 +204,7 @@ (when-let ((b (get-buffer from))) (kill-buffer b)) (find-file to) - (when (y-or-n-p "Update date? ") - (goto-char (point-min)) - (when (re-search-forward "^#\\+date: " nil t) - (let ((kill-whole-line nil)) (kill-line)) - (insert (format-time-string "<%Y-%m-%d %H:%M>")) - (save-buffer))) + (jao-org-static-blog-update-date) (when (y-or-n-p "Generate HTML? ") (jao-org-blog-publish)))) @@ -245,7 +232,8 @@ (pretty-hydra-define jao-hydra-org-blog (:color blue :quit-key "q") ("Insert" (("s" (insert jao-org-static-blog--prev-beg) "preview begin") - ("S" (insert jao-org-static-blog--prev-end) "preview end")) + ("S" (insert jao-org-static-blog--prev-end) "preview end") + ("t" jao-org-static-blog-update-date "update date")) "Edit" (("n" jao-org-static-blog-create-new-post "create post") ("d" jao-org-static-blog-create-new-draft "create draft") -- cgit v1.2.3