| 
					
				 | 
			
			
				@@ -222,6 +222,34 @@ Any changes made by this hook will be saved." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   :group 'org-publish 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   :type 'hook) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defcustom org-publish-sitemap-sort-alphabetically t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Should sitemaps be sorted alphabetically by default? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You can overwrite this default per project in your 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+`org-publish-project-alist', using `:sitemap-alphabetically'." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :group 'org-publish 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :type 'boolean) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defcustom org-publish-sitemap-sort-folders 'first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "A symbol, denoting if folders are sorted first in sitemaps. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Possible values are `first', `last', and nil. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+If `first', folders will be sorted before files. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+If `last', folders are sorted to the end after the files. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Any other value will not mix files and folders. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You can overwrite this default per project in your 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+`org-publish-project-alist', using `:sitemap-sort-folders'." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :group 'org-publish 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :type 'symbol) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(defcustom org-publish-sitemap-sort-ignore-case nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  "Sort sitemaps case insensitively by default? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You can overwrite this default per project in your 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+`org-publish-project-alist', using `:sitemap-ignore-case'." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :group 'org-publish 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  :type 'boolean) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ;;; Timestamp-related functions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -374,9 +402,6 @@ This splices all the components into the list." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	(push p rtn))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (nreverse (org-publish-delete-dups (delq nil rtn))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defvar sitemap-alphabetically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defvar sitemap-sort-folders) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defvar sitemap-ignore-case) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-publish-compare-directory-files (a b) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Predicate for `sort', that sorts folders-first/last and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 eventually alphabetically." 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -441,9 +466,27 @@ matching filenames." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (include-list (plist-get project-plist :include)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (recurse (plist-get project-plist :recursive)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (extension (or (plist-get project-plist :base-extension) "org")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     ;; sitemap-... variables are dynamically scoped for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     ;; org-publish-compare-directory-files: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (sitemap-sort-folders 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	   (if (plist-member project-plist :sitemap-sort-folders) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	       (plist-get project-plist :sitemap-sort-folders) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	     org-publish-sitemap-sort-folders)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (sitemap-alphabetically 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (if (plist-member project-plist :sitemap-alphabetically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          (plist-get project-plist :sitemap-alphabetically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        org-publish-sitemap-sort-alphabetically)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (sitemap-ignore-case 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (if (plist-member project-plist :sitemap-ignore-case) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           (plist-get project-plist :sitemap-ignore-case) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         org-publish-sitemap-sort-ignore-case)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	 (match (if (eq extension 'any) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     "^[^\\.]" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		  (concat "^[^\\.].*\\.\\(" extension "\\)$")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ;; Make sure sitemap-sort-folders' has an accepted value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (unless (memq sitemap-sort-folders '(first last)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (setq sitemap-sort-folders nil)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (setq org-publish-temp-files nil) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (org-publish-get-base-files-1 base-dir recurse match 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				  ;; FIXME distinguish exclude regexp 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -613,20 +656,9 @@ If :makeindex is set, also produce a file theindex.org." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				"sitemap.org")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (sitemap-function (or (plist-get project-plist :sitemap-function) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				'org-publish-org-sitemap)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (sitemap-sort-folders 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   (if (plist-member project-plist :sitemap-sort-folders) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (plist-get project-plist :sitemap-sort-folders) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	     'first)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (sitemap-alphabetically 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   (if (plist-member project-plist :sitemap-alphabetically) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	       (plist-get project-plist :sitemap-alphabetically) t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (sitemap-ignore-case (plist-get project-plist :sitemap-ignore-case)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (preparation-function (plist-get project-plist :preparation-function)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (completion-function (plist-get project-plist :completion-function)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (files (org-publish-get-base-files project exclude-regexp)) file) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       ;; Make sure sitemap-sort-folders' has an accepted value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (unless (memq sitemap-sort-folders '(first last)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (setq sitemap-sort-folders nil)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (when preparation-function (run-hooks 'preparation-function)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (if sitemap-p (funcall sitemap-function project sitemap-filename)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        (while (setq file (pop files)) 
			 |