* org-publish producing <nil> element tags instead of honoring what is specified in :html-divs
@ 2023-03-30 5:27 Cooper Oscarfono
2023-03-30 9:57 ` Ihor Radchenko
0 siblings, 1 reply; 2+ messages in thread
From: Cooper Oscarfono @ 2023-03-30 5:27 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1.1.1: Type: text/plain, Size: 2581 bytes --]
Greetings,
New to the list, and this is my first post. I hope it's ok.
I'm experiencing an issue when trying to use org-publish.
In attempting to convert the divs generated for preamble, content, and
postamble, by specifying, what I believe to be the appropriate setting
within org-publish-project-alist :
:html-divs '((preamble "header" :id "preamble")
(content "main" :id "content")
(postamble "footer" :id "postamble"))
Instead of generating <header id="preamble"...</header>, <main
id="content">...</main>, and <footer id="postamble">...</footer>, as
expected, I am generating: <nil id="nil" class="status">...</nil>, <nil
id="nil" class="content">...</nil>, and <nil id="nil"
class="status">...</nil>, respectively.
This also happens when I use this approach instead:
:html-divs '((preamble . "<header id=\"preamble\">")
(content "<main id=\"content\">")
(postamble "<footer id=\"postamble\">"))
I am doing a slightly weird thing in that I am using the following code
to pull in a header.org and footer.org file, and extract the html code
contained within using org-export and add these values to the
appropriate :html-{preamble,postamble} variables as shown below:
This is the function:
(defun get-org-component-contents (component)
"Retrieve the HTML contents of the specified org component."
(with-temp-buffer
(insert-file-contents (concat "./components/" component ".org"))
(org-export-to-buffer 'html "*Org HTML Export*" nil nil nil t)
;; (insert-file-contents (concat "./components/" component
".html"))
(buffer-string)))
and I set the variables:
(setq header-contents (get-org-component-contents "header"))
(setq footer-contents (get-org-component-contents "footer"))
then define them into the org-publish-project-alist like so:
:html-preamble ,header-contents
:html-postamble ,footer-contents
This works seemlessly when I don't try to change the :html-div elements.
Is this me doing something wrong here or could this be a potential issue
with org-publish?
I'm trying to achieve some modularity to the way i do things and must
confess, i've only recently begun to start wrapping my head around
emacs-lisp, so it's more likely to be a me problem.
Any pointers you can offer are appreciated.
Regards,
Cooper.
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3191 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: org-publish producing <nil> element tags instead of honoring what is specified in :html-divs
2023-03-30 5:27 org-publish producing <nil> element tags instead of honoring what is specified in :html-divs Cooper Oscarfono
@ 2023-03-30 9:57 ` Ihor Radchenko
0 siblings, 0 replies; 2+ messages in thread
From: Ihor Radchenko @ 2023-03-30 9:57 UTC (permalink / raw)
To: Cooper Oscarfono; +Cc: emacs-orgmode
Cooper Oscarfono <bleat@baaa.sh> writes:
> In attempting to convert the divs generated for preamble, content, and
> postamble, by specifying, what I believe to be the appropriate setting
> within org-publish-project-alist :
>
>
> :html-divs '((preamble "header" :id "preamble")
> (content "main" :id "content")
> (postamble "footer" :id "postamble"))
>
>
> Instead of generating <header id="preamble"...</header>, <main
> id="content">...</main>, and <footer id="postamble">...</footer>, as
> expected, I am generating: <nil id="nil" class="status">...</nil>, <nil
> id="nil" class="content">...</nil>, and <nil id="nil"
> class="status">...</nil>, respectively.
Looks like double quoting.
You likely have something like
(setq org-publish-project-alist '(... :html-divs '(...)) ...).
Because of nested "'", the actual value of :html-divs is set to
(quote (...)) and Org is not able to get preamble/contents/postamble
part from there.
To illustrate try the following
(setq test '(:a '((preamble "a" "b"))))
(assq 'preamble (plist-get test :a))
and then the same but without double quoting
(setq test '(:a ((preamble "a" "b"))))
(assq 'preamble (plist-get test :a))
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-03-30 9:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-30 5:27 org-publish producing <nil> element tags instead of honoring what is specified in :html-divs Cooper Oscarfono
2023-03-30 9:57 ` Ihor Radchenko
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).