Remix.run Logo
adityaathalye 21 hours ago

Opposite day! I moved from markdown (hugo) to org plaintext built and rendered using a hand-rolled pandoc + bash site maker. No Emacs needed.

~350 lines of Bash, and it hot-builds, and it hot-reloads :)

https://github.com/adityaathalye/shite (README has GIF demos, and explains the design of the code)

Also, I use literal HTML exports in my org files, like this:

  #+begin_export html
  <form class="footer cluster"
        action="https://buttondown.email/api/emails/embed-subscribe/evalapply"
        method="post" target="popupwindow"
        onsubmit="window.open('https://buttondown.email/evalapply','popupwindow')">
    <input type="email" name="email" id="bd-email">
    <span>
      <input type="submit" value="subscribe">
      <em>(thanks, <a href="https://buttondown.email" target="_blank">Buttondown</a>!)</em>
    </span>
  </form>
  #+end_export
Which is neat, because when I `C-'` (M-x org-edit-special), it opens a temporary buffer with just the HTML, with the relevant syntax-aware editing mode turned on. This has been a killer feature for me, because there are many places where I want /specific/ HTML, and neither org-export nor pandoc will compile org plaintext the way I want (not unless I invest inordinate amounts of time futzing with templating systems). So I just hand-code HTML using those export blocks, and I'm /fine/.

There are also a couple of places where I use org-babel to call a shell script that updates an exported HTML block in-line. I use this trick to tweak a common HTML fragment (like email form) in one place and expand it into custom HTML, wherever I need to.

Ditto LaTeX, although I confess, I'm not a heavy user, so I almost certainly haven't faced the troubles you have. With HTML, however, I think what I have is just cromulent.