mirror of
https://git.sr.ht/~magic_rb/website
synced 2024-11-22 00:04:20 +01:00
7751dd3ccd
Signed-off-by: Magic_RB <magic_rb@redalder.org>
126 lines
3.6 KiB
EmacsLisp
126 lines
3.6 KiB
EmacsLisp
;;; Package -- make.el
|
|
;;; Commentary:
|
|
;;;
|
|
|
|
;;; Code:
|
|
(load-file "./ox-thtml.el")
|
|
;; (load-file "./htmlize.el")
|
|
(require 'org)
|
|
(require 'ox)
|
|
(require 'ox-html)
|
|
|
|
(dolist (d '("public_html"))
|
|
(unless (file-exists-p d)
|
|
(make-directory d)))
|
|
|
|
;; https://alhassy.github.io/AlBasmala.html#Floating-TOC
|
|
(advice-add 'org-html--translate :before-until 'display-toc-as-toc)
|
|
(defun display-toc-as-toc (phrase info)
|
|
(when (equal phrase "Table of Contents")
|
|
"<a>
|
|
TOC
|
|
</a>"))
|
|
|
|
;; DOES NOT WORK https://github.com/alphapapa/unpackaged.el#export-to-html-with-useful-anchors
|
|
|
|
(setq org-export-with-sub-superscripts '{}
|
|
org-export-headline-levels 6
|
|
; emacs-htmlize does not work when Emacs is ran in =script= mode unfortunately
|
|
;; org-html-html5-fancy t
|
|
;; org-html-htmlize-output-type 'inline-css
|
|
)
|
|
|
|
(defvar org-publish-project-alist)
|
|
(setq org-publish-project-alist
|
|
`(
|
|
;; Blog
|
|
("blog-content"
|
|
:base-directory ,(expand-file-name "./blog/")
|
|
:base-extension "org"
|
|
:publishing-directory ,(expand-file-name "./public_html/blog")
|
|
:recursive t
|
|
:section-numbers nil
|
|
:with-toc nil
|
|
:with-date nil
|
|
:html-template ,(templated-html-load-template "./templates/blog.html")
|
|
:publishing-function org-html-publish-to-templated-html
|
|
:headline-levels 5
|
|
:exclude "^\\(index.org\\|*.inc\\)"
|
|
:auto-preamble t
|
|
:auto-sitemap t
|
|
:sitemap-folders ignore
|
|
:sitemap-style list
|
|
:sitemap-title "Magic_RB's blog"
|
|
:sitemap-filename "sitemap.inc"
|
|
:sitemap-sort-files anti-chronologically)
|
|
("blog-index"
|
|
:base-directory ,(expand-file-name "./blog/")
|
|
:root-directory ,(expand-file-name "./blog/")
|
|
:recursive t
|
|
:base-extension "org"
|
|
:exclude "^.*$"
|
|
:include ("index.org")
|
|
:publishing-directory ,(expand-file-name "./public_html/blog/")
|
|
:section-numbers nil
|
|
:with-toc nil
|
|
:with-date nil
|
|
:html-template ,(templated-html-load-template "./templates/blog-index.html")
|
|
:publishing-function org-html-publish-to-templated-html)
|
|
("blog"
|
|
:components ("blog-content" "blog-index"))
|
|
|
|
|
|
;; Homepage
|
|
("homepage"
|
|
:base-directory ,(expand-file-name "./home")
|
|
:recursive nil
|
|
:base-extension "org"
|
|
:exclude "^.*$"
|
|
:include ("index.org")
|
|
:with-toc nil
|
|
:publishing-directory ,(expand-file-name "./public_html/")
|
|
:html-template ,(templated-html-load-template "./templates/index.html")
|
|
:publishing-function org-html-publish-to-templated-html)
|
|
|
|
|
|
;; Contact
|
|
("contact"
|
|
:base-directory ,(expand-file-name "./home")
|
|
:recursive nil
|
|
:base-extension "org"
|
|
:exclude "^.*$"
|
|
:include ("contact.org")
|
|
:with-toc nil
|
|
:publishing-directory ,(expand-file-name "./public_html/")
|
|
:html-template ,(templated-html-load-template "./templates/empty.html")
|
|
:publishing-function org-html-publish-to-templated-html)
|
|
|
|
;; Links
|
|
("links"
|
|
:base-directory ,(expand-file-name "./home")
|
|
:recursive nil
|
|
:base-extension "org"
|
|
:exclude "^.*$"
|
|
:include ("links.org")
|
|
:with-toc nil
|
|
:publishing-directory ,(expand-file-name "./public_html/")
|
|
:html-template ,(templated-html-load-template "./templates/empty.html")
|
|
:publishing-function org-html-publish-to-templated-html)
|
|
|
|
;; Static images and css and js
|
|
("assets"
|
|
:base-directory ,(expand-file-name "./assets/")
|
|
:publishing-directory ,(expand-file-name "./public_html/")
|
|
:recursive t
|
|
:base-extension "\\(ttf\\|svg\\|jpg\\|gif\\|png\\|css\\|js\\|el\\|nb\\|ipynb\\|pdf\\|xml\\)"
|
|
:publishing-function org-publish-attachment)
|
|
|
|
;; top-level trigger
|
|
("publish"
|
|
:components ("blog" "assets" "homepage" "contact" "links"))))
|
|
|
|
(org-publish "publish" t)
|
|
|
|
(provide 'make)
|
|
;;; make.el ends here
|