emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Patch: correction for tree-style sitemap (org-publish)


From: Carsten Dominik
Subject: Re: [Orgmode] Patch: correction for tree-style sitemap (org-publish)
Date: Sun, 26 Oct 2008 07:05:12 +0100

Applied, thanks.

- Carsten

On Oct 26, 2008, at 2:13 AM, Sebastian Rose wrote:

Issue
=====

Sitemap not correct, when mutlitple subdirectories (my fault I
believe, sorry). Only the tree-style sitemap is affected.


How to reproduce
================

Try to export the following structure to HTML (directories
marked by `/'):

base-directory/
           |
           +-- B/
           |   |
           |   +---C/
           |   |   |
           |   |   +--- c.org
           |   |
           |   +---D/
           |       |
           |       +--- d.org
           |
           +-- E/

The resulting sitemap:


- B
 - C
   - c.org
- B              <= B again!
 -D
   - d.org
- E

Should be:

- B
 -C
   - c.org
 -D
   - d.org
- E



How to fix
==========


The following patch fixes it. The patch is against
commit 523cf1fe31dc5fc0e73a973b3e1a3bde74e0263d
Author: Carsten Dominik <address@hidden>
Date:   Sat Oct 25 12:56:42 2008 +0200

   Release 6.10c.



diff --git a/lisp/org-publish.el b/lisp/org-publish.el
index 2af71d3..3859442 100644
--- a/lisp/org-publish.el
+++ b/lisp/org-publish.el
@@ -645,8 +645,12 @@ Default for INDEX-FILENAME is 'index.org'."
                         (directory-file-name
                          (file-name-directory
                           (file-relative-name localdir dir))) "/"))
-                       (subdir ""))
+                       (subdir "")
+ (old-subdirs (split-string (file-relative-name oldlocal dir) "/")))
                   (setq indent-str (make-string 2 ?\ ))
+            (while (string= (car old-subdirs) (car subdirs))
+ (setq indent-str (concat indent-str (make-string 2 ? \ )))
+              (pop old-subdirs)(pop subdirs))
                   (dolist (d subdirs)
                     (setq subdir (concat subdir d "/"))
                     (insert (concat indent-str " + [[file:"


_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-orgmode





reply via email to

[Prev in Thread] Current Thread [Next in Thread]