emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Kodi Arfer <kodi@arfer.net>
To: emacs-orgmode@gnu.org
Subject: [PATCH] ox-html: Under html5-fancy, use <nav> for the ToC
Date: Sat, 01 Jun 2013 17:50:38 -0400	[thread overview]
Message-ID: <51AA6CAE.6040302@arfer.net> (raw)

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

While I admit I'm not totally sure, in general, when a given fancy HTML5 
element is appropriate, this case (an intra-page table of contents) 
seems right in line with the second code example here:

http://www.w3.org/html/wg/drafts/html/master/sections.html#the-nav-element

[-- Attachment #2: 0001-ox-html-Under-html5-fancy-use-nav-for-the-ToC.patch --]
[-- Type: text/x-patch, Size: 1576 bytes --]

From a1aa357f75cd37ef676f5ac4dbbe66ad66d76aa8 Mon Sep 17 00:00:00 2001
From: Kodi Arfer <git@arfer.net>
Date: Sat, 1 Jun 2013 17:41:38 -0400
Subject: [PATCH] ox-html: Under html5-fancy, use <nav> for the ToC

* lisp/ox-html.el (org-html-toc): Use <nav> instead of <div>
  for the root element when appropriate.

TINYCHANGE
---
 lisp/ox-html.el | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/lisp/ox-html.el b/lisp/ox-html.el
index facd84c..10891ce 100644
--- a/lisp/ox-html.el
+++ b/lisp/ox-html.el
@@ -1912,9 +1912,13 @@ contents as a string, or nil if it is empty."
 	 (mapcar (lambda (headline)
 		   (cons (org-html--format-toc-headline headline info)
 			 (org-export-get-relative-level headline info)))
-		 (org-export-collect-headlines info depth))))
+		 (org-export-collect-headlines info depth)))
+	(outer-tag (if (and (org-html-html5-p info)
+			    (plist-get info :html-html5-fancy))
+		       "nav"
+		     "div")))
     (when toc-entries
-      (concat "<div id=\"table-of-contents\">\n"
+      (concat (format "<%s id=\"table-of-contents\">\n" outer-tag)
 	      (format "<h%d>%s</h%d>\n"
 		      org-html-toplevel-hlevel
 		      (org-html--translate "Table of Contents" info)
@@ -1922,7 +1926,7 @@ contents as a string, or nil if it is empty."
 	      "<div id=\"text-table-of-contents\">"
 	      (org-html--toc-text toc-entries)
 	      "</div>\n"
-	      "</div>\n"))))
+	      (format "</%s>\n" outer-tag)))))
 
 (defun org-html--toc-text (toc-entries)
   "Return innards of a table of contents, as a string.
-- 
1.8.1.2


             reply	other threads:[~2013-06-01 21:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-01 21:50 Kodi Arfer [this message]
2013-07-09 20:52 ` [PATCH] ox-html: Under html5-fancy, use <nav> for the ToC Nicolas Goaziou
2013-07-10  3:26   ` Eric Abrahamsen

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=51AA6CAE.6040302@arfer.net \
    --to=kodi@arfer.net \
    --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).