summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortslil clingman <>2020-12-30 18:03:48 -0500
committertslil clingman <>2020-12-30 18:03:48 -0500
commit43285c19998443753d64c0e41ff5b1f3fee520ae (patch)
treee55410bcb81981f4ee2dbd3b8d5ee3468f700742
parentc176303c770258dd67bb9c22b2e706f4f754b88f (diff)
Gemini stuff
-rw-r--r--emacs/inits/27-gemini.el39
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))))