* PlumHTML org-export backend for sane HTML. Basically some changes and extensions to [[https://github.com/balddotcat/ox-slimhtml][ox-slimhtml]]. Used to publish words I write. ** Installation You want to [[https://github.com/C-xC-c/ox-plumhtml.git][clone]] [[https://git.flanchan.moe/c-xc-c/ox-plumhtml.git][the]] [[public@plum.moe:ox-plumhtml][repo]], cd to it then do ~M-x package-install-file~ on ~ox-plumhtml.el~ ** Header IDs In org-mode you can do something like #+begin_example ,#+plumhtml_header_ids: ,* Header 1 ..... some content... ..... ,* Header 2 [[Header 1][Link to header 1]] #+end_example And the link will jump back to =Header 1= when you click it. This is implemented in ox-plumhtml conditionally by setting the variable ~ox-plumhtml-export-header-ids~, or putting ~#+plumhtml_header_ids: t~ in your org file. Exported contents look like this when set to nil: #+begin_src html

Header 1

..... some content... .....

Header 2

Link to header 1

#+end_src And this when non-nil: #+begin_src html

Header 1

..... some content... .....

Header 2

Link to header 1

#+end_src It adds some noise to the outputted file but it's worth it IMO. ** Functions *** ~ox-plumhtml-export-as-html~ Makes a temporary buffer with the exported HTML. *** ~ox-plumhtml-export-to-html~ Like ~ox-plumhtml-export-as-html~ but dumps the exported HTML to a file like =example.org= -> =example.html= *** ~ox-plumhtml-publish-to-html~ Same as ~ox-plumhtml-export-as-html~ but for ~org-publish~ ** Tests I stole them from =ox-slimhtml= lole #+BEGIN_EXAMPLE emacs -batch \ -l ert \ -l ox-plumhtml-tests.el \ -f ert-run-tests-batch-and-exit #+END_EXAMPLE