emacs-config/misc/config-publishing/org-html.sh

47 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env sh
":"; exec emacs --quick --script "$0" -- "$@" # -*- mode: emacs-lisp; lexical-binding: t; -*-
(setq log-file (expand-file-name (format "%s-log.txt" (file-name-base load-file-name))))
(load (expand-file-name "initialise.el" (file-name-directory load-file-name)) nil t)
(initialise 'full)
;;; Actually do the exporting now
(message "[34] Opening config file: %s"
(expand-file-name "config.org" config-root))
(require 'vc) ; need this for modification-time macro
(require 'org)
(require 'org-persist)
(remove-hook 'kill-emacs-hook #'org-persist-gc)
(require 'ox-html)
;; For some faces
(require 'highlight-numbers)
(require 'highlight-quoted)
(require 'rainbow-delimiters)
(with-temp-buffer
(let ((default-directory config-root)
(buffer-file-name (expand-file-name "config.org" config-root))
(org-export-coding-system 'utf-8)
(org-export-with-broken-links t)
org-mode-hook org-load-hook)
(insert-file-contents (expand-file-name "config.org" config-root))
(goto-char (point-max))
(insert (shell-command-to-string (expand-file-name "./gen-org-snippets.sh" script-root)))
(message "[33] Exporting %s" (buffer-file-name))
(org-mode)
(org-html-export-to-html)))
(publish "config.html" "misc/*.svg" "misc/splash-images/*")
(make-symbolic-link (expand-file-name "config.html" publish-dir)
(expand-file-name "index.html" publish-dir) t)
(message "[1;32] Config export complete!")
(setq inhibit-message t)
(kill-emacs exit-code)