README (2091B)
1 This repository contains the documentation for all main GNU Taler components. 2 3 To build things on a Debian (-based) system, install these packages: 4 - make 5 - python3-sphinx 6 - python3-myst-parser 7 - python3-sphinx-book-theme 8 - python3-sphinx-design 9 - python3-sphinxcontrib-mermaid 10 - graphviz 11 - texlive-latex-extra 12 - dvipng 13 14 Then, do "make html" for HTML, "make texinfo" for Texinfo, etc. 15 (Do "make" w/o a target to see a list of possible targets.) 16 17 The output is in subdir ‘_build’. 18 19 The build is reproducible: the dates that Sphinx stamps into the output (the 20 date in the .TH line of a manpage, \date{} in LaTeX, <dc:date> in the EPUB, 21 ...) are taken from the commit date of HEAD rather than from the clock, so 22 rebuilding unchanged sources produces identical files -- which also keeps the 23 ‘prebuilt’ branch below free of diffs that are nothing but a new build date. 24 Set SOURCE_DATE_EPOCH in the environment to override that date; that is what a 25 distribution building from a release tarball, where there is no commit date to 26 read, is expected to do. 27 28 Mermaid diagrams use sphinxcontrib-mermaid (packaged in Debian 13 trixie). 29 HTML output renders them in the browser using JavaScript from the extension's 30 default CDN. Mermaid CLI is not needed. Put diagrams inside an "only:: html" 31 directive and include an equivalent prose description for other output formats. 32 33 34 Branch ‘prebuilt’ is special. Its contents (or a subset) are used as 35 submodules in other Git repos (e.g., Exchange, Merchant, Sync). 36 37 One approach that works well (so far) for ttn is to do 38 (presuming that the current directory is named ‘docs’): 39 40 $ cd .. 41 $ git clone -b prebuilt --reference docs \ 42 git+ssh://git@git.taler.net/docs.git \ 43 docs-prebuilt 44 45 This creates Git repo docs-prebuilt as a peer to the current repo. 46 47 This way, you can build in this directory (i.e., "make man" or whatever) 48 and then copy to ../docs-prebuilt/man/* what files need to be updated. 49 In that repo, you can commit changes and push to git.taler.net as normal, 50 all without having to do "git checkout" in either repo.