(require 'org)
(require 'ox-publish)
+(require 'htmlize)
;; To prevent inline-css when exporting html. will use external css
(setq org-html-htmlize-output-type 'css)
(setq blog-extra-head
(concat
- ;; "<link rel='stylesheet' href='" css-file "' />\n"
- "<link rel='stylesheet' href='../css/main.css' />\n"
- "<link rel='stylesheet' href='../css/code.css' />"
- ))
+ "<link rel='stylesheet' href='/css/my.css' />\n"
+ "<link rel='stylesheet' href='/css/code.css' />"))
(setq blog-header
(concat
- " <header id= 'banner' > "
- "<h1><a href= '/' >Peng Li</a></h1>"
- "<hr>"
+ "<header id= 'banner'>"
+ "<a class=\"title\"href= '/' >Peng Li</a>"
"<nav><ul>"
- "<li><a href= '/' >About</a></li>"
- "<li><a href= '/blog.html' >Blog</a></li>"
- "<li><a href= '/home.html' >Home</a></li>"
+ "<li><a href= '/about.html' >About</a></li>"
+ "<li><a href= '/posts/sitemap.html' >Blog</a></li>"
+ "<li><a href= '/index.html' >Home</a></li>"
"</ul></nav>"
- "</header>"))
+ "</header>"
+ "<hr>"))
+;; (setq blog-footer
+;; (concat
+;; "<hr />\n"
+;; "<span><a href= \"http://orgmode.org\"/>Org-mode </a>" (org-version) "</span>"))
(setq blog-footer
- "<hr />\n
-<p><span style=\"float: left;\"><a href= \"/blog.xml\">RSS</a></span>
-License: <a href= \"https://creativecommons.org/licenses/by-sa/4.0/\">CC BY-SA 4.0</a></p\n")
+ (concat
+ "<hr />\n"
+ org-html-creator-string))
-(defun blog-setup-project-alist (root-dir &optinal output-dir)
+(defun blog-setup-project-alist (root-dir &optional output-dir)
"Set project alist. `output-dir' is the directory of publish-directory.
`root-dir' is the root directory of blog repository."
- (unless output-dir (setq output-dir (concat root-dir "_site/")))
+ (unless (> (length output-dir) 0)
+ (setq output-dir (concat root-dir "/_site/")))
+ (message "Blog dir is: %s\nOut dir is: %s"
+ (format root-dir)
+ (format output-dir))
(setq org-publish-project-alist
`(
("blog-pages"
- ;; publishing
:base-directory ,root-dir
:base-extension "org"
:publishing-directory ,output-dir
:html-head-include-scripts nil
:html-head-extra ,blog-extra-head
:html-preamble ,blog-header
- :html-postamble ,blog-footer)
+ :html-postamble ,blog-footer
+
+ ;; other generic options
+ :with-toc nil
+ )
("blog-posts"
- ;; publishing
:base-directory ,(concat root-dir "/posts")
:base-extension "org"
:publishing-directory ,(concat output-dir "/posts")
;; sitemap
:auto-sitemap t
:sitemap-filename "sitemap.org"
- :sitemap-title "Sitemap")
+ :sitemap-title "Sitemap"
+
+ ;; other generic options
+ :with-toc nil ; table of contents
+ )
("blog-css"
:base-directory ,(concat root-dir "/css")
:recursive t)
("blog" :components ("blog-pages" "blog-posts" "blog-css" "blog-cgi")))))
-
-(defun blog-publish (out-dir force)
- "publish the project"
- (interactive)
- (blog-setup-project out-dir)
- (org-publish-project "blog" force))
-
-
(provide 'my-publish)
;;; publish.el ends here