[EDIT]
Nope, I’m wrong. What’s written below is incorrect. Refer to the comments below this answer for the correct answer.
Thanks to @NickD’s successful attempt to compile, I was able to identify the issue.
It lies in the :base-directory
and the :exclude
variables. The latter variable inherits from the former.
In details:
;; Define the publishing project
(setq org-publish-project-alist
'(
("notes"
:base-directory "./.."
:base-extension "org"
:publishing-directory "./public"
:exclude "./")
I thought that the :exclude
variable would take the same base value as the :base-directory
one. In other words, let’s say I have .site
where I execute my commands and my based directory is a folder up, I set :base-directory
to ./..
. I also set the :exclude
variable to ./
to exclude the directory I am executing the script in, here .site
. However, :exclude
inherits from :base-directory
, therefore actually excluding my base-directory to be published….
To solve the issue, all I need to refer the exclude
directory from the :base-directory
starting point. So this works:
(setq org-publish-project-alist
'(
("notes"
:base-directory "./.."
:base-extension "org"
:publishing-directory "./public"
:exclude ".site/")