I'm a bit new to emacs and I'm trying to play with the idea of publishing some notes in org-mode as a blog. I've been reading the manual and writing the
publish.el file. I understand I need to set the variable
org-publish-project-alist. One of the things I want to do is to remove the css and js included in the export and use my own. There are two option in the manual to disable them
:html-head-include-scripts; so far so good. The problem is when I want to add my own, the manual says the option
:html-head would do the job and indeed, if set it to a string it gives the desired result: It adds that string in the header of the resulting HTML file. Now, the header is far from finished so I thought of defining a variable to contain a longer and more complex string but for some reason with this, the publishing gives me the following error:
Publishing file /home/eduardo/Sites/org_blog/posts/index.org using ‘org-html-publish-to-html’ org-html-template: Wrong type argument: sequencep, org-blog-header
I'm aware I could just add the header to each org file with
#+HTML_HEAD or the same using
#+SETUPFILE and it could be perfectly functional, however I'd like to have a complete separation between writing and setup.
Edit: How can I use the variable to define the string in the option
:html-head? And why is it rejecting it in one form and not in the other?
Here are the two parts on the
The definition of the variable containing the string for the header:
(defvar org-blog-header "<link rel=\"stylesheet\" type=\"text/css\" href=\"index.css\" /> <link rel=\"icon\" type=\"image/x-icon\" href=\"favicon.ico\">")
The definition of
(setq org-publish-project-alist '( ("org-posts" :base-directory "~/Sites/org_blog/posts/" :base-extension "org" :publishing-directory "~/Sites/org_blog/public/" :recursive t :exclude ".*\.draft\.org" :with-toc nil :with-title nil :section-numbers nil :auto-sitemap t :sitemap-filename "index.org" :html-head-include-default-style nil :html-head-include-scripts nil :html-head org-blog-header :publishing-function org-html-publish-to-html ) ("org-static" :base-directory "~/Sites/org_blog/static/" :base-extension "css\\|js" :publishing-directory "~/Sites/org_blog/public/" :recursive t :publishing-function org-publish-attachment ) ("org" :components ("org-posts" "org-static"))))