|
|
|
* 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 clone the 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
|
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
</head>
|
|
|
|
<body><h1>Header 1</h1><p>.....
|
|
|
|
some content...
|
|
|
|
.....
|
|
|
|
</p>
|
|
|
|
<h1>Header 2</h1><p><a href="Header 1">Link to header 1</a>
|
|
|
|
</p>
|
|
|
|
</div></body>
|
|
|
|
</html>
|
|
|
|
#+end_src
|
|
|
|
And this when non-nil:
|
|
|
|
#+begin_src html
|
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
</head>
|
|
|
|
<body><h1 id="orgffb8f9b">Header 1</h1><p>.....
|
|
|
|
some content...
|
|
|
|
.....
|
|
|
|
</p>
|
|
|
|
<h1 id="org89773e7">Header 2</h1><p><a href="#orgffb8f9b">Link to header 1</a>
|
|
|
|
</p>
|
|
|
|
</div></body>
|
|
|
|
</html>
|
|
|
|
#+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
|