Eric Abrahamsen writes: > François Pinard writes: > >> Bastien writes: >> >>> Eric Abrahamsen writes: >> >>>> The first step is probably to research the differences between xhtml and >>>> html 5. >> >>> Well, I would even skip this step and just hack something usable. I sort of fudged on the below. The upside is that it should be pretty forgiving now: you can set all kinds of strings as your :html-doctype, and it will do a reasonably good job of guessing how to handle it. Barring actual bugs or poor design decisions, what's left to do is: 1. Make sure that inlined script and style chunks are escaped correctly, I seem to remember reading that the commenting/escaping syntax for these chunks varies according to html flavor. 2. I'd like to add the possibility to put an arbitrary :html-container attribute on HTML elements, so that things that would have been wrapped in "div"s can be wrapped in "article", "section", "nav", and so on and so forth. Rick Frankel kindly provided a test file for this, which I've modified below: #+BEGIN_SRC emacs-lisp #+TITLE: HTML 5 Test #+DATE: {{{modification-time(%Y-%m-%d)}}} #+HTML_DOCTYPE: html5 #+BIND: org-html-divs ((preamble "header" "preamble") (content "section" "content") (postamble "footer" "postamble")) * Org HTML5 Test ok? This should be a paragraph with a \\ line break in it. I think * How about a table | col1 | col2 | |------+------| | a | 1 | | b | 2 | Tables can't have attributes in HTML5. * And a list - a - b - c * And an image [[file:1356810947473.jpg]] * A definiton list #+ATTR_HTML: :options html-container article - a :: foo - b :: bar #+END_SRC Please break! I'll provide a properly-written patch when we've sorted it out. E