emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Jens Lechtenboerger <lechten@wi.uni-muenster.de>
To: emacs-orgmode@gnu.org
Subject: PATCH: Allow class attribute for headline in HTML export
Date: Sun, 02 Dec 2018 19:25:21 +0100	[thread overview]
Message-ID: <87d0qj3hwu.fsf@informationelle-selbstbestimmung-im-internet.de> (raw)

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

Dear all,

the attached patch allows to add a class attribute to headline
elements in HTML export.  Is that acceptable for inclusion?

Best wishes
Jens

P.S. The change is tiny, but I assigned copyright to the FSF in
2015.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-ox-html.el-New-property-HTML_HEADLINE_CLASS-for-clas.patch --]
[-- Type: text/x-diff, Size: 2476 bytes --]

From e8f16b04903bc32c4ea006727c82dbcb40b591a8 Mon Sep 17 00:00:00 2001
From: Jens Lechtenboerger <jens.lechtenboerger@fsfe.org>
Date: Sun, 2 Dec 2018 19:05:55 +0100
Subject: [PATCH] ox-html.el: New property HTML_HEADLINE_CLASS for class of
 headline

* lisp/ox-html.el (org-html-headline): Add new property
HTML_HEADLINE_CLASS to assign class attribute to headline.

* doc/org-manual.org: Document new property HTML_HEADLINE_CLASS.
---
 doc/org-manual.org | 6 +++++-
 lisp/ox-html.el    | 5 ++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/doc/org-manual.org b/doc/org-manual.org
index 458e59a4a..9d14c4cdc 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -12780,7 +12780,11 @@ external file.
 In order to add styles to a sub-tree, use the =HTML_CONTAINER_CLASS=
 property to assign a class to the tree.  In order to specify CSS
 styles for a particular headline, you can use the ID specified in
-a =CUSTOM_ID= property.
+a =CUSTOM_ID= property or =HTML_HEADLINE_CLASS= as described next.
+
+#+cindex: @samp{HTML_HEADLINE_CLASS}, property
+In order to assign a class to a headline, use the =HTML_HEADLINE_CLASS=
+property.
 
 Never change the ~org-html-style-default~ constant.  Instead use other
 simpler ways of customizing as described above.
diff --git a/lisp/ox-html.el b/lisp/ox-html.el
index 6a81be126..d9d976753 100644
--- a/lisp/ox-html.el
+++ b/lisp/ox-html.el
@@ -2608,6 +2608,7 @@ holding contextual information."
 		  (format "</%s>\n" html-type))))
 	;; Standard headline.  Export it as a section.
         (let ((extra-class (org-element-property :HTML_CONTAINER_CLASS headline))
+	      (headline-class (org-element-property :HTML_HEADLINE_CLASS headline))
               (first-content (car (org-element-contents headline))))
           (format "<%s id=\"%s\" class=\"%s\">%s%s</%s>\n"
                   (org-html--container headline info)
@@ -2616,9 +2617,11 @@ holding contextual information."
                   (concat (format "outline-%d" level)
                           (and extra-class " ")
                           extra-class)
-                  (format "\n<h%d id=\"%s\">%s</h%d>\n"
+                  (format "\n<h%d id=\"%s\"%s>%s</h%d>\n"
                           level
                           id
+			  (when headline-class
+			    (format " class=\"%s\"" headline-class))
                           (concat
                            (and numberedp
                                 (format
-- 
2.17.1


             reply	other threads:[~2018-12-02 18:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-02 18:25 Jens Lechtenboerger [this message]
2018-12-02 19:29 ` PATCH: Allow class attribute for headline in HTML export Jens Lechtenboerger
2018-12-02 20:20   ` Nicolas Goaziou
2018-12-03  6:46     ` Jens Lechtenboerger
2018-12-04 10:21       ` Nicolas Goaziou
2018-12-04 10:46         ` Jens Lechtenboerger
2018-12-08 11:46           ` Nicolas Goaziou
2018-12-08 15:04             ` Jens Lechtenboerger

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=87d0qj3hwu.fsf@informationelle-selbstbestimmung-im-internet.de \
    --to=lechten@wi.uni-muenster.de \
    --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).