~shom/.emacs.custom

8ba98a86abfee1deaf89e81c17125273f87ff2d4 — Shom Bandopadhaya 6 months ago fcb9f50
ox-hugo module should hold all blogging related config like ob-mermaid
4 files changed, 27 insertions(+), 0 deletions(-)

M README.md
M config.org
M modules/ox-hugoConfig.el
M userConfig.el
M README.md => README.md +12 -0
@@ 705,6 705,8 @@ My website/blog is created with [Hugo](https://gohugo.io/): a static site genera

Ox-hugo serves as the middle-ware so the "front-end" can be Emacs and the it handles all the content directory and file structure creation before handing it off to Hugo to generate the HTML site. While this is a few levels of abstraction it allows for a very straight-forward and friction free blogging experience. I run an org-capture template that creates all the meta data (front-matter) needed and I can write a post (use yasnippet for other captures like inserting images), commit, and push and the remote server (as of writing [Sourcehut Pages](https://srht.site/)) builds and serves the site.

I've used diagramming on the blog, I want to better integrate it eventually but so far I've used `ob-mermaid` but then had to output and embed png since the Mermaid.js payload is 3MB!

```emacs-lisp
(use-package ox-hugo
  :straight t


@@ 766,6 768,16 @@ See `org-capture-templates' for more information."
                   (file+olp "~/dev/shom.dev/posts.org" "Content")
                   (function org-hugo-new-subtree-post-capture-template)
                   :prepend t))))

(use-package ob-mermaid
  :straight t
  :config
  (setq ob-mermaid-cli-path "/home/shom/.config/nvm/versions/node/v18.16.1/bin/mmdc")
  (org-babel-do-load-languages
           'org-babel-load-languages
           '((mermaid .t)
             (shell . t)
             (scheme . t))))
```



M config.org => config.org +2 -0
@@ 113,6 113,8 @@ There are a few packages and specific configuration that is quite specific to my
My website/blog is created with [[https://gohugo.io/][Hugo]]: a static site generator. However, I wanted to create an unified workflow and have a central place to write instead of manually managing files and folders. To that effect (and seeing how this is a 'not so small' Emacs config) I decided to go with [[https://ox-hugo.scripter.co/][ox-hugo]].

Ox-hugo serves as the middle-ware so the "front-end" can be Emacs and the it handles all the content directory and file structure creation before handing it off to Hugo to generate the HTML site. While this is a few levels of abstraction it allows for a very straight-forward and friction free blogging experience. I run an org-capture template that creates all the meta data (front-matter) needed and I can write a post (use yasnippet for other captures like inserting images), commit, and push and the remote server (as of writing [[https://srht.site/][Sourcehut Pages]]) builds and serves the site.

I've used diagramming on the blog, I want to better integrate it eventually but so far I've used =ob-mermaid= but then had to output and embed png since the Mermaid.js payload is 3MB!
#+transclude: [[./modules/ox-hugoConfig.el]] :lines 1- :src emacs-lisp

** Email

M modules/ox-hugoConfig.el => modules/ox-hugoConfig.el +10 -0
@@ 58,3 58,13 @@ See `org-capture-templates' for more information."
				   (file+olp "~/dev/shom.dev/posts.org" "Content")
				   (function org-hugo-new-subtree-post-capture-template)
				   :prepend t))))

(use-package ob-mermaid
  :straight t
  :config
  (setq ob-mermaid-cli-path "/home/shom/.config/nvm/versions/node/v18.16.1/bin/mmdc")
  (org-babel-do-load-languages
		   'org-babel-load-languages
		   '((mermaid .t)
			 (shell . t)
			 (scheme . t))))

M userConfig.el => userConfig.el +3 -0
@@ 41,3 41,6 @@
(use-package 0x0
  :straight t)

(use-package olivetti
  :straight t)