Add articles metadata as header in gopher articles - cl-yag - Common Lisp Yet Another website Generator
HTML git clone git://bitreich.org/cl-yag/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/cl-yag/
DIR Log
DIR Files
DIR Refs
DIR Tags
DIR README
DIR LICENSE
---
DIR commit eeb8131035ae98f04288c319848f23acb16c35cd
DIR parent e9fb727d69131de4b7b2662825bc130e2bf0020d
HTML Author: Solene Rapenne <solene@perso.pw>
Date: Fri, 12 Oct 2018 16:56:55 +0200
Add articles metadata as header in gopher articles
Diffstat:
M generator.lisp | 22 ++++++++++++++--------
M templates/gopher_head.tpl | 1 +
2 files changed, 15 insertions(+), 8 deletions(-)
---
DIR diff --git a/generator.lisp b/generator.lisp
@@ -24,7 +24,6 @@
(declare (ignore second minute hour date month year dst-p tz))
day-of-week))
-
;; parse the date to
(defun date-parse(date)
(if (= 8 (length date))
@@ -41,7 +40,7 @@
:year year))
nil))
-(defun post(&optional &key title tag date id (tiny nil) (author nil) (converter nil))
+(defun post(&optional &key title tag date id (tiny nil) (author (getf *config* :webmaster)) (converter nil))
(push (make-article :title title
:tag tag
:date (date-parse date)
@@ -394,13 +393,20 @@
(ensure-directories-exist directory-path)
(save-file index-path (generate-gopher-index articles-with-tag))))
- ;; produce each article file (only a copy/paste in fact)
+ ;; produce each article file (adding some headers)
(loop for article in *articles*
- do
- (with-converter
- (let ((id (article-id article)))
- (save-file (format nil "output/gopher/article-~d.txt" id)
- (load-file (format nil "data/~d~d" id (converter-extension converter-object))))))))
+ do
+ (with-converter
+ (let ((id (article-id article)))
+ (save-file (format nil "output/gopher/article-~d.txt" id)
+ (format nil "~{~a~}"
+ (list
+ "Title: " (article-title article) "~%"
+ "Author: " (article-author article) "~%"
+ "Date: " (date-format (getf *config* :date-format) (article-date article)) "~%"
+ "Tags: " (article-tag article) "~%"
+ "==========~%~%"
+ (load-file (format nil "data/~d~d" id (converter-extension converter-object))))))))))
;; This is function called when running the tool
DIR diff --git a/templates/gopher_head.tpl b/templates/gopher_head.tpl
@@ -2,6 +2,7 @@ Hello, this is the head of your gophermap page, you can
customize it how you want !
[0|RSS Feed|/~me/rss.xml|server|port]
+[1|Phlog index|/~me/|server|port]
[1|Browse by tag|/~me/_tags_/|server|port]
-----------------------------------------------------------------