- This repo builds a single Sphinx site that integrates multiple IVOA standards; it does not replace official publishing (see
README.md). - Most source standards live in
src/*as git submodules; this repo mainly controls transformation and presentation.
- Input layer: LaTeX standards in
src/<Doc>/<Doc>.tex(plus one HTML source,src/UWS/UWS.html). - Transform layer: root
Makefilerunspandocwith Lua filters frompandocCustomization/and metadata fromutil.mk. - Output layer: generated RST lands in
sphinxSource/idoc/<Doc>/<Doc>.rst; Sphinx builds HTML intobuild/html/. - Site shell:
sphinxSource/index.rstusesidoc/*/*glob to include all generated documents.
- Primary command:
make(rootMakefile) -> targetdoSphinx. - Clean rebuild:
make clean doSphinx. - Recover submodule state after build symlink rewiring:
make restore_ivoatex. - Refresh submodule revisions:
git submodule update --recursive --remote. - Mac note: GNU Make 4.x is required (documented in
README.md).
dolink_ivoatexrewires eachsrc/<DOCNAME>/ivoatextosrc/ivoatexand symlinksivoa.cls; this is intentional.util.mkderivesdocMeta.yamlfrom each standard Makefile vars (DOCNAME,DOCVERSION,DOCTYPE,DOCDATE).latest_versions.pygeneratespandocCustomization/latest_versions_map.yamlfromsrc/ivoatex/docrepo.bib+src/*/MakefileDOCNAMEs.- Pandoc filters used in order (
Makefile):relink-ivoa-citations.lua: maps\\cite...to internal:doc:links when bibkey maps to another standard.fix_internal_refs.lua: prefixes IDs/refs withDOCNAME:for global uniqueness across all docs.number-sections.lua: applies hierarchical numbering and appendix A/B/C mode.
- Main config is
sphinxSource/conf.py; theme issphinx_wagtail_theme. - Bibliography is centralized with
sphinxcontrib-bibtexand../src/ivoatex/docrepo.bib. - Custom pybtex style
IvoaStylelabels entries as<ivoa_docname><version>(seeconf.py).
- Treat
src/*as upstream-owned standards; content cannot be edited directly. - Prefer edits in root
Makefile,util.mk,pandocCustomization/*, andsphinxSource/*for integration behavior. - Treat
build/outputs and generatedsphinxSource/idoc/*/*.rstas derived artifacts; regenerate instead of hand-editing. - If adding a new standard, follow
README.md: add submodule, ensure transform target exists, and ensure it is included by site toctree.
Makefilecurrently comments that HTML-source conversion path is "not working";htmlsource := UWSexists but is not inALLSP.- Build mutates submodule working trees via symlinks;
gitoperations can fail untilmake restore_ivoatexis run. - Internal link correctness depends on DOCNAME matching standard names used in mapping and directory layout.