summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2022-12-29 14:30:07 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2022-12-29 16:03:34 +0100
commitab3fd4b9bd8eb5fe6325d2ae891658ca1a37e86d (patch)
tree5c001dfb4a46cd2276b25ddb432bb33ec60cfd8f
parente58efa14c1497fa27433cd4d71ad5824e376b1a1 (diff)
Execute Org Babel when publishing
-rw-r--r--init.org16
1 files changed, 15 insertions, 1 deletions
diff --git a/init.org b/init.org
index f41dd17..a384dd4 100644
--- a/init.org
+++ b/init.org
@@ -45,6 +45,9 @@ variable de publication =org-publish-project-alist=.
#+name: publish
#+caption: =publish= : Conversion des posts en HTML
#+begin_src emacs-lisp :noweb no-export
+ (require 'ob-shell)
+ (setq org-confirm-babel-evaluate nil)
+ <<publish-html+babel>>
(setq org-publish-project-alist
'(("blog"
:components ("blog-org" "blog-tangle" "blog-annexes"))
@@ -67,12 +70,23 @@ méta-données.
:base-extension "org"
:publishing-directory <<builddir()>>
:recursive t
- :publishing-function org-html-publish-to-html
+ :publishing-function publish-html+babel
:headline-levels 4
:html-extension "html"
:body-only t)
#+end_src
+Pour pouvoir évaluer le code babel dans les notes, je définis une fonction =publish-html+babel= qui exécute le code babel avant de publier.
+
+#+name: publish-html+babel
+#+caption: Fonction pour publier en HTML et exécuter le code babel
+#+begin_src emacs-lisp :eval no :noweb no-export
+ (defun publish-html+babel (plist filename pub-dir)
+ (with-current-buffer (find-file-noselect filename)
+ (org-babel-execute-buffer))
+ (org-html-publish-to-html plist filename pub-dir))
+#+end_src
+
** Projet contenant les fichiers annexes
Ce projet contient des fichiers qui n’ont pas besoin d’être touchés
par org-mode.