]> git.vanrenterghem.biz Git - www2.vanrenterghem.biz.git/commitdiff
Gebruik absolute uri voor include tag index.
authorFrederik Vanrenterghem <frederik@vanrenterghem.biz>
Thu, 28 Dec 2023 03:13:26 +0000 (11:13 +0800)
committerFrederik Vanrenterghem <frederik@vanrenterghem.biz>
Thu, 28 Dec 2023 03:13:26 +0000 (11:13 +0800)
html/post-index.mustache
maak-website.el

index 9a0923b5afede0c3fbe73a6db2ffe4ae012d5319..7883bbde7cd0f31bb0af95f47ad76345ff0fc49c 100644 (file)
@@ -12,7 +12,7 @@
          <aside id="sidebar" class="card">
            <div class="card-body">
              <p>Tags</p>
-             <!--# include file="tag-index-body.html" -->
+             <!--# include file="/tag-index-body.html" -->
            </div>
          </aside>
        </div> <!-- end of column -->
index a30d8e28e4f59f53b44cf7de63e344a36ea20a7b..10f2e6a69caf4675ea9b9e17ce2378de2be645ee 100644 (file)
 
 (defun my-blog-create-tags-files (plist)
   "Create org files for each tag defined in FILETAGS in posts, storing them in my-blog-tags-folder."
-  (unless (file-directory-p my-blog-tags-folder) (make-directory my-blog-tags-folder))
-  (with-temp-file (file-name-concat my-blog-source-folder "tag-index.org")
+  (let* ((tagfolder (file-name-concat
+                   (plist-get (cdr (assoc "landing" org-publish-project-alist)) :base-directory)))
+        (postfolder (file-name-concat
+                   (plist-get (cdr (assoc "posts" org-publish-project-alist)) :base-directory)))
+        (relpostfolder (file-relative-name  postfolder tagfolder)))
+    (unless (file-directory-p my-blog-tags-folder) (make-directory my-blog-tags-folder))
+    (with-temp-file (file-name-concat tagfolder "tag-index.org")
       (insert (concat "#+mustache-template: " (file-name-concat my-blog-mustache-folder "tags-index.mustache") "\n"))
       (insert (concat "#+TITLE: Blog - All tags\n"))
       (insert "#+OPTIONS: ^:nil\n") ; do not use underscores as subscript
       (insert "\n")
       (dolist (tag (sort (my-org-get-all-filetags) (lambda (x y) (string-lessp (car x) (car y))) ))
-       (insert (concat "- [[file:" (file-name-concat my-blog-posts-folder (concat "tag-" (car tag) ".org")) "][" (car tag) "]]\n")))) 
+       (insert (concat "- [[file:" (file-name-concat relpostfolder (concat "tag-" (car tag) ".org")) "][" (car tag) "]]\n"))))) 
   (dolist (tag (my-org-get-all-filetags))
     (with-temp-file (file-name-concat my-blog-tags-folder (concat "tag-" (car tag) ".org"))
       (insert (concat "#+mustache-template: " (file-name-concat my-blog-mustache-folder "tags.mustache") "\n"))
@@ -195,14 +200,15 @@ representation for the files to include, as returned by
 
 (defun my-blog-cleanup-sitemaps (plist)
   "Clean up temporary files created in the process of publishing"
-  ;; Create a body-only version of the tags index.
+  ;; Create a body-only version of the tags index. Needs absolute path to posts folder.
   (with-temp-file (file-name-concat
-                  (plist-get (cdr (assoc "posts" org-publish-project-alist)) :publishing-directory)
+                  (plist-get (cdr (assoc "landing" org-publish-project-alist)) :publishing-directory)
                   "tag-index-body.html")
     (insert-file-contents (file-name-concat
                           (plist-get (cdr (assoc "landing" org-publish-project-alist)) :base-directory)
                           "tag-index.org"))
-    (org-export-to-buffer 'mustache-html (current-buffer) nil nil nil t nil))
+    (org-export-to-buffer 'mustache-html (current-buffer) nil nil nil t nil)
+    (replace-string "href=\"posts" "href=\"/posts"))
   (delete-file (file-name-concat my-blog-source-folder "sitemap.org"))
   (delete-file (file-name-concat my-blog-posts-folder "sitemap.org"))
   (delete-file (file-name-concat my-blog-posts-folder "sitemap.org~")))