about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ennum.el49
1 files changed, 29 insertions, 20 deletions
diff --git a/ennum.el b/ennum.el
index e06831e..1486574 100644
--- a/ennum.el
+++ b/ennum.el
@@ -630,6 +630,15 @@ string."
      (format "%s-%s%s" filename-prefix page-number extension)
      tongue)))
 
+(defun ennum-index-url (filename-prefix tongue extension page-number)
+  ;; index-1.html is the same as index.html; so we simply point to
+  ;; "./".
+  (let ((index-filename (ennum-index-filename filename-prefix tongue extension page-number)))
+    (if (member index-filename
+                (list "index-1.html" "index-1.gmi"))
+        "./"
+      (concat "./" index-filename))))
+
 (defun ennum-publish-index-page (backend filename-prefix title last-page posts page-number tongue output-file)
   (ennum-exp
    (let ((system-time-locale
@@ -662,17 +671,17 @@ string."
                 ", "))
               (insert "\n\n")))
           (unless (= page-number 1)
-            (insert (format "[[./%s][Newer posts]]\n\n"
-                            (ennum-index-filename (file-name-nondirectory filename-prefix)
-                                                  tongue
-                                                  nil
-                                                  (1- page-number)))))
+            (insert (format "[[%s][Newer posts]]\n\n"
+                            (ennum-index-url (file-name-nondirectory filename-prefix)
+                                             tongue
+                                             nil
+                                             (1- page-number)))))
           (unless last-page
-            (insert (format "[[./%s][Older posts]]\n"
-                            (ennum-index-filename (file-name-nondirectory filename-prefix)
-                                                  tongue
-                                                  nil
-                                                  (1+ page-number)))))
+            (insert (format "[[%s][Older posts]]\n"
+                            (ennum-index-url (file-name-nondirectory filename-prefix)
+                                             tongue
+                                             nil
+                                             (1+ page-number)))))
           (org-export-to-file backend output-file)))
        ('gemini
         (with-temp-file output-file
@@ -689,17 +698,17 @@ string."
               (insert summary)
               (insert "\n\n")))
           (unless (= page-number 1)
-            (insert (format "=> ./%s Newer posts\n"
-                            (ennum-index-filename (file-name-nondirectory filename-prefix)
-                                                  tongue
-                                                  "gmi"
-                                                  (1- page-number)))))
+            (insert (format "=> %s Newer posts\n"
+                            (ennum-index-url (file-name-nondirectory filename-prefix)
+                                             tongue
+                                             "gmi"
+                                             (1- page-number)))))
           (unless last-page
-            (insert (format "=> ./%s Older posts\n"
-                            (ennum-index-filename (file-name-nondirectory filename-prefix)
-                                                  tongue
-                                                  "gmi"
-                                                  (1+ page-number)))))))))))
+            (insert (format "=> %s Older posts\n"
+                            (ennum-index-url (file-name-nondirectory filename-prefix)
+                                             tongue
+                                             "gmi"
+                                             (1+ page-number)))))))))))
 
 (defun ennum-publish-index-home (first-index-page-output backend filename-prefix tongue)
   (ennum-exp