emacs-orgmode
[Top][All Lists]
Advanced

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

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


From: Sebastian Rose
Subject: [Orgmode] Patch: correction for tree-style sitemap (org-publish)
Date: Sun, 26 Oct 2008 02:13:22 +0200
User-agent: Mozilla-Thunderbird 2.0.0.16 (X11/20080724)

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:"




reply via email to

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