summaryrefslogtreecommitdiff
path: root/emacs/inits/27-gemini.el
blob: ff7db332881c36380e963da9267df9c07fc04469 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
;; Time-stamp: <2020-11-16 16h06 UTC>

(use-package elpher
  :ensure t
  :defer)

(use-package visual-fill-column
  :ensure t
  :defer)

(defvar gemlog-directory (expand-file-name "~/hobbies/l-3.space/"))
(defvar gemlog-file-name "%y%02m%02d")
(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)
                       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)
                         number)))
    (find-file file)
    (insert "Time-stamp: <>") (newline) (newline)
    (insert "# " title) (newline) (newline)
    (time-stamp)))