emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Schulte <eric.schulte@gmx.com>
To: nicholas.dokos@hp.com
Cc: Org Mode Mailing List <emacs-orgmode@gnu.org>
Subject: Re: org-e-html and table of contents
Date: Thu, 23 Aug 2012 12:42:31 -0600	[thread overview]
Message-ID: <87ipc9fo14.fsf@gmx.com> (raw)
In-Reply-To: <3161.1345744363@alphaville> (Nick Dokos's message of "Thu, 23 Aug 2012 13:52:43 -0400")

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

Nick Dokos <nicholas.dokos@hp.com> writes:

> Eric Schulte <eric.schulte@gmx.com> wrote:
>
>> Nick Dokos <nicholas.dokos@hp.com> writes:
>> 
>> > Eric Schulte <eric.schulte@gmx.com> wrote:
>> >
>> >> Hi,
>> >> 
>> >> I've been using the new html exporter (org-e-html) recently, and I'm
>> >> surprised that it does not add tables of contents by default.  Is there
>> >> a user variable which I can customize to change this default?  Currently
>> >> the only way I see to add a table of contents is to add a TOC keyword to
>> >> the buffer.
>> >> 
>> >
>> > org-export-with-toc perhaps?
>> >
>> > Nick
>> >
>> 
>> Nope,
>> 
>> With this variable set to t the e-html backend does *not* produce a
>> table of contents.  To demonstrate, run the following from the command
>> line with the attached Org-mode file (although any file will do) saved
>> to /tmp/example.org.
>> 
>>     # -*- shell-script -*-
>>     emacs --batch -l path/to/org-mode/lisp/org-element.el \
>>                   -l path/to/org-mode/contrib/lisp/org-export.el \
>>                   -l path/to/org-mode/contrib/lisp/org-e-html.el \
>>                   /tmp/example.org \
>>           --eval '(let ((org-export-with-toc t)) (org-export-to-file (quote e-html) "/tmp/example.html"))'
>
> Try setting it to 4: org-e-html.el says (around line 1475)
>
>
> --8<---------------cut here---------------start------------->8---
>    ;; table of contents
>    (let ((depth (plist-get info :with-toc)))
>      (when (wholenump depth) (org-e-html-toc depth info)))
> --8<---------------cut here---------------end--------------->8---
>
> even though that contradicts the docstring for the variable.
>

Indeed, setting this variable to 4 does result in TOC generation.

I'd recommend the attached patch.

Thanks,


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Better-use-of-default-org-export-with-toc-value.patch --]
[-- Type: text/x-patch, Size: 993 bytes --]

From 228c4bbdd2fc145b135de233632e8884d1d53cd7 Mon Sep 17 00:00:00 2001
From: Eric Schulte <eric.schulte@gmx.com>
Date: Thu, 23 Aug 2012 12:41:52 -0600
Subject: [PATCH] Better use of default org-export-with-toc value

* contrib/lisp/org-e-html.el (org-e-html-template): Default value of t
  for org-export-with-toc has no impact, so instead when t set TOC depth
  to 4.
---
 contrib/lisp/org-e-html.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/lisp/org-e-html.el b/contrib/lisp/org-e-html.el
index 4e9d398..ee0f247 100644
--- a/contrib/lisp/org-e-html.el
+++ b/contrib/lisp/org-e-html.el
@@ -1473,6 +1473,7 @@ original parsed data.  INFO is a plist holding export options."
 <h1 class=\"title\">%s</h1>\n" (org-export-data (plist-get info :title) info))
    ;; table of contents
    (let ((depth (plist-get info :with-toc)))
+     (when (eq t depth) (setq depth 4))
      (when (wholenump depth) (org-e-html-toc depth info)))
    ;; document contents
    contents
-- 
1.7.12


[-- Attachment #3: Type: text/plain, Size: 46 bytes --]


-- 
Eric Schulte
http://cs.unm.edu/~eschulte

  reply	other threads:[~2012-08-23 19:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-23  1:55 org-e-html and table of contents Eric Schulte
2012-08-23 15:56 ` Nick Dokos
2012-08-23 16:41   ` Eric Schulte
2012-08-23 17:52     ` Nick Dokos
2012-08-23 18:42       ` Eric Schulte [this message]
2012-08-23 19:29         ` Nick Dokos
2012-08-23 19:39           ` Nicolas Goaziou

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=87ipc9fo14.fsf@gmx.com \
    --to=eric.schulte@gmx.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=nicholas.dokos@hp.com \
    /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).