emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* superfluous <code> tags in html src block output
@ 2019-09-14 15:52 Matt Price
  2019-09-14 17:53 ` Berry, Charles
  0 siblings, 1 reply; 3+ messages in thread
From: Matt Price @ 2019-09-14 15:52 UTC (permalink / raw)
  To: Org Mode

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

I'm seeing something I hadn't noticed before in src block html exports.
Instead of producing structures like:

<pre>
<code>
<span>...</span>
<span>...</span>
<span>...</span>
</code>
</pre>

each individual like is wrapped in its own <code> tag.  In regular HTML
exports this doesn't really affect display, but in exports to reveal using
the highlight.js plugin, code display gets messed up.

From what I can tell these code tags are generated in
org-html-do-format-code, in this section which starts on line 22459 of my
pretty recent org:

(org-export-format-code
     code
     (lambda (loc line-num ref)
       (setq loc
    (concat
     ;; Add line number, if needed.
     (when num-start
(format "<span class=\"linenr\">%s</span>"
(format num-fmt line-num)))
     ;; Transcoded src line.
     (format "<code%s>%s</code>"
                      (if num-start
                          (format " data-ox-html-linenr=\"%s\"" line-num)
                        "")
                      loc)
     ;; Add label, if needed.
     (when (and ref retain-labels) (format " (%s)" ref))))
       ;; Mark transcoded line as an anchor, if needed.
       (if (not ref) loc
(format "<span id=\"coderef-%s\" class=\"coderef-off\">%s</span>"
ref loc)))
     num-start refs)

This code seems to have been around for a while so I don't know whether
this is new behaviour, but I don't think I've seen line-level <code> tags
before.  Can anyone confirm?

See also a MWE in this bug report, which is probably erroneously filed in
the org-re-reveal repo:

https://gitlab.com/oer/org-re-reveal/issues/27

I'd love to know whether this is expected behaviour, or if I've gone wrong
somewhere!
THanks,
Matt

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

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

* Re: superfluous <code> tags in html src block output
  2019-09-14 15:52 superfluous <code> tags in html src block output Matt Price
@ 2019-09-14 17:53 ` Berry, Charles
  2019-09-14 19:56   ` Matt Price
  0 siblings, 1 reply; 3+ messages in thread
From: Berry, Charles @ 2019-09-14 17:53 UTC (permalink / raw)
  To: Matt Price; +Cc: Org Mode

This is newer:

===
commit ded3d27b1468b878197e5fe55a70c5e13350ea27
Author: Nik Clayton <nik@ngo.org.uk>
Date:   Tue Jun 4 11:57:40 2019 +0200

    ox-html: Wrap each line of a source block in a code element
    
    * lisp/ox-html.el (org-html-do-format-code): Wrap each line of a source block
    in a code element.
    
    This makes it straightforward to add custom decorations to each line
    using CSS :before and :after properties.

===



HTH,

Chuck


> On Sep 14, 2019, at 8:52 AM, Matt Price <moptop99@gmail.com> wrote:
> 
> I'm seeing something I hadn't noticed before in src block html exports. Instead of producing structures like:
> 
> <pre>
> <code>
> <span>...</span>
> <span>...</span>
> <span>...</span>
> </code>
> </pre>
> 
> each individual like is wrapped in its own <code> tag.  In regular HTML exports this doesn't really affect display, but in exports to reveal using the highlight.js plugin, code display gets messed up. 
> 
> From what I can tell these code tags are generated in org-html-do-format-code, in this section which starts on line 22459 of my pretty recent org:
> 
> (org-export-format-code
>      code
>      (lambda (loc line-num ref)
>        (setq loc
>     (concat
>      ;; Add line number, if needed.
>      (when num-start
> (format "<span class=\"linenr\">%s</span>"
> (format num-fmt line-num)))
>      ;; Transcoded src line.
>      (format "<code%s>%s</code>"
>                       (if num-start
>                           (format " data-ox-html-linenr=\"%s\"" line-num)
>                         "")
>                       loc)
>      ;; Add label, if needed.
>      (when (and ref retain-labels) (format " (%s)" ref))))
>        ;; Mark transcoded line as an anchor, if needed.
>        (if (not ref) loc
> (format "<span id=\"coderef-%s\" class=\"coderef-off\">%s</span>"
> ref loc)))
>      num-start refs)
> 
> This code seems to have been around for a while so I don't know whether this is new behaviour, but I don't think I've seen line-level <code> tags before.  Can anyone confirm?
> 
> See also a MWE in this bug report, which is probably erroneously filed in the org-re-reveal repo:
> 
> https://gitlab.com/oer/org-re-reveal/issues/27 
> 
> I'd love to know whether this is expected behaviour, or if I've gone wrong somewhere!
> THanks,
> Matt
> 

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

* Re: superfluous <code> tags in html src block output
  2019-09-14 17:53 ` Berry, Charles
@ 2019-09-14 19:56   ` Matt Price
  0 siblings, 0 replies; 3+ messages in thread
From: Matt Price @ 2019-09-14 19:56 UTC (permalink / raw)
  To: Berry, Charles, Org Mode

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

On Sat, Sep 14, 2019 at 1:53 PM Berry, Charles <ccberry@ucsd.edu> wrote:

> This is newer:
>
> ===
> commit ded3d27b1468b878197e5fe55a70c5e13350ea27
> Author: Nik Clayton <nik@ngo.org.uk>
> Date:   Tue Jun 4 11:57:40 2019 +0200
>
>     ox-html: Wrap each line of a source block in a code element
>
>     * lisp/ox-html.el (org-html-do-format-code): Wrap each line of a
> source block
>     in a code element.
>
>     This makes it straightforward to add custom decorations to each line
>     using CSS :before and :after properties.
>
> ===
>
> ah, man, thank you, that's very helpful.   Clearly this is the issue. I'll
have to figure out the best way to make this work with the `highlight.js`
library that reveal.js depends on for code highlighting.

>
>
> HTH,
>
> Chuck
>
>
> > On Sep 14, 2019, at 8:52 AM, Matt Price <moptop99@gmail.com> wrote:
> >
> > I'm seeing something I hadn't noticed before in src block html exports.
> Instead of producing structures like:
> >
> > <pre>
> > <code>
> > <span>...</span>
> > <span>...</span>
> > <span>...</span>
> > </code>
> > </pre>
> >
> > each individual like is wrapped in its own <code> tag.  In regular HTML
> exports this doesn't really affect display, but in exports to reveal using
> the highlight.js plugin, code display gets messed up.
> >
> > From what I can tell these code tags are generated in
> org-html-do-format-code, in this section which starts on line 22459 of my
> pretty recent org:
> >
> > (org-export-format-code
> >      code
> >      (lambda (loc line-num ref)
> >        (setq loc
> >     (concat
> >      ;; Add line number, if needed.
> >      (when num-start
> > (format "<span class=\"linenr\">%s</span>"
> > (format num-fmt line-num)))
> >      ;; Transcoded src line.
> >      (format "<code%s>%s</code>"
> >                       (if num-start
> >                           (format " data-ox-html-linenr=\"%s\"" line-num)
> >                         "")
> >                       loc)
> >      ;; Add label, if needed.
> >      (when (and ref retain-labels) (format " (%s)" ref))))
> >        ;; Mark transcoded line as an anchor, if needed.
> >        (if (not ref) loc
> > (format "<span id=\"coderef-%s\" class=\"coderef-off\">%s</span>"
> > ref loc)))
> >      num-start refs)
> >
> > This code seems to have been around for a while so I don't know whether
> this is new behaviour, but I don't think I've seen line-level <code> tags
> before.  Can anyone confirm?
> >
> > See also a MWE in this bug report, which is probably erroneously filed
> in the org-re-reveal repo:
> >
> > https://gitlab.com/oer/org-re-reveal/issues/27
> >
> > I'd love to know whether this is expected behaviour, or if I've gone
> wrong somewhere!
> > THanks,
> > Matt
> >
>
>
>

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

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

end of thread, other threads:[~2019-09-14 19:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-14 15:52 superfluous <code> tags in html src block output Matt Price
2019-09-14 17:53 ` Berry, Charles
2019-09-14 19:56   ` Matt Price

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).