aboutsummaryrefslogtreecommitdiff
path: root/org
diff options
context:
space:
mode:
Diffstat (limited to 'org')
-rwxr-xr-xorg/blog/generate-html.scm8
-rwxr-xr-xorg/blog/generate-phlog.scm19
2 files changed, 22 insertions, 5 deletions
diff --git a/org/blog/generate-html.scm b/org/blog/generate-html.scm
index 0241437..c461aba 100755
--- a/org/blog/generate-html.scm
+++ b/org/blog/generate-html.scm
@@ -11,10 +11,10 @@
(letrec ((read-characters
(lambda (fp)
(let ((character (read-char fp)))
- (cond
- ((eof-object? character) "")
- (else (string-append (string character)
- (read-characters fp))))))))
+ (if (eof-object? character)
+ ""
+ (string-append (string character)
+ (read-characters fp)))))))
(read-characters fp)))))
;; Make a link for the article
diff --git a/org/blog/generate-phlog.scm b/org/blog/generate-phlog.scm
index 17f0778..3b24da5 100755
--- a/org/blog/generate-phlog.scm
+++ b/org/blog/generate-phlog.scm
@@ -4,13 +4,27 @@
(use-modules (sxml simple))
+(define (format-gophermap-filename file)
+ (let ((file-length (string-length file)))
+ (string-append (substring file
+ 0
+ (- file-length 4))
+ ".txt")))
+
+(define (get-gophermap-item article)
+ (let ((title (cadr (list-ref article 0)))
+ (pub-date (cadr (list-ref article 4)))
+ (file (cadr (list-ref article 6))))
+ (string-append "0" pub-date " - " title "\t" file)))
+
(define (make-gophermap articles)
(call-with-output-file "phlog/gophermap"
(lambda (fp)
(for-each
(lambda (article)
(if (list? article)
- (display article)))
+ (display (get-gophermap-item (cddr article)) fp)
+ (newline fp)))
(cdr (cadr articles))))))
(define (make-blogs articles)
@@ -20,6 +34,9 @@
(call-with-input-file "articles.xml"
(lambda (fp)
(let ((articles (xml->sxml fp)))
+ (unless (file-exists? "phlog")
+ (mkdir "phlog")
+ (mkdir "phlog/articles"))
(make-gophermap articles)
(make-blogs articles)))))