Add sample work showcase, technical brief, and pricing/contact nav rename#26
Merged
Conversation
Publish the first sample deliverable (Advanced Dataverse & Dynamics 365 Security Model technical brief) and the infrastructure to grow the collection over time. - Add src/lib/samples.ts as the single registry the homepage and /work both read from; adding a sample is one entry. - Add the /work showcase, grouping published samples by engagement type and hiding types with no samples yet. - Add the brief page with article images and TechArticle JSON-LD. - Surface a "samples published" CTA chip on matching pricing cards. - Rename nav/footer: Services -> Pricing, Work -> Samples, Briefing -> Contact, and align the anchor fragments (#services -> #pricing, #briefing -> #contact, #founder -> #about). - Drop the "$2,500 if publishable" pricing line everywhere. - Use Cloudflare's always-pass Turnstile dummy keys in dev so the briefing form widget renders and verifies on localhost; production keys are untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
decipher-ms | eafa55d | Commit Preview URL Branch Preview URL |
May 28 2026, 09:21 PM |
There was a problem hiding this comment.
Pull request overview
Adds a public sample-work showcase backed by a shared sample registry, publishes the first technical brief, and updates navigation/anchors/copy around pricing, samples, and contact.
Changes:
- Adds
/work,src/lib/samples.ts, and the first/briefs/...sample deliverable. - Updates homepage pricing cards to link to published samples.
- Renames nav/footer anchors and enables Turnstile dummy keys in dev.
Reviewed changes
Copilot reviewed 11 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/pages/work.astro |
Adds sample showcase page grouped by engagement type. |
src/lib/samples.ts |
Adds sample registry and engagement/sample helpers. |
src/pages/briefs/advanced-dataverse-and-dynamics-365-security-model.astro |
Adds first published technical brief. |
src/pages/index.astro |
Updates pricing anchors/copy and adds sample CTA chips. |
src/components/Nav.astro |
Renames nav links and adds Samples navigation. |
src/components/Footer.astro |
Renames footer links and anchors. |
src/components/BriefingForm.astro |
Uses Turnstile dummy site key in dev. |
src/lib/server/briefing.ts |
Uses Turnstile dummy secret in dev. |
src/pages/about.astro |
Updates contact anchor target. |
src/pages/privacy.astro |
Updates contact anchor targets. |
src/pages/legal.astro |
Updates contact anchor target. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
pedropaulovc
disabled auto-merge
May 28, 2026 21:11
- Extract the four engagement-tier keys into src/lib/engagements.ts as a single source of truth. samples.ts, the client briefing form, and the server validation now import ENGAGEMENT_KEYS / EngagementKey instead of each redeclaring the tuple, so a renamed or added tier can't drift between the homepage links and the form/API validation. - Add /work and the first brief URL to public/sitemap.xml, and list both pages in public/llms.txt, so the new public pages are discoverable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
pedropaulovc
enabled auto-merge
May 28, 2026 21:14
Replace the hand-maintained public/sitemap.xml and public/llms.txt with prerendered endpoints driven by src/lib/pages.ts. Static pages are listed once; sample pages are derived from the samples registry, so publishing a new brief updates both the sitemap and the LLM index automatically with no manual edits. The @astrojs/sitemap integration isn't a fit here: under output: "server" with no prerendered routes it only emits static/prerendered pages, so it would generate an empty sitemap for our on-demand routes. These endpoints set prerender = true, so they're emitted as static /sitemap.xml and /llms.txt at build and served by the platform (bypassing the worker), just like the files they replace. robots.txt still points at /sitemap.xml. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Publishes the first sample deliverable and the structure to grow the collection over time.
What's in here
src/lib/samples.ts) — single source the homepage and/workboth read from. Adding a sample is one entry./workshowcase — published samples grouped by engagement type; types with no samples yet are hidden.#services→#pricing,#briefing→#contact,#founder→#about).import.meta.env.DEV, so the widget renders and verifies on localhost. Production keys untouched.Verification
npm run buildclean.🤖 Generated with Claude Code