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:53:27 +0200 |
| commit | 4e67f2048839c17e7d09f6c1775473018c8815c6 (patch) | |
| tree | 5a087a5cbda71491ed69f9d428d589c29c15fb6d | |
| parent | 5ce869f66df61146ece4caa7109f93eb3c6b2f3d (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 e628a910486..c0952ecb89d 100644 --- a/doc/build.scm +++ b/doc/build.scm | |||
| @@ -424,10 +424,7 @@ from SOURCE." | |||
| 424 | (define (guix-url path) | 424 | (define (guix-url path) |
| 425 | (string-append #$%web-site-url path)) | 425 | (string-append #$%web-site-url path)) |
| 426 | 426 | ||
| 427 | (define (sxml-index language) | 427 | (define (sxml-index language title body) |
| 428 | (define title | ||
| 429 | (translate "GNU Guix Reference Manual" language)) | ||
| 430 | |||
| 431 | ;; FIXME: Avoid duplicating styling info from guix-artwork.git. | 428 | ;; FIXME: Avoid duplicating styling info from guix-artwork.git. |
| 432 | `(html (@ (lang ,language)) | 429 | `(html (@ (lang ,language)) |
| 433 | (head | 430 | (head |
| @@ -458,45 +455,53 @@ from SOURCE." | |||
| 458 | (a (@ (class "crumb") | 455 | (a (@ (class "crumb") |
| 459 | (href #$%web-site-url)) | 456 | (href #$%web-site-url)) |
| 460 | "Home")) | 457 | "Home")) |
| 461 | (main | 458 | ,body |
| 462 | (article | ||
| 463 | (@ (class "page centered-block limit-width")) | ||
| 464 | (h2 ,title) | ||
| 465 | (p (@ (class "post-metadata centered-text")) | ||
| 466 | #$version " — " | ||
| 467 | ,(seconds->string #$date language)) | ||
| 468 | |||
| 469 | (div | ||
| 470 | (ul | ||
| 471 | (li (a (@ (href "html_node")) | ||
| 472 | "HTML, with one page per node")) | ||
| 473 | (li (a (@ (href | ||
| 474 | ,(string-append | ||
| 475 | #$manual | ||
| 476 | (if (string=? language | ||
| 477 | "en") | ||
| 478 | "" | ||
| 479 | (string-append "." | ||
| 480 | language)) | ||
| 481 | ".html"))) | ||
| 482 | "HTML, entirely on one page")) | ||
| 483 | ,@(if (member language '("ru" "zh_CN")) | ||
| 484 | '() | ||
| 485 | `((li (a (@ (href ,(string-append | ||
| 486 | #$manual | ||
| 487 | (if (string=? language "en") | ||
| 488 | "" | ||
| 489 | (string-append "." | ||
| 490 | language)) | ||
| 491 | ".pdf")))) | ||
| 492 | "PDF"))))))) | ||
| 493 | (footer)))) | 459 | (footer)))) |
| 494 | 460 | ||
| 495 | (define (write-index language file) | 461 | (define (language-index language) |
| 462 | (define title | ||
| 463 | (translate "GNU Guix Reference Manual" language)) | ||
| 464 | |||
| 465 | (sxml-index | ||
| 466 | language title | ||
| 467 | `(main | ||
| 468 | (article | ||
| 469 | (@ (class "page centered-block limit-width")) | ||
| 470 | (h2 ,title) | ||
| 471 | (p (@ (class "post-metadata centered-text")) | ||
| 472 | #$version " — " | ||
| 473 | ,(seconds->string #$date language)) | ||
| 474 | |||
| 475 | (div | ||
| 476 | (ul | ||
| 477 | (li (a (@ (href "html_node")) | ||
| 478 | "HTML, with one page per node")) | ||
| 479 | (li (a (@ (href | ||
| 480 | ,(string-append | ||
| 481 | #$manual | ||
| 482 | (if (string=? language | ||
| 483 | "en") | ||
| 484 | "" | ||
| 485 | (string-append "." | ||
| 486 | language)) | ||
| 487 | ".html"))) | ||
| 488 | "HTML, entirely on one page")) | ||
| 489 | ,@(if (member language '("ru" "zh_CN")) | ||
| 490 | '() | ||
| 491 | `((li (a (@ (href ,(string-append | ||
| 492 | #$manual | ||
| 493 | (if (string=? language "en") | ||
| 494 | "" | ||
| 495 | (string-append "." | ||
| 496 | language)) | ||
| 497 | ".pdf")))) | ||
| 498 | "PDF"))))))))) | ||
| 499 | |||
| 500 | (define (write-html file sxml) | ||
| 496 | (call-with-output-file file | 501 | (call-with-output-file file |
| 497 | (lambda (port) | 502 | (lambda (port) |
| 498 | (display "<!DOCTYPE html>\n" port) | 503 | (display "<!DOCTYPE html>\n" port) |
| 499 | (sxml->xml (sxml-index language) port)))) | 504 | (sxml->xml sxml port)))) |
| 500 | 505 | ||
| 501 | (setenv "GUIX_LOCPATH" | 506 | (setenv "GUIX_LOCPATH" |
| 502 | #+(file-append glibc-utf8-locales "/lib/locale")) | 507 | #+(file-append glibc-utf8-locales "/lib/locale")) |
| @@ -512,9 +517,8 @@ from SOURCE." | |||
| 512 | (normalize language))) | 517 | (normalize language))) |
| 513 | 518 | ||
| 514 | (mkdir-p directory) | 519 | (mkdir-p directory) |
| 515 | (write-index language | 520 | (write-html (string-append directory "/index.html") |
| 516 | (string-append directory | 521 | (language-index language))) |
| 517 | "/index.html"))) | ||
| 518 | '#$languages)))) | 522 | '#$languages)))) |
| 519 | 523 | ||
| 520 | (computed-file "html-indexes" build)) | 524 | (computed-file "html-indexes" build)) |
