emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nik Clayton <nik@ngo.org.uk>
To: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: (no subject)
Date: Mon, 15 Oct 2018 10:04:10 +0200	[thread overview]
Message-ID: <CAKJTzL6t4pVLVfT4x=eniYVNu7QcKPY7qNZ-xOiaWEm_BVGCSA@mail.gmail.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 3114 bytes --]

Hi,

I'd like to propose a couple of changes / enhancements to how org-export
exports some data in to HTML files to make it slightly easier to style
those files.

The first is re line-numbers.

At the moment those get exported as content in the HTML, although they're
really additional metadata. Amongst other things, this means that if you
copy/paste from the output you get the line numbers included in the text
that's copied.

CSS supports arbitrary counters that can be associated with content,
starting from an arbitrary value. My current hack that sort of works is the
following CSS:

/* Hide the current line numbers */
span.linenr {
  display: none;
}

/* Style each line. Maintain a counter for each line, increment
   by one for each <code>...</code> element.
.reveal pre.src code {
  display: inline;
  font-size: 125%;
  line-height: 1.2;
  counter-increment: line;
}

/* Show a line number before each line. */
.reveal pre.src code:before {
  content: counter(line);
  border-right: 1px solid #ddd;
  padding: 0 0.5em;
  margin-right: 0.5em;
  width: 1em;
  display: inline-block;
  text-align: right;
}

and a change to org-html-do-format-code to wrap each line in its own
<code>...</code> element:

...
          ;; Transcoded src line.
          (format "<code>%s</code>" loc)
...

But this adds line numbers to all code blocks, irrespective of the "-n"
option, and they all start from one.

What I'd like to do is change the output to:

1. Omit the <span class="linenr">...</span>" content.
2. Add an additional class to the pre element to indicate whether or not
this block should have line numbers.
3. Add a data-ox-starting-number (or similar) attribute to the pre element
that specifies what the starting line number for this block should be.

Couple of questions before I write a patch:

a) Does that sound reasonable?
b) Should this replace the current approach, or be an option that can be
toggled by a customisation?


And the second is re languages associated with exported SRC blocks.

At the moment the language is mentioned as src-... class (src-html,
src-javascript, etc).

I'd like to put the language in a data-ox-src-language attribute as well
(e.g., <pre class="src src-html" data-ox-src-language="HTML">...</pre>) so
that I can put use CSS to put badges indicating the language in the output.

Per
https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes
that would look something like:

.src:after {
  content: attr(data-ox-src-language);
  position: absolute;
  top: -10px;
  right: -10px;
  font-size: 70%;
  background: green;
  color: white;
  text-align: center;
  line-height: 18px;
  border-radius: .25em;
  padding: 0 0.5em;
  box-shadow: 0 0 1px #333;
}

I see there's already some code that tries to show language badges on hover
(which doesn't work for me for some reason, I haven't dug in to why).

Does this change sound reasonable?

Here's a screenshot from an export showing early versions of these changes
in action. Notice how the selected text (the first function) doesn't
include the line numbers in the selection.

[image: image.png]

N

[-- Attachment #1.2: Type: text/html, Size: 5456 bytes --]

[-- Attachment #2: image.png --]
[-- Type: image/png, Size: 31536 bytes --]

             reply	other threads:[~2018-10-15  8:04 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-15  8:04 Nik Clayton [this message]
2018-10-17 13:20 ` (no subject) Nicolas Goaziou
2019-09-15 21:06 ` Matt Price
  -- strict thread matches above, loose matches on Subject: below --
2019-02-04  3:40 Lawrence Bottorff
2018-12-19 12:58 Emmanuel Charpentier
2018-10-20  9:02 stardiviner
2018-05-03 13:44 Arne Babenhauserheide
2018-05-03 14:29 ` Bastien
2018-05-03 21:02   ` Arne Babenhauserheide
2018-05-04  1:02     ` steen
2018-05-04  5:38   ` Michael Welle
2018-05-11 20:07 ` Nicolas Goaziou
2018-03-02 16:10 Joseph Vidal-Rosset
2016-11-01 16:10 John Kitchin
2016-09-19 16:38 John Brodie
2016-09-20 20:32 ` Nicolas Goaziou
2015-11-03 19:53 Fritz Kunze
2015-10-11 19:51 Shankar Rao
2015-09-04 14:51 Eduardo Mercovich
2015-09-04 15:25 ` thomas
2015-09-04 18:35   ` Eduardo Mercovich
2015-01-24 16:23 M.S.Khed Khed
2014-05-03  1:52 Ryan Moszynski
2014-05-03  3:01 ` William Henney
2014-05-03  3:22   ` William Henney
2014-01-30  0:03 Ken Okada
2014-01-30  0:15 ` Bastien
2014-01-30  0:22   ` John Hendy
2014-01-30  7:17     ` Ken Okada
2014-01-31  6:29       ` John Hendy
2014-01-31  7:11         ` Nick Dokos
2014-02-03 22:13           ` Marcin Borkowski
2013-11-06  6:13 Cecil Westerhof
2013-11-06  8:32 ` Bastien
2013-11-06  8:42 ` Bastien
     [not found]   ` <CAG-LmmDGaczy8pyeCTU6-YJ9oTBeEufqU6kC2PUb-U6ucexhZA@mail.gmail.com>
     [not found]     ` <87txfpaeli.fsf@bzg.ath.cx>
     [not found]       ` <CAG-LmmDFjqbuqfF1YJoeX6x_UdujK+0noeFcGSD15hs49Tbo=Q@mail.gmail.com>
2013-11-06 18:38         ` Cecil Westerhof
2013-10-11  7:14 "Recent items" Agenda view? Martin Beck
2013-10-11 20:35 ` Samuel Wales
2013-10-14  8:46   ` (no subject) Martin Beck
2013-03-07 20:37 [RFC] Org syntax (draft) Nicolas Goaziou
2013-03-08 10:39 ` was: " Andreas Röhler
2013-03-08 10:46   ` (no subject) Bastien
2013-03-08 10:59     ` Andreas Röhler
2013-03-08 11:05       ` Bastien
2013-03-08 11:18         ` Andreas Röhler
2013-03-08 11:23           ` Bastien
2013-03-08 13:00             ` Andreas Röhler
2013-03-08 13:12               ` Bastien
2013-03-08 15:22                 ` Andreas Röhler
2013-03-08 15:40                   ` Bastien
2013-03-08 20:39                     ` T.F. Torrey
2013-03-08 21:19                       ` Nicolas Goaziou
2013-03-08 21:57                         ` Suvayu Ali
2013-03-09 14:09                       ` Bastien
2013-03-10 22:40                         ` T.F. Torrey
2013-03-03  0:55 Vikas Rawal
2013-01-29  9:43 Martin Beck
2013-01-30 12:12 ` Bernt Hansen
2013-01-24 12:11 Herbert Sitz
2013-01-15 19:26 Rick Frankel
2012-11-11 15:36 Fabrice Popineau
2012-11-11 23:09 ` Nicolas Goaziou
2012-11-12  7:40   ` Fabrice Popineau
2012-11-07 18:50 Kevin Buchs
2012-09-29  7:30 Neuwirth Erich
2012-09-29  7:39 ` Bastien
2012-09-29  8:09   ` Achim Gratz
2012-09-29  9:12     ` Bastien
2012-09-29  9:52 ` Achim Gratz
2012-08-24 16:21 Feiming Chen
2012-05-22  3:32 "Smart" quotes Mark E. Shoulson
2012-05-23 22:17 ` Nicolas Goaziou
2012-05-24  3:05   ` Mark E. Shoulson
2012-05-25 17:14     ` Nicolas Goaziou
2012-05-25 22:51       ` Mark E. Shoulson
2012-05-26  6:48         ` Nicolas Goaziou
2012-05-29  1:30           ` Mark E. Shoulson
2012-05-29 17:57             ` Nicolas Goaziou
2012-05-30  0:51               ` Mark E. Shoulson
2012-05-31  1:50                 ` (no subject) Mark Shoulson
2012-05-31 13:38                   ` Nicolas Goaziou
2012-05-11 20:56 Rick Frankel
2012-05-11 20:38 ` Eric Schulte
2012-05-11 22:43   ` Bernt Hansen
2012-05-17  6:23   ` Bastien
2012-01-23 12:00 Tom Regner
2012-01-23 16:34 ` Tom Regner
2012-01-23 20:31 ` Eric Schulte
2012-01-24  1:55   ` Tom Regner
2012-01-05 17:36 Ab Cd
2011-08-06  1:19 Vikas Rawal
2011-02-21 22:13 Vincent-Xavier JUMEL
2011-02-23 19:52 ` Bernt Hansen
2011-02-23 19:54 ` Bernt Hansen
2011-04-09  9:41   ` Vincent-Xavier JUMEL
2010-06-29 17:50 amscopub-mail
2009-09-18 12:35 Robin Green
2009-02-17 18:57 Matthew Lundin
2009-02-17 20:26 ` Carsten Dominik
2008-01-28 11:20 Dimitris Kapetanakis
2008-01-29  9:39 ` Bastien Guerry
2007-11-13 20:35 François Puitg
2007-10-20 10:33 Kevin Brubeck Unhammer
2007-10-21 22:20 ` Bastien
2006-05-25 10:43 Thomas Baumann
2006-05-25 12:49 ` Carsten Dominik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKJTzL6t4pVLVfT4x=eniYVNu7QcKPY7qNZ-xOiaWEm_BVGCSA@mail.gmail.com' \
    --to=nik@ngo.org.uk \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).