emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Re: CDATA auto aggregation
@ 2022-09-29 11:58 David Lukeš
  2022-09-30  3:14 ` Ihor Radchenko
  0 siblings, 1 reply; 7+ messages in thread
From: David Lukeš @ 2022-09-29 11:58 UTC (permalink / raw)
  To: theophilusx, diego.vincent.rodriguez; +Cc: emacs-orgmode

Diego Rodriguez <diego.vincent.rodriguez@gmail.com> writes:

> Where does this CDATA tag gets added automatically and how can I modify this behavior?

Do you have auto-formatting on save configured in Emacs -- perhaps even
via a starter kit like Doom Emacs, so that you're only half aware of it?
And are you by any chance on macOS, which ships with the tidy program
(HTML Tidy) by default? Or failing that, did you install it manually?

To cut a long-story short: HTML auto-formatting on save runs tidy, which
mangles the HTML in various ways, including this CDATA thing. This also
happens in buffers with generated Org export output.

I posted the long version to the mailing list in February:
https://list.orgmode.org/CAEPTPEwOZjJLX1jyFmVR6jarsocyuD=Zf7HJ1i9G4SfWk4mUpQ@mail.gmail.com/

I suggested a patch, but it probably got buried in the noise:
https://list.orgmode.org/20220228140750.75761-1-dafydd.lukes@gmail.com/

Instead, I see that another fix was merged yesterday (for different
reasons AFAICS, but it should help with this auto-formatting issue too):
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=d7a55bbd537314d2776b082bd92a1a08b3edc84e

This should be enough for HTML exports, but two more tweaks are needed
for ODT exports in ox-odt.el -- see my original patch. Or use
https://github.com/kjambunathan/org-mode-ox-odt, which has already
incorporated them.

Tim Cross <theophilusx@gmail.com> writes:

> We probably should consider moving the existing ox-html to an ox-xhtml
> and implementing a new ox-html that is based on html5.

+1 on that, although obviously, I'm aware it's quite a chore.

Best,

David


^ permalink raw reply	[flat|nested] 7+ messages in thread
* CDATA auto aggregation
@ 2021-11-24 17:58 Diego Rodriguez
  2021-11-27  0:54 ` Tim Cross
  0 siblings, 1 reply; 7+ messages in thread
From: Diego Rodriguez @ 2021-11-24 17:58 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 2273 bytes --]

Hello,

I am customizing my org-mode installation but there is something that I
don't understand.

When I execute the following statement:

```
(setq org-html-mathjax-template

"
<script type=\"text/x-mathjax-config\">
    MathJax.Hub.Config({
        displayAlign: \"%ALIGN\",
        displayIndent: \"%INDENT\",
        \"HTML-CSS\": { scale: %SCALE,
                        linebreaks: { automatic: \"%LINEBREAKS\" },
                        webFont: \"%FONT\"
                       },
        SVG: {scale: %SCALE,
              linebreaks: { automatic: \"%LINEBREAKS\" },
              font: \"%FONT\"},
        NativeMML: {scale: %SCALE},
        TeX: { equationNumbers: {autoNumber: \"%AUTONUMBER\"},
               MultLineWidth: \"%MULTLINEWIDTH\",
               TagSide: \"%TAGSIDE\",
               TagIndent: \"%TAGINDENT\"
        }
    });
</script>
<script src=\"%PATH\"></script>
")
```

A `CDATA` tag gets appended in my HTML export as shown below:

```html
  <script type="text/x-mathjax-config">
<![CDATA[
    mathjax.hub.config({
        displayalign: "center",
        displayindent: "0em",
        "html-css": { scale: 100,
                        linebreaks: { automatic: "false" },
                        webfont: "TeX"
                       },
        svg: {scale: 100,
              linebreaks: { automatic: "false" },
              font: "TeX"},
        nativemml: {scale: 100},
        tex: { equationnumbers: {autonumber: "AMS"},
               multlinewidth: "85%",
               tagside: "right",
               tagindent: ".8em"
        }
    });
  ]]>
  </script>
  <script src=
  "
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML
"
  type="text/javascript">
</script>
```

As you can see above, when I set the variable I have no CDATA tag on it.
Where does this tag come from? The problem is that the CDATA tag messes up
with the MathJax configuration parser, as it expects a JavaScript script
inside. But, instead, it finds a CDATA tag that, while it might be valid
according to W3, the MathJax parser throws an `eval` error in the console
since it tries to parse the body of that HTML node.

Where does this CDATA tag gets added automatically and how can I modify
this behavior?

Diego Rodriguez.

[-- Attachment #2: Type: text/html, Size: 3342 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-10-02  4:06 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-29 11:58 CDATA auto aggregation David Lukeš
2022-09-30  3:14 ` Ihor Radchenko
2022-10-01  5:13   ` David Lukeš
2022-10-02  3:35     ` Ihor Radchenko
2022-10-02  4:04       ` David Lukeš
  -- strict thread matches above, loose matches on Subject: below --
2021-11-24 17:58 Diego Rodriguez
2021-11-27  0:54 ` Tim Cross

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).