diff --git a/.gitattributes b/.gitattributes index 2cea94c..9707beb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10,3 +10,7 @@ *.woff binary *.woff2 binary *.cur binary + +# Vendored libraries (excluded from GitHub language stats) +assets/clippyjs/** linguist-vendored +assets/fonts/** linguist-vendored diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..19885c5 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,45 @@ +name: Validate site + +on: + push: + branches: [main] + pull_request: + +jobs: + html-validation: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Check internal links and asset references + run: | + python3 - <<'PY' + import re, sys, pathlib + + root = pathlib.Path('.') + html_files = list(root.glob('*.html')) + list(root.glob('*/*.html')) + failures = [] + + for f in html_files: + text = f.read_text(encoding='utf-8') + for url in re.findall(r'(?:src|href)="([^"]+)"', text): + if url.startswith(('http://', 'https://', 'mailto:', '#', '//')): + continue + path = url.split('?')[0].split('#')[0] + if not path: + continue + target = (root / path.lstrip('/')) + if not target.exists(): + failures.append(f'{f}: missing local resource {url}') + + if failures: + print('\n'.join(failures)) + sys.exit(1) + print('All local resource references OK.') + PY + + - name: HTML validation (W3C Nu checker) + uses: cygnetdigital/vnu_jar_validation@v1.1.2 + with: + additionalFlags: '--exit-zero-always --verbose' + pathsArgument: './index.html ./about/index.html ./support/index.html ./404.html' diff --git a/about/index.html b/about/index.html index 82fd8e9..822c2e5 100644 --- a/about/index.html +++ b/about/index.html @@ -10,12 +10,18 @@ + + + + + + @@ -28,6 +34,8 @@ + + @@ -36,9 +44,21 @@ + + + - + Skip to content @@ -75,7 +95,8 @@ @@ -149,7 +170,6 @@

- diff --git a/assets/content_images/content_creation.jpg b/assets/content_images/content_creation.jpg index 800c16f..3f56ccc 100644 Binary files a/assets/content_images/content_creation.jpg and b/assets/content_images/content_creation.jpg differ diff --git a/assets/site.js b/assets/site.js index 850f14f..24590de 100644 --- a/assets/site.js +++ b/assets/site.js @@ -24,6 +24,11 @@ return; } + // Skip on small screens: saves bandwidth and avoids covering content. + if (window.matchMedia && window.matchMedia('(max-width: 575.98px)').matches) { + return; + } + // Absolute path so Clippy also works from /about/ and /support/. clippy.BASE_PATH = '/assets/clippyjs/agents/'; diff --git a/assets/win95.css b/assets/win95.css index 813716c..ed64a97 100644 --- a/assets/win95.css +++ b/assets/win95.css @@ -612,6 +612,27 @@ TABLES .social-icon{ margin: 14px; } +/* Center the social icons within the "Find me on the Internet" card body + across all responsive layouts. The row is a flex container whose columns + are content-width at every breakpoint, so shrinking the card body to fit + its content and centering it with auto side margins keeps the icon group + visually centered in the card. */ +section[aria-labelledby="social-heading"] > .card-body{ + width: fit-content; + margin-left: auto; + margin-right: auto; +} +.navbar-brand img[src*="computer-3.png"]{ + /* The icon's artwork reaches the very edge of the 32x32 PNG, so pin it + at its exact intrinsic size (no scaling) to avoid clipping and reserve + a stable box in the flex row, and drop pe-4's right padding in favor of + the logo's own ps-4 spacing. */ + width: 32px; + height: 32px; + max-width: none; + flex-shrink: 0; + padding-right: 0 !important; +} .gray-scale{ filter: grayscale(100%); } diff --git a/index.html b/index.html index 6083f97..ec885f4 100644 --- a/index.html +++ b/index.html @@ -10,12 +10,20 @@ + + + + + + + + @@ -28,6 +36,8 @@ + + @@ -36,9 +46,40 @@ + + + + - + Skip to content @@ -75,7 +116,8 @@ @@ -140,7 +182,6 @@

- diff --git a/sitemap.xml b/sitemap.xml index 17309b2..ff5e625 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,19 +2,19 @@ https://polygonprincess.com/ - 2026-10-30 + 2026-11-10 monthly 1.0 https://polygonprincess.com/about/ - 2026-10-30 + 2026-11-10 monthly 0.8 https://polygonprincess.com/support/ - 2026-10-30 + 2026-11-10 monthly 0.8 diff --git a/support/index.html b/support/index.html index ae95d79..6a65b14 100644 --- a/support/index.html +++ b/support/index.html @@ -10,12 +10,18 @@ + + + + + + @@ -28,6 +34,8 @@ + + @@ -36,9 +44,21 @@ + + + - + Skip to content @@ -75,7 +95,8 @@ @@ -169,7 +190,6 @@

-