summaryrefslogtreecommitdiffstats
path: root/main.scm
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2024-03-26 19:06:18 +0200
committerJan Tuomi <jans.tuomi@gmail.com>2024-03-26 21:25:10 +0200
commit1dcfacfa22cc50a95ab057023ed58dcb0608c05e (patch)
tree62176995c34486ec812c01e38ce57b039d5ce064 /main.scm
parent7debfa9aa2f19ea12345accc5b1213ef01f61f71 (diff)
Improve stuff
Diffstat (limited to 'main.scm')
-rw-r--r--main.scm22
1 files changed, 20 insertions, 2 deletions
diff --git a/main.scm b/main.scm
index 150c3d4..4459b75 100644
--- a/main.scm
+++ b/main.scm
@@ -27,6 +27,8 @@
"template.html"))
(define feed-dir (or (get-environment-variable "FEED_DIR")
(make-pathname src-dir "archive")))
+(define static-dir (or (get-environment-variable "STATIC_DIR")
+ "static"))
(assert (> (string-length src-dir) 0))
(assert (> (string-length out-dir) 0))
@@ -118,12 +120,28 @@
(delete-file path)))
(for-each (@ delete) (glob (format "~A/*" dir))))
+(define (remove-old-archive-index)
+ (define path (make-pathname feed-dir "index.md"))
+ (if (file-exists? path)
+ (delete-file path)))
+
+(define (copy-directory from to)
+ (read-string #f (process "cp" (list "-r"
+ from
+ to))))
+
;; run
-(printf "[info] generating feed from directory \"~A\"~%" feed-dir)
-(generate-feed feed-dir out-dir)
+(printf "[info] removing old archive index.md~%")
+(remove-old-archive-index)
(printf "[info] cleaning up output directory \"~A\"~%" out-dir)
(clean-dir out-dir)
+(printf "[info] generating feed from archive directory \"~A\"~%" feed-dir)
+(generate-feed src-dir feed-dir out-dir)
+(printf "[info] generating archive index.md~%")
+(generate-archive-index feed-dir src-dir)
(printf "[info] generating site with pages from \"~A\"~%" src-dir)
(process-dir src-dir)
+(printf "[info] copying static files from \"~A\"~%" static-dir)
+(copy-directory static-dir (make-pathname out-dir static-dir))
(printf "[info] done.~%")