The need for indicating what source is run
My literate elisp webpage has a problem. It does not tell the reader what source code is loaded at startup, and what source code is vestigial, and only there to remind me that I configured a package but didn’t like it. I’d like the webpage to show this to the user.
How to display to the user
I solved this by dynamically converting
emacs-lisp blocks to
plaintext blocks at org-export time. This way, the emacs lisp code will look like:
(print "This code will not be run!")
if it is skipped, and
(print "This code is run in my config!")
if it is loaded by the
Replacing header blocks that look like
#+begin_src emacs-lisp :load no with header blocks that look like
#+begin_src plaintext will achieve this in the
rouge syntax highlighting system. I can do this (somewhat) hackily with some very simple regular expressions over the pure org source before export.
(defun my/org-export-filter-src-blocks (backend) (when (eq backend 'jekyll) (goto-char (point-min)) (while (re-search-forward "^#\\+begin_src\\s-+emacs-lisp\\(.*:load\\s-+no.*\\)$" nil t) (replace-match "#+begin_src plaintext")))) (add-hook 'org-export-before-processing-hook 'my/org-export-filter-src-blocks)
Enjoy Reading This Article?
Here are some more articles you might like to read next: