You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrate deployment docs to Azure Static Web Apps, add lint/test/clean scripts, extract shared CSS
The site deploys via Azure Static Web Apps, not GitHub Pages, so remove the
leftover CNAME/.nojekyll files and correct README, copilot-instructions, and
the constitution to describe the real deployment pipeline (custom domain is
bound in the Azure portal, not a repo file).
Add npm run clean/lint/test alongside the existing build script: ESLint
(flat config) over the Node sources, and a Node built-in test-runner suite
that builds the site and checks every page exists, required Azure/SEO files
are copied, and internal links resolve. Wire lint + test + a docs/ drift
check into a new CI workflow so a stale committed docs/ or a broken build
is caught before the Azure deploy workflow uploads it.
Extract the shared inline <style> block into one docs/styles.css referenced
via <link> from every page, so browsers cache it once across navigations
instead of re-downloading ~28KB of duplicate CSS on every page load
(index.html alone drops from 60KB to 32KB).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
-`build.js` copies `static/CNAME`, `static/.nojekyll`, `static/robots.txt`, `static/sitemap.xml`, favicons, and `static/.well-known/security.txt` into `docs/` on every run — edit the source files in `static/`, not the generated copies in `docs/`.
38
+
-Azure Static Web Apps deploys on push to `main`via `.github/workflows/azure-static-web-apps-*.yml`, which uploads `docs/` as a pre-built artifact (`skip_app_build: true`) — there is no build step in CI, so `docs/` must be committed already up to date. Custom domain `makeboldsolutions.com`is configured in the Azure portal, not a repo file.
39
+
-`build.js` copies `static/staticwebapp.config.json`, `static/robots.txt`, `static/sitemap.xml`, favicons, and `static/.well-known/security.txt` into `docs/` on every run — edit the source files in `static/`, not the generated copies in `docs/`.
40
40
41
41
## Code Conventions
42
42
- Pages are built by individual `build*()` functions in `build.js` (e.g. `buildHome`, `buildAbout`, `buildContact`) and registered in the `pages` array near the bottom of the file.
Copy file name to clipboardExpand all lines: README.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,6 +37,9 @@ The site is a Node.js static site generator: `build.js` reads content from `cont
37
37
38
38
## Available Scripts
39
39
40
+
-`npm run clean` - Remove the generated `docs/` directory (build.js never clears stale files on its own, so this catches orphaned output from removed pages/assets)
41
+
-`npm run lint` - Lint `build.js`, `dev.js`, `serve.js`, and `test/` with ESLint
42
+
-`npm test` - Run the build against a smoke-test suite (Node's built-in test runner): verifies every page builds, required Azure/SEO files are copied, and internal links resolve to real files
40
43
-`npm run build` - Run the static site generator (`build.js`) and write output to `docs/`
41
44
-`npm run dev` - Build, serve `docs/` locally, and rebuild automatically when `build.js` or `content.json` changes
42
45
-`npm run serve` - Serve the existing `docs/` output without rebuilding
@@ -50,15 +53,14 @@ MakeBoldSolutionsCom/
50
53
├── dev.js # Local dev server with rebuild-on-change
51
54
├── serve.js # Plain static file server for docs/
52
55
├── static/ # Source files copied into docs/ on every build
├── attached_assets/ # Logo files, vCards, and contact photos used during build
60
62
├── documentation/ # Brand guide, logo source files, project docs
61
-
└── docs/ # Build output (committed to git for GitHub Pages)
63
+
└── docs/ # Build output (committed to git for Azure Static Web Apps)
62
64
```
63
65
64
66
## Pages
@@ -76,7 +78,7 @@ Site copy, navigation, and page sections live in `content.json`. Edit that file
76
78
77
79
## Deployment
78
80
79
-
GitHub Pages is configured to serve from the `main` branch, `/docs` folder, at the custom domain `makeboldsolutions.com`(see `static/CNAME`). After making changes:
81
+
The site deploys to Azure Static Web Apps via [.github/workflows/azure-static-web-apps-lemon-plant-08b5fed10.yml](.github/workflows/azure-static-web-apps-lemon-plant-08b5fed10.yml), which triggers on every push to `main`. It uploads the pre-built `docs/` folder as-is (`skip_app_build: true`, `app_location: "docs"`) — there is no build step in CI, so `docs/` must be regenerated and committed locally before pushing. The custom domain `makeboldsolutions.com`is configured in the Azure Static Web Apps portal (Custom domains blade), not via a repo file. Routing, security headers, and caching rules live in [static/staticwebapp.config.json](static/staticwebapp.config.json), which `build.js` copies into `docs/` on every build. After making changes:
<h2 class="text-3xl font-heading font-bold mb-6">Ready to Write Your Own Success Story?</h2>
1504
-
<p class="text-white-80 max-w-2xl mx-auto mb-10 text-lg">Every engagement starts with a conversation. Let's talk about where you are and where you want to go.</p>
0 commit comments