summaryrefslogtreecommitdiff
path: root/modules/test-code.el
blob: 57046c184f2fcaf20e788b093c5602c67aec0b20 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
;;; test-code.el --- test code -*- lexical-binding: t; -*-
;; author: Craig Jennings <c@cjennings.net>

;;; Commentary:

;; This is where to put config code you're working on before it's tested and stable.
;; Include this at the very end of your init.el. This way, if something does break,
;; and it will, most of your Emacs config is loaded.

;; Once you've tested (and time-tested) the code here, graduate it into the proper
;; section of your config above.

;;; Code:

(require 'user-constants)

;; --------------------------------- Org Noter ---------------------------------

(use-package org-noter
  :after (:any org pdf-view)
  :commands org-noter
  :bind ("<f6>" . org-noter)
  :config
  (setq org-noter-always-create-frame nil)
  (setq org-noter-notes-window-location 'vertical-split)
  (setq org-noter-notes-window-behavior 'scroll)
  (setq org-noter-doc-split-fraction '(0.75 . 0.75))
  (setq org-noter-notes-search-path (concat sync-dir "/org-noter/"))
  (setq org-noter-default-notes-file-names '("reading-notes.org"))
  (setq org-noter-separate-notes-from-heading t)
  (org-noter-enable-org-roam-integration))

(use-package org-pdftools
  :after (org pdf-view)
  :hook (org-mode . org-pdftools-setup-link))

;; --------------------------------- Easy Hugo ---------------------------------

(use-package easy-hugo
  :defer .5
  :init
  (setq easy-hugo-basedir "~/code/cjennings-net/")
  (setq easy-hugo-url "https://cjennings.net")
  (setq easy-hugo-sshdomain "cjennings.net")
  (setq easy-hugo-root "/var/www/cjennings/")
  (setq easy-hugo-previewtime "300")
  (setq easy-hugo-postdir "content")
  (setq easy-hugo-server-flags "-D --noHTTPCache --disableFastRender")
  (setq easy-hugo-default-ext ".md")
  :bind ("C-c H" . easy-hugo)
  :config
  (easy-hugo-enable-menu))

;; ------------------------------------ Pomm -----------------------------------

(use-package pomm
  :defer .5
  :bind ("M-p" . pomm)
  :commands (pomm pomm-third-time))

;; ------------------------ Org-Branch To Org-Roam-Node ------------------------

(defun cj/move-org-branch-to-roam ()
  (interactive)
  (when (eq (org-element-type (org-element-at-point)) 'headline)
	(let* ((headline-components (org-heading-components))
		   (title (nth 4 headline-components)))
	  (setq cj/point (point))
	  (org-cut-subtree)
	  ;; Switch to org-roam buffer, fill in new node's title.
	  (org-roam-node-insert
	   :immediate-finish t
	   :no-edit t
	   ;; Pass the current headline title as the default value.
	   :region (cons (point)
					 (save-excursion
					   (insert title)
					   (point))))
	  (newline)
	  ;; Paste the 'cut' subtree and save buffer.
	  (org-yank)
	  (save-buffer)
	  ;; Go back to the initial buffer and position.
	  (switch-to-buffer (other-buffer))
	  (goto-char cj/point)
	  ;; Kill the org-roam link leftover.
	  (kill-whole-line))))

;; ----------------------------------- Mpdel -----------------------------------

;; (use-package mpdel
;;   :defer .5
;;   :config
;;   (setq mpdel-prefix-key (kbd "M-p"))
;;   (mpdel-mode))

;; -------------------------------- Google This --------------------------------

;; not working as-is
;; (use-package google-this
;;   :load-path "~/code/emacs-google-this/"
;;   :defer 1
;;   :bind
;;   ("C-h g" . google-this-search)
;;   :config
;;   (google-this-mode 1)
;;   (setq google-this-browse-url-function 'eww-browse-url))


(provide 'test-code)
;;; test-code.el ends here.