TF008 HTML output

Generate Myst Markdown from the specification in YAML, then have sphinx generate a static website

Is a test for

Initial state

The uv tool is required. The expected state is the final state of TF004 Add comments

Procedure

Step 1

Install the speky CLI tool

$ uv tool install git+https://github.com/agagniere/speky#master
[...]
Installed 1 executable: speky

Step 2

Use it to generate Myst Markdown from the specification in YAML

$ speky spec.yaml tests.yaml comments.yaml \
      --output-folder pages --project-name Foo

Loading spec.yaml
Loading tests.yaml
Loading comments.yaml

Step 3

Install sphinx with dependencies

$ uv tool install sphinx --with furo,sphinx-design,sphinx-copybutton,myst-parser
[...]
Installed 4 executables: sphinx-apidoc, sphinx-autogen, sphinx-build, sphinx-quickstart

Step 4

Configure sphinx

$ cat conf.py
project    = 'Dummy'
language   = 'en'
extensions = [ 'myst_parser', 'sphinx_design' ]
html_theme = 'furo'
myst_enable_extensions = [ 'colon_fence' ]

Step 5

Run sphinx to generate HTML

$ sphinx-build -M html pages output --conf-dir .
[...]
The HTML pages are in output/html.

Step 6

View the static website

$ open output/html/index.html

Step 7

Validate the site contains a page for S01, which contains:

  • The unique identifier and summary as the page title

  • The statement as a paragraph

  • A link to T01 in a dropdown: “Tested by”

Step 8

Click on the link to T01, and verify that:

  • S01 is listed as a tested requirement: “Is a test for”

  • The procedure is displaye, with each step in the expected order