;;; blog.el --- Config file used to export blog -*- lexical-binding: t; -*- ;; Copyright (C) 2017 Peng Li ;; Author: Peng Li ;; Keywords: lisp ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 3 of the License, or ;; (at your option) any later version. ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . ;;; Commentary: ;; This is emacs config used to export Blog Org files in batch mode. ;;; Code: (require 'package) (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/")) (package-initialize) (setq debug-on-error t) ;; package initialise (unless (package-installed-p 'htmlize) (package-refresh-contents) (package-install 'htmlize)) ;; constants ;; (defconst root-dir "~/Private/blog/") (defconst root-dir (file-name-directory (or load-file-name buffer-file-name))) (defconst publish-dir (concat root-dir "_site/")) (defconst res-dir (concat root-dir "res/")) (defconst css-file (concat res-dir "worg.css")) (require 'org) ;; (require 'org-html) (require 'ox-publish) (require 'htmlize) ;; To prevent inline-css when exporting html. will use external css (setq org-html-htmlize-output-type 'css) (setq org-publish-project-alist `( ("org-notes" :base-directory ,root-dir :base-extension "org" :publishing-directory ,publish-dir :recursive t :publishing-function org-html-publish-to-html :headline-levels 4 :section-numbers nil :auto-preamble t :auto-sitemap t ;Generate sitmap.org automagicaly... :sitemap-filename "sitemap.org" ;... call it sitemap.org (it's the default )... :sitemap-title "Sitemap" :html-table-of-contents nil :html-postamble nil ;dont export creator auto validation info in html postamble div :html-link-home "/" :html-head ,(concat "") :html-head-include-default-style nil :html-head-include-scripts nil) ("org-static" :base-directory ,root-dir :base-extension "css\\|js\\|png\\|gif\\|pdf\\|mp3\\|ogg\\|swf" :publishing-directory ,publish-dir :recursive t :publishing-function org-publish-attachment :table-of-contents nil) ("org" :components ("org-notes" "org-static")))) (provide 'blog) ;;; blog.el ends here