;;; 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)))
+(defvar publish-dir (concat root-dir "_site/"))
+(defconst css-file "../css/worg.css")
+;; (defconst css-file (concat root-dir "css/worg.css"))
+
+(let ((aa (pop command-line-args-left)))
+ (if (> (length aa) 0)
+ (setq publish-dir aa)))
+
+;; (setq publish-dir (or (pop command-line-args-left) publish-dir))
+(message publish-dir)
+
(require 'org)
(require 'ox-publish)
(require 'htmlize)
+(message "Org-mode version %s" (org-version))
+(message "publish directory is %s" publish-dir)
+
;; 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 "~/Private/blog/"
+ :base-directory ,root-dir
:base-extension "org"
- :publishing-directory "~/Private/publish_html"
+ :publishing-directory ,publish-dir
:recursive t
:publishing-function org-html-publish-to-html
:headline-levels 4
:html-table-of-contents nil
:html-postamble nil ;dont export creator auto validation info in html postamble div
:html-link-home "/"
- :html-head "<link rel='stylesheet' href='/Users/peli3/Private/blog/res/worg.css' />"
+ :html-head ,(concat "<link rel='stylesheet' href='" css-file "' />")
:html-head-include-default-style nil
:html-head-include-scripts nil)
("org-static"
- :base-directory "~/Private/blog/"
- :base-extension "css\\|js\\|png\\|gif\\|pdf\\|mp3\\|ogg\\|swf"
- :publishing-directory "~/Private/publish_html"
+ :base-directory ,root-dir
+ :base-extension "css\\|js\\|png\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|el"
+ :publishing-directory ,publish-dir
:recursive t
:publishing-function org-publish-attachment
:table-of-contents nil)
("org" :components ("org-notes" "org-static"))))
-(provide 'blog)
+(org-publish-project "org" t)
+
+;; (provide 'blog)
+(kill-emacs 0)
;;; blog.el ends here