summaryrefslogtreecommitdiff
path: root/doc/build.scm
AgeCommit message (Expand)Author
2024-03-15doc: build: Update paths to style sheets....The Guix website style sheets are now organized in themes. This change makes the documentation builder use the resources provided by a theme called "initial" (See https://issues.guix.gnu.org/69783). * doc/build.scm (syntax-highlighted-html): Update path to CSS. (html-manual-indexes): Likewise. (stylized-html): Likewise, and update path to language picker image. Change-Id: Ib2d51fcfdec42ad827add1ead1cfee4c9c4e65b7 Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de> Luis Felipe
2023-07-18gnu: Rationalize texlive-updmap.cfg and texlive-tiny inputs....TEXLIVE-UPDMAP.CFG and TEXLIVE-TINY should only be used as native inputs. Also remove texlive packages already provided by them. * doc/build.scm (pdf-manual): * gnu/packages/algebra.scm (pari-gp): * gnu/packages/bioinformatics.scm (discrover): (phyml): (velvet): * gnu/packages/chemistry.scm (yaehmop): * gnu/packages/chez.scm (stex-bootstrap): (chez-web): (chez-sockets): * gnu/packages/cran.scm (r-prereg): * gnu/packages/docbook.scm (dblatex): * gnu/packages/emacs-xyz.scm (emacs-auctex): * gnu/packages/engineering.scm (fastcap): * gnu/packages/fsf.scm (book-faif): * gnu/packages/graphviz.scm (dot2tex): * gnu/packages/maths.scm (hypre): * gnu/packages/ocaml.scm (unison): (ocaml-bibtex2html): * gnu/packages/plotutils.scm (asymptote): * gnu/packages/python-xyz.scm (python-nbconvert): (python-pypandoc): * gnu/packages/radio.scm (gnuradio): (libosmo-dsp): * gnu/packages/statistics.scm (r-with-tests): * gnu/packages/tex.scm (texlive-makecmds): (texlive-innerscript): (teximpatient): (texlive-xkeyval): Remove texlive packages already provided by TEXLIVE-UPDMAP.CFG. Don't add TEXLIVE-TINY or TEXLIVE-UPDMAP.CFG as inputs. Nicolas Goaziou
2023-07-18gnu: Deprecate texlive-base in favor of texlive-scheme-basic....* gnu/packages/tex.scm (texlive-base): Deprecate variable. (texlive-updmap.cfg): Use default packages from now deprecated TEXLIVE-BASE. Also remove already implemented TODO. * doc/build.scm (pdf-manual): * gnu/packages/statistics.scm: Replace TEXLIVE-BASE with call to TEXLIVE-UPDMAP.CFG. * guix/profiles.scm (texlive-font-maps): Trigger TeX Live hook whenever a texlive package is included in the manifest. Nicolas Goaziou
2023-07-18gnu: texlive-tex-texinfo -> texlive-texinfo....* gnu/packages/tex.scm (texlive-texinfo): New variable. (texlive-tex-texinfo): Deprecate variable. * doc/build.scm (pdf-manual): * gnu/packages/finance.scm (optionmatrix): * gnu/packages/lisp.scm (sbcl): * gnu/packages/plotutils.scm (asymptote): * gnu/packages/scheme.scm (mit-scheme): * gnu/packages/xdisorg.scm (xforms): Use new name. Nicolas Goaziou
2023-07-18gnu: texlive-fonts-ec -> texlive-ec....* gnu/packages/tex.scm (texlive-ec): New variable. (texlive-fonts-ec): Deprecate variable. (lyx): (biber): * gnu/packages/python-xyz.scm (python-pypandoc): * gnu/packages/statistics.scm (r-with-tests): * doc/build.scm (pdf-manual): * gnu/packages/bioinformatics.scm (discrover): (phyml): (velvet): * gnu/packages/chemistry.scm (yaehmop): * gnu/packages/chez.scm (stex-bootstrap): * gnu/packages/ocaml.scm (unison): (ocaml-bibtex2html): * gnu/packages/plotutils.scm (asymptote): Use new name. Nicolas Goaziou
2023-05-25doc: Adjust HTML patterns to correctly process Texinfo 6.8 output....Prior to ceb5ef8347ae0e3015296f5c169ab903bac526a8, (@ (gnu packages texinfo) texinfo), which is what is used here, was pointing to version 6.7. * doc/build.scm (html-manual-identifier-index)[build](worthy-entry?): Adjust patterns for Texinfo 6.8. (syntax-highlighted-html)[build](syntax-highlight): Likewise. Ludovic Courtès
2022-11-15doc: Build pt_BR manual....* doc/build.scm (%manual-languages): Add "pt_BR". Ludovic Courtès
2022-06-15doc: Use a minimal texlive profile in build.scm....* doc/build.scm (pdf-manual) <texinfo-profile>: New variable. <PATH>: Define in terms of the above. <GUIX_TEXMF>: New environment variable. Maxim Cournoyer
2022-04-08doc: Build an empty index if the manual is missing....That way, the "sk" index for 'guix-manual' is empty, because 'guix-manual' lacks an "sk" translation. * doc/build.scm (html-manual-identifier-index)[build](html-files): Gracefully handle 'scandir' returning #f. Ludovic Courtès
2022-04-08doc: Allow different translations for 'guix-cookbook' and 'guix-manual'....Previously, 'guix-manual-text-domain' could be passed the cookbook language list as its second argument. Thus, it started failing when the set of cookbook languages was no longer a subset of the manual languages, starting with commit 93bfd4d9c7ba7055c19f02128491b3a98a180860, which removed "sk" from 'guix-manual' but kept it for 'guix-cookbook'. * doc/build.scm (%manual-languages, %cookbook-languages): New variables. (%languages): Use them. (guix-manual-text-domain): Give LANGUAGES a valid default value. (localization-helper-module): Remove optional argument to 'guix-manual-text-domain'. Ludovic Courtès
2022-03-02doc: Publish the Slovak translation of the cookbook....* doc/build.scm (%languages): Add "sk" for "guix-cookbook" (it's currently at 57%). Ludovic Courtès
2022-01-19doc: Normalize language codes in menu URLs....* doc/build.scm (stylized-html)[build](base-language-url): Add calls to 'normalize'. Ludovic Courtès
2022-01-19doc: Make the HTML language menu disappear on narrow screens....* doc/build.scm (stylized-html)[build](navigation-bar): New procedure. (stylized-html): Use it. Ludovic Courtès
2022-01-18doc: Add a language menu in the HTML manual....* doc/build.scm (stylized-html): New procedure. (html-manual): Use it. Ludovic Courtès
2022-01-18doc: Factorize 'language-code->native-name'....* doc/build.scm (localization-helper-module)[content](translate): Add call to 'setenv' before 'write'. Remove use of 'with-language'. (language-code->native-name): New procedure. (html-manual-indexes)[build](top-level-index): Use it. Ludovic Courtès
2022-01-18doc: Extract (localization) module....* doc/build.scm (localization-helper-module): New procedure. (html-manual-indexes)[build]: Use it. Remove use of GUILE-JSON-3. Ludovic Courtès
2022-01-15doc: Remove now unnecessary workaround....* doc/build.scm (translated-texi-manuals): Turn into an alias for (@@ (guix self) translated-texi-manuals). Ludovic Courtès
2021-12-13Merge branch 'master' into core-updates-frozenLudovic Courtès
2021-12-13doc: Handle '&nbsp' when syntax-highlighting HTML....* doc/build.scm (syntax-highlighted-html)[build](entity->string): Handle "&nbsp". Ludovic Courtès
2021-10-31Merge remote-tracking branch 'origin/master' into core-updates-frozenEfraim Flashner
2021-10-28doc: Allow offloading of the expensive derivations....* doc/build.scm (translated-texi-manuals) (html-manual, pdf-manual): Pass #:local-build? #f. Ludovic Courtès
2021-07-18Merge branch 'master' into core-updatesLudovic Courtès
2021-07-09doc: Build manual translations with 'guile-3.0-latest'....Fixes <https://bugs.gnu.org/47428>. Reported by Leo Famulari <leo@famulari.name>. * doc/build.scm (translated-texi-manuals): Explicitly use 'guile-3.0-latest'. Ludovic Courtès
2021-05-09Merge branch 'master' into core-updates... Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/django.scm gnu/packages/gtk.scm gnu/packages/llvm.scm gnu/packages/python-web.scm gnu/packages/python.scm gnu/packages/tex.scm guix/build-system/asdf.scm guix/build/emacs-build-system.scm guix/profiles.scm Marius Bakke
2021-04-20doc: Clarify further the distinction between the web-based manuals....As discussed on #guix IRC, several of us struggle to reliably choose the right option based on the old labels: https://logs.guix.gnu.org/guix/2021-04-20.log#182137 * doc/build.scm (html-manual-indexes): Try to distinguish between the two options more clearly. Leo Famulari
2021-04-18doc: Build the French HTML cookbook....* doc/build.scm (%languages): Add 'fr' cookbook translation. Julien Lepiller
2021-03-24Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2021-03-20doc: Remove the guile-lib/htmlprag-fixed package....This hotfix package is no longer necessary as the ability to parameterize the way htmlprag tokenizes HTML was added in guile-lib 0.2.7. * doc/build.scm (guile-lib/htmlprag-fixed): Remove variable. (html-manual-identifier-index): Replace guile-lib/htmlprag-fixed by guile-lib, and make set the %strict-tokenizer? parameter to #t. (syntax-highlighted-html): Likewise. Maxim Cournoyer
2021-01-29gnu: Replace all uses of texlive-union by texlive-updmap.cfg....* doc/build.scm (pdf-manual) Replace texlive-union by texlive-updmap.cfg. * gnu/packages/algebra.scm (pari-gp): Likewise. * gnu/packages/bioinformatics.scm (discrover, velvet): Likewise. * gnu/packages/chez.scm (chez-scheme, chez-web, chez-sockets): Likewise. * gnu/packages/docbook.scm (dblatex): Likewise. * gnu/packages/emacs-xyz.scm (emacs-auctex): Likewise. * gnu/packages/engineering.scm (fastcap): Likewise. * gnu/packages/guile-xyz.scm (emacsy, guile-cv): Likewise. * gnu/packages/lisp.scm (sbcl): Likewise. * gnu/packages/maths.scm (octave, hypre): Likewise. * gnu/packages/music.scm (lilypond): Likewise. * gnu/packages/plotutils.scm (asymptote): Likewise. * gnu/packages/python-xyz.scm (python-numpy-documentation) (python-matplotlib-documentation, python-ipython-documentation) (python-pypandoc): Likewise. * gnu/packages/radio.scm (gnuradio, libosmo-dsp): Likewise. * gnu/packages/scheme.scm (mit-scheme): Likewise. * gnu/packages/statistics.scm (r-with-tests): Likewise. * gnu/packages/tex.scm (simple-texlive-package) (texlive-xmltex, texlive-tiny, texlive-jadetex, teximpatient, lyx): Likewise. Maxim Cournoyer
2020-10-21doc: Cookbook links to /manual/devel, not /manual....Since the Cookbook is built from the 'master' branch, it should point to the manual from that same branch. * doc/build.scm (guix-mono-node-indexes, guix-split-node-indexes): Link to /manual/devel when %MANUAL is not "guix". Ludovic Courtès
2020-10-19doc: Produce stylable HTML for @deftp, @deffn, etc....'makeinfo --help' uses <strong> and <em> for those entries. Replace that with CSS classes. * doc/build.scm (html-manual-identifier-index)[build]: Adjust to handle rewritten forms of <dt> entries. * doc/build.scm (syntax-highlighted-html)[build][syntax-highlight]: Handle <dt> forms and replace them. [highlight-definition, space?]: New procedures. Ludovic Courtès
2020-10-17doc: Generate cross-references in code snippets to the Guile manual....Occurrences of 'list', 'cons', etc. in code snippets now link to the relevant section of the Guile manual. * doc/build.scm (guile-manual, %guile-manual-base-url) (guile-mono-node-indexes, guile-split-node-indexes): New variables. (for-all-languages, merge-index-alists): New procedures. <top level>: Rename 'mono-node-indexes' and 'split-node-indexes' to 'guix-mono-node-indexes' and 'guix-split-node-indexes' respectively. Add 'mono-node-indexes' and 'split-node-indexes' defined as calls to 'merge-index-alists'. Ludovic Courtès
2020-10-17doc: Allow code snippets in the cookbook to link to the manual....Until now, only code snippets in the manual itself would contain links to identifier definitions. Now snippets in the cookbook also link to definitions in the manual. * doc/build.scm (html-manual): Add #:mono-node-indexes and #:multi-node-indexes and pass it to 'syntax-highlighted-html'. (pdf+html-manual): Likewise, and pass it to 'html-manual'. <top level>: Factorize 'version' and 'source'. Define 'guix-manual', 'mono-node-indexes', and 'split-node-indexes'. Pass #:mono-node-indexes and #:split-node-indexes to 'pdf+html-manual'. Ludovic Courtès
2020-10-17doc: Move manual index creation to a separate derivation....* doc/build.scm (normalize-language-code, html-manual-identifier-index): New procedures. (syntax-highlighted-html): Add #:mono-node-indexes and #:split-node-indexes. [build](underscore-decode, anchor-id->key, collect-anchors): Remove. (language+node-anchors, mono-node-anchors, multi-node-anchors): New variables. Use them. Ludovic Courtès
2020-10-17doc: Remove 'build.scm' from the source of the manual....That way we no longer have to rebuild the whole manual when fiddling with 'build.scm'. * doc/build.scm <top level>: Define 'select?' and pass it to 'pdf+html-manual'. Ludovic Courtès
2020-09-04doc: Syntax highlighting now handles @var within @lisp....* doc/build.scm (syntax-highlighted-html)[build](concatenate-pieces): Handle @var{name}. Ludovic Courtès
2020-05-25doc: Remove one use of 'file-append*'....* doc/build.scm (texinfo-manual-source)[build]: Use 'file-append', not 'file-append*', for 'htmlxref.cnf', to ensure it has the right basename. Ludovic Courtès
2020-05-18doc: Inherit md5.scm fix in custom 'guile-lib' variant....* doc/build.scm (guile-lib/htmlprag-fixed)[source]: Remove. [arguments]: Add 'fix-htmlprag' phase. Ludovic Courtès
2020-05-02doc: Fix building the cookbook....Fixes <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40803>. Reported by "operator.name" <operator.name@protonmail.com>. * doc/build.scm (%languages): Add smaller list for the cookbook. (syntax-highlighted-html): Adapt regexp for mono-node files to include the cookbook. Björn Höfling
2020-04-21doc: Include *.json files in the source....This is a followup to c9f321e52a99dea93fcc099372ea0167150b9aac. * doc/build.scm (texinfo-manual-source)[build]: Add *.json to #$output. Ludovic Courtès
2020-04-13doc: Improve anchor collection....This allows us to catch "operating_002dsystem-1", for instance. * doc/build.scm (syntax-highlighted-html)[build](anchor-id->key): Drop "-1" & co. from ID. Ludovic Courtès
2020-04-13doc: Avoid invalid 'match' pattern in 'syntax-highlighted-html'....This is a followup to da9deba13d551e316f5a99a614834efa27ddc7d1. Last-minute modification of the 'match' pattern would lead to an error: "multiple ellipsis patterns not allowed at same level" * doc/build.scm (syntax-highlighted-html)[build](collect-anchors): Add 'worthy-entry?' procedure and use it instead of the unsupported pattern for ('dt ...). Ludovic Courtès
2020-04-13doc: Emit hyperlinks in HTML output for @lisp snippets....This makes it easier to jump to the definition of a procedure or variable when looking at a code snippet. There can be false-positive because scoping rules are ignored, for example, but it should be a good approximation. * doc/build.scm (syntax-highlighted-html)[build](highlights->sxml*): Add 'anchors' parameter. Add clause for ('symbol text). (syntax-highlight): Add 'anchors' parameter. Wrap body in named let and use it in recursive calls. Pass ANCHORS to 'highlights->sxml*'. (underscore-decode, anchor-id->key, collect-anchors, html?): New procedures. (process-file): Add 'anchors' parameter. and honor it. Rewrite mono-node and multi-node HTML files separately. Ludovic Courtès
2020-01-12doc: Make sure 'htmlxref.cnf' is honored....Fixes <https://bugs.gnu.org/39060>. Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * doc/build.scm (html-manual)[build]: Copy 'htmlxref.cnf' to the current directory so that 'makeinfo' honors it. Ludovic Courtès
2019-11-28doc: Handle right arrows in 'syntax-highlighted-html'....* doc/build.scm (syntax-highlighted-html)[build](entity->string): Add "rarr". Ludovic Courtès
2019-10-22doc: Use the right title in HTML indices for the cookbook....* doc/build.scm (html-manual-indexes): Add #:title. [build]: Replace "GNU Guix Reference Manual" by references to TITLE. Ludovic Courtès
2019-10-21doc: More responsive online manual....* doc/build.scm (%makeinfo-html-options): Add viewport to all generated html pages for better mobile device support. Julien Lepiller
2019-10-21doc: Add support for "guix-cookbook.texi" to 'build.scm'....* doc/build.scm (%manual): New variable. (html-manual): #:manual now defaults to %MANUAL. [build]: Define 'language->texi-file-name' and use it. Filter out items of LANGUAGES that lack a .texi file. (pdf-manual, html-manual-indexes, pdf+html-manual): #:manual now defaults to %MANUAL. Ludovic Courtès
2019-09-25doc: Support paren matching via CSS hover....* doc/build.scm (syntax-highlighted-html)[build](pair-open/close) (highlights->sxml*): New procedures. (syntax-highlight): Use 'highlights->sxml*'. Ludovic Courtès
2019-09-07doc: Work around (htmlprag) parser issue....* doc/build.scm (guile-lib/htmlprag-fixed): New variable. (syntax-highlighted-html): Use it instead of GUILE-LIB. Ludovic Courtès