From 25104d4422e43b18b7fc4bf17a7ca8440394eda8 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 5 Apr 2022 15:44:45 +0530 Subject: web: Introduce objects for web export. With objects specifying the files to export to the web, the user has ultimate flexibility in their choice of what to export and how to export. * bin/tissue (tissue-web): Parameterize %project-name and %tags-path. Use new signature of build-website. * tissue/tissue.scm: Import (srfi srfi-1) and (srfi srfi-71). ()[web-files]: New field. (tissue-configuration-web-files): New public function. (tissue-configuration): New macro. * tissue/web.scm: Import (srfi srfi-9). (%project-name): New public parameter. (): New type. (build-issue-listing): Delete function. (copier, gemtext-reader, gemtext-exporter, skribe-exporter, tag-issue-lister, tag-pages): New public functions. (exporter, with-current-directory): New functions. (build-website): Simply write objects to files. (replace-extension): Export. --- bin/tissue | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'bin') diff --git a/bin/tissue b/bin/tissue index 2d05ba9..3e92f16 100755 --- a/bin/tissue +++ b/bin/tissue @@ -365,11 +365,13 @@ Export the repository as a website to OUTPUT-DIRECTORY. " (command-line-program))) ((output-directory) - (let ((config (load-config))) - (build-website output-directory - #:title (tissue-configuration-project config) - #:css (tissue-configuration-web-css config) - #:tags-path (tissue-configuration-web-tags-path config)))))) + (parameterize ((%project-name (tissue-configuration-project (load-config))) + (%tags-path (tissue-configuration-web-tags-path + (load-config)))) + (build-website (git-top-level) + output-directory + (tissue-configuration-web-css (load-config)) + (tissue-configuration-web-files (load-config))))))) (define (print-usage) (format #t "Usage: ~a COMMAND [OPTIONS] [ARGS] -- cgit v1.2.3