emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ox.html causes w3c xhtml validation


From: Kyle Meyer
Subject: Re: ox.html causes w3c xhtml validation
Date: Sun, 15 Mar 2020 21:54:49 +0000

Adam Porter <address@hidden> writes:

> Colin Baxter <address@hidden> writes:
>
>> In my opinion, if it can't be fixed then the changes should be
>> removed. Surely, we cannot have an org-mode that knowingly
>> exports/publishes something that causes a validation error!
>
> Looking at the error message, the fix might be very simple:
>
>   The most common cause of this error is unencoded ampersands in URLs as
>   described by the WDG in "Ampersands in URLs".

Hmm, perhaps it is as simple as encoding the ampersand.  That won't work
with inline javascript, if I'm understanding correctly the link I gave
in my reply.  *But*, despite being embedded javascript, the librejs
magnet link happens within a comment, so I suppose it really just comes
down to how librejs treats it.  Poking around in librejs (525e3a5), it
seems it is clever and will s/&amp;/&/:

    // Match by link on first parameter (legacy)
    if (licenses[key]["Magnet link"] === first.replace("&amp;","&") ||
        licenses[key]["URL"] === first.replace("&amp;","&")) {
          return [true, `Recognized license: "${licenses[key]['Name']}".`];

Colin, could you try exporting with the change below and see if that
resolves your validation issues?  It'd also be great if you could check
whether librejs is still happy after that change.

-- >8 --
diff --git a/lisp/ox-html.el b/lisp/ox-html.el
index 9a1dd44b5..5c2b766e9 100644
--- a/lisp/ox-html.el
+++ b/lisp/ox-html.el
@@ -232,7 +232,7 @@ (defconst org-html-special-string-regexps
 
 (defconst org-html-scripts
   "<script type=\"text/javascript\">
-// @license 
magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt 
GPL-v3-or-Later
+// @license 
magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt 
GPL-v3-or-Later
 <!--/*--><![CDATA[/*><!--*/
      function CodeHighlightOn(elem, id)
      {
@@ -510,12 +510,12 @@ (defcustom org-html-infojs-options
 
 (defcustom org-html-infojs-template
   "<script type=\"text/javascript\" src=\"%SCRIPT_PATH\">
-// @license 
magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt 
GPL-v3-or-Later
+// @license 
magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt 
GPL-v3-or-Later
 // @license-end
 </script>
 
 <script type=\"text/javascript\">
-// @license 
magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt 
GPL-v3-or-Later
+// @license 
magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt 
GPL-v3-or-Later
 <!--/*--><![CDATA[/*><!--*/
 %MANAGER_OPTIONS
 org_html_manager.setup();  // activate after the parameters are set




reply via email to

[Prev in Thread] Current Thread [Next in Thread]