isort tags list per articles in it - 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 e9fb727d69131de4b7b2662825bc130e2bf0020d /scm/cl-yag/commit/e9fb727d69131de4b7b2662825bc130e2bf0020d.gph bitreich.org 70 1parent 142b84ab78cb64423e2781a3e520bbd1e9cb40cd /scm/cl-yag/commit/142b84ab78cb64423e2781a3e520bbd1e9cb40cd.gph bitreich.org 70 hAuthor: Solene Rapenne URL:mailto:solene@perso.pw bitreich.org 70 iDate: Fri, 12 Oct 2018 11:50:16 +0200 Err bitreich.org 70 i Err bitreich.org 70 isort tags list per articles in it Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M data/articles.lisp | 3 ++- Err bitreich.org 70 i M generator.lisp | 15 +++++++++++++-- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 15 insertions(+), 3 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/data/articles.lisp b/data/articles.lisp /scm/cl-yag/file/data/articles.lisp.gph bitreich.org 70 i@@ -47,7 +47,8 @@ Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i (post :title "test" Err bitreich.org 70 i- :id "t" :date "20171214" :tag "f" :converter :org-mode) Err bitreich.org 70 i+ :id "t" :date "20171214" :tag "cl-yag" :converter :org-mode) Err bitreich.org 70 i+ Err bitreich.org 70 i ;; CSS Err bitreich.org 70 i (post :title "CSS For cl-yag" Err bitreich.org 70 i :id "css" :date "20171202" :tag "cl-yag" Err bitreich.org 70 1diff --git a/generator.lisp b/generator.lisp /scm/cl-yag/file/generator.lisp.gph bitreich.org 70 i@@ -357,7 +357,10 @@ Err bitreich.org 70 i (ensure-directories-exist directory-path) Err bitreich.org 70 i (save-file index-path Err bitreich.org 70 i (let ((output (load-file "templates/gopher_head.tpl"))) Err bitreich.org 70 i- (loop for tag in (articles-by-tag) Err bitreich.org 70 i+ (loop for tag in Err bitreich.org 70 i+ ;; sort tags per articles in it Err bitreich.org 70 i+ (sort (articles-by-tag) #'> Err bitreich.org 70 i+ :key #'(lambda (x) (length (getf x :value)))) Err bitreich.org 70 i do Err bitreich.org 70 i (setf output Err bitreich.org 70 i (string Err bitreich.org 70 i@@ -365,7 +368,15 @@ Err bitreich.org 70 i 'string output Err bitreich.org 70 i (format nil (getf *config* :gopher-format) Err bitreich.org 70 i 1 ;; gopher type, 1 for menus Err bitreich.org 70 i- (getf tag :NAME) Err bitreich.org 70 i+ ;; here we create a 72 width char string with title on the left Err bitreich.org 70 i+ ;; and number of articles on the right Err bitreich.org 70 i+ ;; we truncate the article title if it's too large Err bitreich.org 70 i+ (let ((title (format nil "~72a" Err bitreich.org 70 i+ (if (< 72 (length (getf tag :NAME))) Err bitreich.org 70 i+ (subseq (getf tag :NAME) 0 80) Err bitreich.org 70 i+ (getf tag :NAME)))) Err bitreich.org 70 i+ (article-number (format nil "~d article~p" (length (getf tag :value)) (length (getf tag :value))))) Err bitreich.org 70 i+ (replace title article-number :start1 (- (length title) (length article-number)))) Err bitreich.org 70 i (concatenate 'string Err bitreich.org 70 i (getf *config* :gopher-path) "/" (getf tag :NAME) "/") Err bitreich.org 70 i (getf *config* :gopher-server) Err bitreich.org 70 .