Commit graph

55 commits

Author SHA1 Message Date
Luis Felipe
999bfa0d54
doc: 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>
2024-03-15 23:22:45 +01:00
Nicolas Goaziou
7a18bd9e74
gnu: 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.
2023-07-18 18:16:47 +02:00
Nicolas Goaziou
36d7acf003
gnu: 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.
2023-07-18 18:15:02 +02:00
Nicolas Goaziou
ac29f53d30
gnu: 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.
2023-07-18 18:11:07 +02:00
Nicolas Goaziou
76819a9655
gnu: 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.
2023-07-18 18:10:48 +02:00
Ludovic Courtès
fb1c5d4df7
doc: Adjust HTML patterns to correctly process Texinfo 6.8 output.
Prior to ceb5ef8347, (@ (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.
2023-05-25 23:24:40 +02:00
Ludovic Courtès
0be722a0b5
doc: Build pt_BR manual.
* doc/build.scm (%manual-languages): Add "pt_BR".
2022-11-15 12:16:44 +01:00
Maxim Cournoyer
1cde647cc0
doc: 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.
2022-06-15 17:24:46 -04:00
Ludovic Courtès
b38e053513
doc: 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.
2022-04-08 23:59:48 +02:00
Ludovic Courtès
0d0e2165ea
doc: 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
93bfd4d9c7, 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'.
2022-04-08 22:56:02 +02:00
Ludovic Courtès
be84fb701b
doc: Publish the Slovak translation of the cookbook.
* doc/build.scm (%languages): Add "sk" for "guix-cookbook" (it's
currently at 57%).
2022-03-02 19:26:16 +01:00
Ludovic Courtès
a27e47f9d1
doc: Normalize language codes in menu URLs.
* doc/build.scm (stylized-html)[build](base-language-url): Add calls to
'normalize'.
2022-01-19 22:07:55 +01:00
Ludovic Courtès
fa580bf3b4
doc: Make the HTML language menu disappear on narrow screens.
* doc/build.scm (stylized-html)[build](navigation-bar): New procedure.
(stylized-html): Use it.
2022-01-19 15:43:25 +01:00
Ludovic Courtès
7eb883b7c2
doc: Add a language menu in the HTML manual.
* doc/build.scm (stylized-html): New procedure.
(html-manual): Use it.
2022-01-18 22:51:08 +01:00
Ludovic Courtès
ee16e4e8da
doc: 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.
2022-01-18 22:51:08 +01:00
Ludovic Courtès
62fc6fdb4c
doc: Extract (localization) module.
* doc/build.scm (localization-helper-module): New procedure.
(html-manual-indexes)[build]: Use it.  Remove use of GUILE-JSON-3.
2022-01-18 18:46:51 +01:00
Ludovic Courtès
560fd99061
doc: Remove now unnecessary workaround.
* doc/build.scm (translated-texi-manuals): Turn into an alias
for (@@ (guix self) translated-texi-manuals).
2022-01-15 23:27:34 +01:00
Ludovic Courtès
1052ae5f03
Merge branch 'master' into core-updates-frozen 2021-12-13 11:49:15 +01:00
Ludovic Courtès
c946e1464d
doc: Handle '&nbsp' when syntax-highlighting HTML.
* doc/build.scm (syntax-highlighted-html)[build](entity->string): Handle "&nbsp".
2021-12-13 11:31:53 +01:00
Efraim Flashner
bc5155b952
Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-10-31 14:49:47 +02:00
Ludovic Courtès
45b251fd04
doc: Allow offloading of the expensive derivations.
* doc/build.scm (translated-texi-manuals)
(html-manual, pdf-manual): Pass #:local-build? #f.
2021-10-28 21:30:27 +02:00
Ludovic Courtès
0e47fcced4
Merge branch 'master' into core-updates 2021-07-18 19:50:01 +02:00
Ludovic Courtès
580a031e7d
doc: 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'.
2021-07-09 17:33:46 +02:00
Marius Bakke
f034264204
Merge 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
2021-05-09 21:29:46 +02:00
Leo Famulari
46852000c9
doc: 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.
2021-04-20 12:48:32 -04:00
Julien Lepiller
fef2f08bc6
doc: Build the French HTML cookbook.
* doc/build.scm (%languages): Add 'fr' cookbook translation.
2021-04-18 16:50:18 +02:00
Efraim Flashner
2aab587f84
Merge remote-tracking branch 'origin/master' into core-updates 2021-03-24 20:50:44 +02:00
Maxim Cournoyer
25db3b2f8b
doc: 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.
2021-03-20 15:55:18 -04:00
Maxim Cournoyer
82f5f6b14c
gnu: 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.
2021-01-29 13:35:47 -05:00
Ludovic Courtès
8fe7c89f0c
doc: 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".
2020-10-21 19:19:33 +02:00
Ludovic Courtès
d66a4eac44
doc: 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.
2020-10-19 13:28:38 +02:00
Ludovic Courtès
97ce30cc1b
doc: 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'.
2020-10-17 22:40:17 +02:00
Ludovic Courtès
db1d445357
doc: 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'.
2020-10-17 22:40:17 +02:00
Ludovic Courtès
0f7d0743ed
doc: 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.
2020-10-17 22:40:17 +02:00
Ludovic Courtès
3cd1a7ac51
doc: 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'.
2020-10-17 22:40:17 +02:00
Ludovic Courtès
fe409700d8
doc: Syntax highlighting now handles @var within @lisp.
* doc/build.scm (syntax-highlighted-html)[build](concatenate-pieces):
Handle @var{name}.
2020-09-04 11:29:51 +02:00
Ludovic Courtès
8c23d7a15e
doc: 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.
2020-05-25 23:00:30 +02:00
Ludovic Courtès
e5b495c18f
doc: Inherit md5.scm fix in custom 'guile-lib' variant.
* doc/build.scm (guile-lib/htmlprag-fixed)[source]: Remove.
[arguments]: Add 'fix-htmlprag' phase.
2020-05-18 15:08:58 +02:00
Björn Höfling
7c65fc378c
doc: 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.
2020-05-02 13:21:42 +02:00
Ludovic Courtès
cb26edc8f6
doc: Include *.json files in the source.
This is a followup to c9f321e52a.

* doc/build.scm (texinfo-manual-source)[build]: Add *.json to #$output.
2020-04-21 23:52:19 +02:00
Ludovic Courtès
deac7bf6ac
doc: 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.
2020-04-13 12:28:41 +02:00
Ludovic Courtès
c2480d1042
doc: Avoid invalid 'match' pattern in 'syntax-highlighted-html'.
This is a followup to da9deba13d.

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 ...).
2020-04-13 02:12:08 +02:00
Ludovic Courtès
da9deba13d
doc: 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.
2020-04-13 01:21:49 +02:00
Ludovic Courtès
f9e0488c50
doc: 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.
2020-01-12 00:19:10 +01:00
Ludovic Courtès
295c6a7e83
doc: Handle right arrows in 'syntax-highlighted-html'.
* doc/build.scm (syntax-highlighted-html)[build](entity->string): Add "rarr".
2019-11-28 13:30:53 +01:00
Ludovic Courtès
208cc522b9
doc: 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.
2019-10-22 18:32:52 +02:00
Julien Lepiller
2f000f2ef4
doc: More responsive online manual.
* doc/build.scm (%makeinfo-html-options): Add viewport to all generated
html pages for better mobile device support.
2019-10-21 21:17:01 +02:00
Ludovic Courtès
cacb5576cc
doc: 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.
2019-10-21 18:16:16 +02:00
Ludovic Courtès
012c93e916
doc: 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*'.
2019-09-25 15:46:48 +02:00
Ludovic Courtès
7854bbeb3f
doc: Work around (htmlprag) parser issue.
* doc/build.scm (guile-lib/htmlprag-fixed): New variable.
(syntax-highlighted-html): Use it instead of GUILE-LIB.
2019-09-07 18:42:08 +02:00