Renders the published documentation groups into committed pages under
site/guides/, site/installation/, and site/reference/, plus the
directory page at site/guides/index.html, and rewrites the shared
sidebar between the generated markers in site/index.html.
The sidebar structure is read from the same mix.exs configuration ExDoc
uses — :groups_for_extras names the sections and :extras orders the
pages — so the HexDocs sidebar and the site sidebar cannot drift apart.
Only the groups named in @published_roots are published; maintainer and
conformance material stays on GitHub.
mix ptc.gen_site_guides
mix ptc.gen_site_guides --check--check verifies the checked-in pages without rewriting them and fails
on a stale, missing, or orphaned page (a renamed source file leaves an
orphan behind). mix ptc.gen_docs runs this task, so regenerating the
docs regenerates these pages too.
Relative links to a published page become site links (validated down to
the anchor); relative links to any other repository file become GitHub
links and must name a file that exists. Everything else the renderer does
not recognise fails the run — see PtcRunner.SiteGuides.MarkdownHTML.