diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-07-15 11:51:43 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-07-15 12:48:49 +0200 |
commit | 21bec78357ff5b93a14107bbeb5798923162f4b8 (patch) | |
tree | 94d40512e5f8391b728a1c7ba68cd840dee9586f | |
parent | cb45aad9b06ebc2b8f8b9f8786007d746f7d2ee1 (diff) |
doc: Generalize build procedures of HTML indexes.
* doc/build.scm (html-manual-indexes)[build](sxml-index): Generalize;
add a 'title' and a 'body' parameter and honor them.
(language-index): New procedure.
(write-index): Remove.
(write-html): New procedure.
Use 'write-html' and 'language-index'.
-rw-r--r-- | doc/build.scm | 86 |
1 files changed, 45 insertions, 41 deletions
diff --git a/doc/build.scm b/doc/build.scm index e628a91048..c0952ecb89 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -424,10 +424,7 @@ from SOURCE." (define (guix-url path) (string-append #$%web-site-url path)) - (define (sxml-index language) - (define title - (translate "GNU Guix Reference Manual" language)) - + (define (sxml-index language title body) ;; FIXME: Avoid duplicating styling info from guix-artwork.git. `(html (@ (lang ,language)) (head @@ -458,45 +455,53 @@ from SOURCE." (a (@ (class "crumb") (href #$%web-site-url)) "Home")) - (main - (article - (@ (class "page centered-block limit-width")) - (h2 ,title) - (p (@ (class "post-metadata centered-text")) - #$version " — " - ,(seconds->string #$date language)) - - (div - (ul - (li (a (@ (href "html_node")) - "HTML, with one page per node")) - (li (a (@ (href - ,(string-append - #$manual - (if (string=? language - "en") - "" - (string-append "." - language)) - ".html"))) - "HTML, entirely on one page")) - ,@(if (member language '("ru" "zh_CN")) - '() - `((li (a (@ (href ,(string-append - #$manual - (if (string=? language "en") - "" - (string-append "." - language)) - ".pdf")))) - "PDF"))))))) + ,body (footer)))) - (define (write-index language file) + (define (language-index language) + (define title + (translate "GNU Guix Reference Manual" language)) + + (sxml-index + language title + `(main + (article + (@ (class "page centered-block limit-width")) + (h2 ,title) + (p (@ (class "post-metadata centered-text")) + #$version " — " + ,(seconds->string #$date language)) + + (div + (ul + (li (a (@ (href "html_node")) + "HTML, with one page per node")) + (li (a (@ (href + ,(string-append + #$manual + (if (string=? language + "en") + "" + (string-append "." + language)) + ".html"))) + "HTML, entirely on one page")) + ,@(if (member language '("ru" "zh_CN")) + '() + `((li (a (@ (href ,(string-append + #$manual + (if (string=? language "en") + "" + (string-append "." + language)) + ".pdf")))) + "PDF"))))))))) + + (define (write-html file sxml) (call-with-output-file file (lambda (port) (display "<!DOCTYPE html>\n" port) - (sxml->xml (sxml-index language) port)))) + (sxml->xml sxml port)))) (setenv "GUIX_LOCPATH" #+(file-append glibc-utf8-locales "/lib/locale")) @@ -512,9 +517,8 @@ from SOURCE." (normalize language))) (mkdir-p directory) - (write-index language - (string-append directory - "/index.html"))) + (write-html (string-append directory "/index.html") + (language-index language))) '#$languages)))) (computed-file "html-indexes" build)) |