When changing the publishing setup, old timestamp files can be left
behind. Forcing publishing of all projects with `C-u C-c C-e E'
will remove all existing timestamp files.
This commit implements better support for publishing the same file in
multiple ways. For example when publishing a Org file both as HTML
and as a plain text or htmlized source file.
It does this by including information about the target directory and
about the publishing function used into the hash that is used as a
file name to keep a time stamp.
Publishing a project with prefix argument to
force publishing was broken. Actually, the entire interactive side of
this function was implemented badly. Fixed now.
There is now a new export function, `org-export-as-org', which
basically creates a copy of the Org file with things like archived
trees, commented trees, and trees deselected by export tags,
stripped.
The default for the sitemap file was "index.org" which is really
terrible because it will overwrite the index.html file. Now the
default is "sitemap.org".
Ian Barton writes:
>
> This has been happening for a while. I suspect it's something in my
> settings, but I can't work out what. When I publish a single file, I
> get the following error:
>
> Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
> file-truename(nil)
> org-publish-file("/home/ian/nfs/firewall/Documents/org/holiday/holiday.org")
> org-publish-current-file(nil)
> call-interactively(org-publish-current-file)
> org-export(nil)
> call-interactively(org-export)
>
> Publishing a whole project works fine.
This was caused by an attempt of the publishing code to always find
the top enclosing project. While this makes sense when publishing a
project, for a single file we want just the smallest enclosing
project. This commit makes sure that this difference is treated
correctly.
Selecting files for publishing was strictly based on extension.
Richard Klinda provided this patch to allow the symbol `any' as an
indicator to actually take all files in a directory.
When starting the publishing process with
`org-publish-current-project' from a file that is located in a project
that is also a component of a parent project, this patch now makes
sure that the entire parent project is published instead.
The creation of an automatic site map in org-publish with the
:auto-index and :index-filename parameter does exclude the index
file name from being added to the index. There was a bug which would
exclude this file name also in all subdirectories in a project. This
patch switches the comparison from looking at file names only to
looking at the complete path.