On 08/14/2010 10:59 PM, Carsten Dominik wrote:
Hi Jan,
can you expand a bit on why this is interesting to do? What are the
advantages?
Thanks!
- Carsten
Advantages are:
- The user is not required to have JavaScript enabled
- In some cases, there is a speed advantage, because
there is no rendering stage. This is especially
noticeable on high-latency connections when the MathJax files
are not already cached.
- Fonts can be embedded into the HTML file itself, so it feels
more 'document-like' (no need to move additional files around)
- The approach might be interesting for HTML email, because it
would require neither JavaScript nor attachments
Of course, there are disadvantages too:
- No interactive MathJax features (zoom, view source, switch rendering
backend)
- no fallback to image fonts (although AFAIK, all current versions
of major browsers support CSS3 custom fonts)
- slightly different spacing and font sizes in non-Firefox browsers
- if fonts are embedded within the HTML file:
* IE will not show the correct font (but in my test the
formatting was still correct and readable)
* The HTML file will be larger (my small example grew by 436 KB).
Bandwidth is wasted because the fonts are base64-encoded.
I would not recommend this for regular publishing on the web. As
long as
JavaScript is enabled (as it is in most cases), the disadvantages
outweigh the advantages. It might come in handy if you want to send
someone a single file (although you can always use PDF for that) or if
you want to provide an alternative for users who have JavaScript
disabled.
Ideally, there would be some sort of graceful degradation, so that
users
without JavaScript see the non-JS version, but if JavaScript is
enabled,
the math gets re-rendered and all MathJax features are available. I
have
not explored the feasibility of that.
On 08/14/2010 10:39 PM, Detlef Steuer wrote:
Could you post the org file to give dummies like me a head start?
Especially the serializing back to HTML? How is it done?
I have attached the (very simple) example org file to this email. The
first example is the result of exporting this file with C-c C-e h
(like
Carsten said, it Just Works). The second example is the result of
processing the first one with a xulrunner application I hacked
together
(which is independent of emacs). I'll try to get that application
into a
publishable form tomorrow (remove hard-coded values, make embedding
fonts into the HTML file optional, etc).
My aim is to provide an elisp function to be called from an export
hook
which makes the appropriate call to create the non-JS version.
-- Jan
<mathjaxtest.org>