Staging copy of the lab website's wvu branch and the DSPIRA lessons site's
wvu branch (the WVU Design System builds), published together at
https://wvurail.org/rail-preview/ and https://wvurail.org/rail-preview/dspira-lessons/
for the Strategic Communications review. Not the real site, and not indexed: every page carries
noindex.
There is no content here. The one workflow in .github/workflows/ checks out
WVURAIL/wvurail.github.io@wvu and
WVURAIL/dspira-lessons@wvu,
builds them under /rail-preview/ and /rail-preview/dspira-lessons/ with the same gems GitHub Pages uses, and
deploys the result. It runs every half hour and on demand (Actions → Stage
the wvu branch → Run workflow).
When the branch has been merged and the site is live on rail.wvu.edu, delete this repository.
Pull requests build and validate the combined preview without deploying it. The link check runs after both sites are assembled and the lab-to-lessons links are rewritten:
npm ci
npm test
python3 -m pip install -r requirements-checks.txt
python3 -m unittest discover -s tests -v
python3 scripts/combine_sitemaps.py --site _site
node scripts/trim_styles.mjs _site
python3 scripts/check_links.py --site _site
python3 scripts/check_pages.py --site _site
python3 scripts/check_readability.py --site _siteThe checker verifies local link and asset targets under /rail-preview/,
including relative links, redirects, and extensionless GitHub Pages URLs.
Other sites on the host, such as /lightwork/, stay at their published paths
and are outside this offline check. External URLs and heading fragments are
covered by the source repositories' link audits.
The page check validates language, preview noindex, unique titles and
descriptions, title and description lengths, Open Graph tags, structured data, heading order, image alt
attributes, and focusable skip-link destinations. Redirect stubs retain the
language and noindex checks but do not need content-page metadata.
The readability check limits prose sentences to 20 words. Published titles,
citations, code, and quotations are preserved. Exact text and page exceptions
are recorded in scripts/readability_exceptions.json; changed passages must
be reviewed again. Equations and inline code count as single tokens.
The combined sitemap at /rail-preview/sitemap.xml includes both sites while
preserving their exclusions. Use this URL when configuring the preview crawl.
Siteimprove SEO discovery also depends on the host's root robots.txt, which
currently advertises only the production sitemap. See the audit notes for
this preview limitation.
Use Node.js 22 for the stylesheet step. It trims the published Design System CSS against the built HTML and JavaScript, keeping menu states, fonts, animation definitions, and CSS variables. The source bundles remain unchanged, and each build recomputes the styles needed by the current pages.
See the September audit notes for the source repositories,
report dispositions, and remaining review items. Merge the source-site changes
before enabling these stricter checks against their remote wvu branches.