iGopher RSS feed with gopher links - cl-yag - Common Lisp Yet Another website Generator Err bitreich.org 70 hgit clone git://bitreich.org/cl-yag/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/cl-yag/ URL:git://bitreich.org/cl-yag/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/cl-yag/ bitreich.org 70 1Log /scm/cl-yag/log.gph bitreich.org 70 1Files /scm/cl-yag/files.gph bitreich.org 70 1Refs /scm/cl-yag/refs.gph bitreich.org 70 1Tags /scm/cl-yag/tag bitreich.org 70 1README /scm/cl-yag/file/README.md.gph bitreich.org 70 1LICENSE /scm/cl-yag/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit e187e771f1bad099c9f9ac8d98085aefa8998af9 /scm/cl-yag/commit/e187e771f1bad099c9f9ac8d98085aefa8998af9.gph bitreich.org 70 1parent b8e92c61d9ff8d0a7e7fd65c33b0fd26c9741e68 /scm/cl-yag/commit/b8e92c61d9ff8d0a7e7fd65c33b0fd26c9741e68.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Tue, 17 Apr 2018 08:06:04 +0200 Err bitreich.org 70 i Err bitreich.org 70 iGopher RSS feed with gopher links Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M generator.lisp | 36 +++++++++++++++++++++----------- Err bitreich.org 70 i M templates/gopher_head.tpl | 2 ++ Err bitreich.org 70 i M templates/layout.tpl | 1 + Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 27 insertions(+), 12 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/generator.lisp b/generator.lisp /scm/cl-yag/file/generator.lisp.gph bitreich.org 70 i@@ -248,7 +248,7 @@ Err bitreich.org 70 i collect (create-article article :tiny t)))) Err bitreich.org 70 i Err bitreich.org 70 i ;; xml generation of the items for the rss Err bitreich.org 70 i-(defun generate-rss-item() Err bitreich.org 70 i+(defun generate-rss-item(&key (gopher nil)) Err bitreich.org 70 i (apply #'concatenate 'string Err bitreich.org 70 i (loop for article in *articles* Err bitreich.org 70 i for i from 1 to (min (length *articles*) (getf *config* :rss-item-number)) Err bitreich.org 70 i@@ -262,19 +262,26 @@ Err bitreich.org 70 i (subseq (getf (article-date article) :dayname) 0 3) Err bitreich.org 70 i (subseq (getf (article-date article) :monthname) 0 3))) Err bitreich.org 70 i (template "%%Url%%" Err bitreich.org 70 i- (format nil "~d~d-~d.html" Err bitreich.org 70 i- (getf *config* :url) Err bitreich.org 70 i- (date-format "%Year-%MonthNumber-%DayNumber" Err bitreich.org 70 i- (article-date article)) Err bitreich.org 70 i- (article-id article))))))) Err bitreich.org 70 i+ (if gopher Err bitreich.org 70 i+ (format nil "gopher://~a:~d/0~a/~a.txt" Err bitreich.org 70 i+ (getf *config* :gopher-server) Err bitreich.org 70 i+ (getf *config* :gopher-port) Err bitreich.org 70 i+ (getf *config* :gopher-path) Err bitreich.org 70 i+ (article-id article)) Err bitreich.org 70 i+ (format nil "~d~d-~d.html" Err bitreich.org 70 i+ (getf *config* :url) Err bitreich.org 70 i+ (date-format "%Year-%MonthNumber-%DayNumber" Err bitreich.org 70 i+ (article-date article)) Err bitreich.org 70 i+ (article-id article)))))))) Err bitreich.org 70 i+ Err bitreich.org 70 i Err bitreich.org 70 i ;; Generate the rss xml data Err bitreich.org 70 i-(defun generate-rss() Err bitreich.org 70 i+(defun generate-rss(&key (gopher nil)) Err bitreich.org 70 i (prepare "templates/rss.tpl" Err bitreich.org 70 i (template "%%Description%%" (getf *config* :description)) Err bitreich.org 70 i (template "%%Title%%" (getf *config* :title)) Err bitreich.org 70 i (template "%%Url%%" (getf *config* :url)) Err bitreich.org 70 i- (template "%%Items%%" (generate-rss-item)))) Err bitreich.org 70 i+ (template "%%Items%%" (generate-rss-item :gopher gopher)))) Err bitreich.org 70 i Err bitreich.org 70 i ;; We do all the website Err bitreich.org 70 i (defun create-html-site() Err bitreich.org 70 i@@ -302,13 +309,20 @@ Err bitreich.org 70 i (loop for tag in (articles-by-tag) do Err bitreich.org 70 i (generate (format nil "output/html/tag-~d.html" (getf tag :NAME)) Err bitreich.org 70 i (generate-tag-mainpage (getf tag :VALUE)))) Err bitreich.org 70 i- Err bitreich.org 70 i+ Err bitreich.org 70 i+ ;; generate rss gopher in html folder if gopher is t Err bitreich.org 70 i+ (when (getf *config* :gopher) Err bitreich.org 70 i+ (save-file "output/html/rss-gopher.xml" (generate-rss :gopher t))) Err bitreich.org 70 i+ Err bitreich.org 70 i ;;(generate-file-rss) Err bitreich.org 70 i (save-file "output/html/rss.xml" (generate-rss))) Err bitreich.org 70 i Err bitreich.org 70 i ;; we do all the gopher hole Err bitreich.org 70 i (defun create-gopher-hole() Err bitreich.org 70 i Err bitreich.org 70 i+ ;;(generate-file-rss) Err bitreich.org 70 i+ (save-file "output/gopher/rss.xml" (generate-rss :gopher t)) Err bitreich.org 70 i+ Err bitreich.org 70 i ;; produce the gophermap file Err bitreich.org 70 i (save-file (concatenate 'string "output/gopher/" (getf *config* :gopher-index)) Err bitreich.org 70 i (let ((output (load-file "templates/gopher_head.tpl"))) Err bitreich.org 70 i@@ -340,9 +354,7 @@ Err bitreich.org 70 i (with-converter Err bitreich.org 70 i (let ((id (article-id article))) Err bitreich.org 70 i (save-file (format nil "output/gopher/article-~d.txt" id) Err bitreich.org 70 i- (load-file (format nil "data/~d~d" id (converter-extension converter-object))))))) Err bitreich.org 70 i- Err bitreich.org 70 i- ) Err bitreich.org 70 i+ (load-file (format nil "data/~d~d" id (converter-extension converter-object)))))))) Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i ;; This is function called when running the tool Err bitreich.org 70 1diff --git a/templates/gopher_head.tpl b/templates/gopher_head.tpl /scm/cl-yag/file/templates/gopher_head.tpl.gph bitreich.org 70 i@@ -1,5 +1,7 @@ Err bitreich.org 70 i Hello, this is the head of your gophermap page, you can Err bitreich.org 70 i customize it how you want ! Err bitreich.org 70 i Err bitreich.org 70 i+[0|RSS Feed|/~me/rss.xml|server|port] Err bitreich.org 70 i+ Err bitreich.org 70 i ----------------------------------------------------------------- Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/templates/layout.tpl b/templates/layout.tpl /scm/cl-yag/file/templates/layout.tpl.gph bitreich.org 70 i@@ -7,6 +7,7 @@ Err bitreich.org 70 i %%Title%% Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i+ Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 .