Hello,
I usually define each project into a separate project.el file, and I use a batch scripts for publishing, something like this:
publish.sh:
-----
emacs --batch -l batch_project.el --kill
-----
And my project.el
-----
(add-to-list 'load-path "~/elisp/org-mode/lisp")
(add-to-list 'load-path "~/elisp/org-mode/contrib/lisp")
(require 'org)
(require 'htmlize)
(setq c-standard-font-lock-fontify-region-function
'font-lock-default-fontify-region)
(setq org-export-backends (quote (ascii html icalendar latex odt md)))
(org-babel-do-load-languages
'org-babel-load-languages
'((dot . t)
(emacs-lisp . t)
(python . t)
(ditaa . t)))
(custom-set-variables '(org-confirm-babel-evaluate nil))
(require 'ox-publish)
(org-babel-lob-ingest "~/Copy/Documents/www/org-web/
navbar-code.org")
(setq org-publish-project-alist
'(
("org-notes"
:base-directory "~/Copy/Documents/www/org-web/"
:base-extension "org"
:publishing-directory "~/Copy/Documents/www/public_html"
:recursive t
:publishing-function org-html-publish-to-html
:headline-levels 5 ; Just the default for this project.
:auto-preamble t
)
("org-static"
:base-directory "~/Copy/Documents/www/org-web/"
:base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|config\\|sh\\|zip\\|c\\|h"
:publishing-directory "~/Copy/Documents/www/public_html"
:recursive t
:publishing-function org-publish-attachment
)
("org" :components ("org-notes" "org-static"))
;; ... add all the components here (see below)...
))
; (org-publish-remove-all-timestamps)
(org-publish-project "org")
----
Hope this helps
Giuseppe Lipari