diff options
| author | tslil clingman <> | 2020-12-30 18:03:48 -0500 |
|---|---|---|
| committer | tslil clingman <> | 2020-12-30 18:03:48 -0500 |
| commit | 43285c19998443753d64c0e41ff5b1f3fee520ae (patch) | |
| tree | e55410bcb81981f4ee2dbd3b8d5ee3468f700742 /emacs/inits/27-gemini.el | |
| parent | c176303c770258dd67bb9c22b2e706f4f754b88f (diff) | |
Gemini stuff
Diffstat (limited to 'emacs/inits/27-gemini.el')
| -rw-r--r-- | emacs/inits/27-gemini.el | 39 |
1 files changed, 28 insertions, 11 deletions
diff --git a/emacs/inits/27-gemini.el b/emacs/inits/27-gemini.el index ff7db33..9e02780 100644 --- a/emacs/inits/27-gemini.el +++ b/emacs/inits/27-gemini.el @@ -1,4 +1,4 @@ -;; Time-stamp: <2020-11-16 16h06 UTC> +;; Time-stamp: <2020-12-30 18h02 EST (hobbies)> (use-package elpher :ensure t @@ -13,29 +13,46 @@ (defvar gemlog-time-string "%Y-%02m-%02d %02Hh%02M %Z") (defvar gemlog-time-zone "UTC") -(use-package gemini-mode - :load-path "~/.emacs.d/scripts/gemini.el/" - :hook (gemini-mode . (lambda () - (setq time-stamp-time-zone gemlog-time-zone - time-stamp-format gemlog-time-string) - (auto-fill-mode -1) - (set-fill-column 80)))) - (defun gemlog-new-entry () (interactive) (let* ((title (read-string "Title: ")) (number 1) (file (format "%s/log-%s-%d.gmi" gemlog-directory - (format-time-string gemlog-file-name nil gemlog-time-zone) + (format-time-string gemlog-file-name nil t) number))) (while (file-exists-p file) (setq number (+ 1 number)) (setq file (format "%s/log-%s-%d.gmi" gemlog-directory - (format-time-string gemlog-file-name nil gemlog-time-zone) + (format-time-string gemlog-file-name nil t) number))) (find-file file) (insert "Time-stamp: <>") (newline) (newline) (insert "# " title) (newline) (newline) (time-stamp))) + +(defvar gemini-footnote-symbols '("⁰" "¹" "²" "³" "⁴" "⁵" "⁶" "⁷" "⁸" "⁹" "ᵃ" "ᵇ" "ᶜ" "ᵈ" "ᵉ" "ᶠ")) + +(defun gemini-insert-footnote () + (interactive) + (let ((symb (car gemini-footnote-symbols)) + (n 0)) + (while (and symb (save-excursion (beginning-of-buffer) (search-forward symb nil t))) + (setq n (1+ n) + symb (nth n gemini-footnote-symbols))) + (if (not symb) (message "Ran out of footnote symbols. Customise `gemini-footnote-symbols'.") + (insert symb) + (end-of-buffer) + (unless (= (point) (point-at-bol)) (newline)) + (insert symb " ")))) + +(use-package gemini-mode + :load-path "~/.emacs.d/scripts/gemini.el/" + :bind (:map gemini-mode-map + ("C-c C-f" . gemini-insert-footnote)) + :hook (gemini-mode . (lambda () + (setq time-stamp-time-zone gemlog-time-zone + time-stamp-format gemlog-time-string) + (auto-fill-mode -1) + (set-fill-column 80)))) |
