How to define template for org-mode HTML export?

Solution 1:

This is what I understand.

If you need to define settings globally, you should define Options for the HTML/LaTeX exporters in org-publish-project-alist inside .emacs.

#+SETUPFILE is to be used when you need to override global settings and define custom settings for few or a single file. If those settings are used frequently, you can define a template and use SETUPFILE to instruct org-mode to use the template to export this org file.

So I solved my problem by defining global settings in .emacs and dropped the idea of using a global template


     :author "Andy"
     :email "[email protected]"
     :language "en"
     :link_home "index.html"
     :style "&ltlink rel=\"stylesheet\" type=\"text/css\" href=\"css/style.css\" /&gt

Solution 2:

You can add hook org-publish-before-export-hook with the function like

(defun my-add-setup ()
  "Insert SETUPFILE statement in the beginning of the buffer for export ONLY."
  (interactive) ; for testing in scratch
  (goto-char (point-min))
  (insert "#+SETUPFILE: ~/.emacs.d/org-templates/level-0.org\n")
)

P.S. I did not try it myself.