Skip to content

feat(modules): add /modules/ section with reusable Module landing pages#17

Merged
HeyItsGilbert merged 1 commit into
mainfrom
feat/module-landing-pages
Jun 20, 2026
Merged

feat(modules): add /modules/ section with reusable Module landing pages#17
HeyItsGilbert merged 1 commit into
mainfrom
feat/module-landing-pages

Conversation

@HeyItsGilbert

Copy link
Copy Markdown
Member

What

Adds a /modules/ section to the site for the open-source modules PowerShell.org stewards, with a hybrid rendering approach: a generic, front-matter-driven module layout for new modules, plus the Hugo layout: escape hatch so a flagship module can stay bespoke (Plaster keeps its hand-authored page).

Changes

  • /modules/ index — card grid ranging over the module pages (mirrors the Community list pattern).
  • Plaster moved to /modules/plaster/ with an alias from /plaster/; its bespoke layout is unchanged.
  • PSDepend added as the first generic Module, authored from its README + domain glossary, with its real logo imported to static/images/modules/.
  • terminal shortcode — reusable Plaster-style code blocks (dark terminal chrome + Prism highlighting), plus a .ps-terminal CSS reset so .prose pre styling doesn't fight it. PSDepend's code samples use it.
  • Nav dropdown generalized — a childMenu param drives the dropdown, so "Modules" is now a dropdown like "Community" listing each module.
  • Tooling/docs — a modules archetype (bakes in the required layout: key), a CONTEXT.md glossary entry for the term Module (with the disambiguation against PowerShell's generic sense), and ADR-0001 recording the architecture/IA decision.

Adding a module later

  1. hugo new --kind modules content/modules/<name>/_index.md and fill in the front matter.
  2. Add one entry to the modules menu in hugo.yaml.

Note: the modules menu is hand-maintained (same trade-off Community already has) — a new module appears in the index automatically but needs a menu entry to show in the dropdown. Fine at a handful; can be made auto-syncing if it grows.

Verification

  • hugo --gc --minify builds clean (exit 0).
  • Verified on the dev server: /modules/, /modules/plaster/, /modules/psdepend/ render; /plaster/ redirects to /modules/plaster/; PSDepend shows its logo + terminal-styled code blocks; both nav dropdowns work.

🤖 Generated with Claude Code

Introduce a hybrid layout for the open-source modules PowerShell.org stewards:
a generic, front-matter-driven `module` layout for new modules, with the Hugo
`layout:` key as an escape hatch so flagship modules can stay bespoke (Plaster).

- Add /modules/ section index (card grid over pages) and move Plaster under it
  at /modules/plaster/ with an alias from /plaster/ (bespoke layout unchanged).
- Add PSDepend as the first generic Module, authored from its README/glossary,
  with its real logo imported to static/images/modules/.
- Add a reusable `terminal` shortcode for Plaster-style code blocks (Prism
  highlighting) plus a .ps-terminal CSS reset so .prose pre doesn't fight it.
- Make the top-nav dropdown generic via a childMenu param; Modules becomes a
  dropdown like Community, listing each module.
- Add a `modules` archetype (bakes in the load-bearing `layout:` key),
  CONTEXT.md glossary entry for "Module", and ADR-0001 recording the decision.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T5qXD5Xg7YL1gpyhSN3WS1
@netlify

netlify Bot commented Jun 20, 2026

Copy link
Copy Markdown

Deploy Preview for powershellorg ready!

Name Link
🔨 Latest commit d92af90
🔍 Latest deploy log https://app.netlify.com/projects/powershellorg/deploys/6a35ea7aaaa6340008e23105
😎 Deploy Preview https://deploy-preview-17--powershellorg.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@HeyItsGilbert HeyItsGilbert enabled auto-merge (squash) June 20, 2026 01:21
@therealgill therealgill self-assigned this Jun 20, 2026

@therealgill therealgill left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@HeyItsGilbert HeyItsGilbert merged commit b3d262d into main Jun 20, 2026
5 checks passed
@HeyItsGilbert HeyItsGilbert deleted the feat/module-landing-pages branch June 20, 2026 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants