A modern, community-driven website for PowerShell enthusiasts built with Hugo and Tailwind CSS. Features podcasts, summits, learning resources, and community engagement tools.
- Home - Hero section with community stats and latest content
- Podcast - Episode listings with RSS feed and subscription options
- Summit - Event information and registration
- Community - Real-time forum activity from Discourse
- Learning - Articles with advanced search and filtering
- Authors - Author profiles and article discovery
- Keyword Search - Full-text search across articles
- Author Filtering - Browse articles by author
- Category Filtering - Filter by topic/category
- Author Profiles - Dedicated pages for each author showcasing their articles
- RSS feeds for all sections
- Open Graph metadata for social sharing
- Mobile-responsive design
- Real-time community statistics from Discourse API
- Client-side filtering (instant search results)
- Hugo v0.128+
- Node.js (for npm scripts)
npm install
npm run devThis starts a local server at http://localhost:1313 with hot-reload enabled and draft posts visible.
npm run buildGenerates optimized site in public/ and docs/ directories with minified CSS/JS and garbage collection.
npm run previewβββ content/
β βββ articles/ # Learning articles with author/category metadata
β βββ authors/ # Authors directory and taxonomy
β βββ community/ # Community section
β βββ learning/ # Learning resources section
β βββ podcast/ # Podcast episodes
β βββ summit/ # Summit information
β βββ _index.md # Home page
βββ data/
β βββ community_stats.json # Real-time forum statistics
βββ themes/powershell-community/
β βββ layouts/
β β βββ index.html # Home page layout
β β βββ list.html # Podcast/section layouts
β β βββ _default/
β β β βββ baseof.html # Base HTML template
β β β βββ authors.html # Authors directory layout
β β β βββ learning.html # Learning section with search
β β β βββ single.html # Single article layout
β β βββ taxonomy/
β β β βββ author.html # Individual author page layout
β β βββ partials/
β β βββ header.html # Navigation header
β β βββ footer.html # Site footer
β βββ static/ # Favicons and assets
βββ hugo.yaml # Hugo configuration
βββ package.json # npm scripts
Create a new file in content/articles/:
---
title: "Article Title"
description: "Short summary for SEO"
author: "Author Name"
date: 2025-01-14T10:00:00Z
categories: ["Category1", "Category2"]
tags: ["tag1", "tag2"]
draft: false
---
Your article content in Markdown...Author Field - The author name automatically creates a taxonomy entry. Visit /authors/author-name/ to see all articles by that author.
Create a file in content/podcast/:
---
title: "Episode Title"
description: "Episode description"
date: 2025-01-14T10:00:00Z
duration: "45:30"
podcast_url: "https://podbean-url.mp3"
---
Episode show notes...Edit hugo.yaml to update:
- Site title and description
- Navigation menu items
- Podcast settings (title, feed URL)
- Summit details (dates, location, registration URL)
- Social media links
No rebuild neededβconfig changes apply immediately.
The author taxonomy automatically:
- Creates author profile pages at
/authors/author-name/ - Groups articles by author
- Provides author directory at
/authors/ - Enables author filtering on Learning page
To add a new author: Simply include author: "Name" in article front matter.
- Search bar - Searches article titles and content
- Author dropdown - Filter to articles by specific author
- Category dropdown - Filter by topic
- Combined filters work together (AND logic)
- Search bar - Filter authors by name
- Click author cards to view their profile
- Lists all articles by that author
- Pagination support for large author catalogs
- Primary - Blue (
#0078D4,#00BCF2) - Podcast - Purple (
#667eea,#764ba2) - Learning - Green
- Summit - Purple gradient
Edit baseof.html CSS to customize.
All styling uses Tailwind CSS utility classes. Update baseof.html or create component-specific classes.
- Modify layouts in
themes/powershell-community/layouts/ - Hot-reload works in development mode
- Use Hugo template functions:
.Title,.Content,range .Pages,.Permalink
data/community_stats.json contains:
- Recent forum activities
- Total topics/posts/users
- Weekly activity metrics
- Last updated timestamp
Access in templates: {{ .Site.Data.community_stats.stats.total_topics }}
Site builds to both public/ and docs/ directories for GitHub Pages compatibility.
Automatically generated for:
- Home page:
/index.xml - Sections:
/[section]/index.xml - Taxonomies:
/authors/index.xml,/categories/index.xml,/tags/index.xml
Configure in hugo.yaml outputs section.
To contribute articles or improvements:
- Fork the repository
- Create a feature branch
- Add your content to
content/articles/with proper front matter - Test locally with
npm run dev - Submit a pull request
Use the -D flag: npm run dev (already configured)
This site uses Hugo v0.128+ pagination v2 syntax. Don't use {{ .Paginate }} without assignment.
Use Hugo functions instead of hardcoding:
.Permalink- Current page URL.RelRef "path/to/page"- Relative URL.Site.BaseURL- Site base URL
Check data/community_stats.json format and last_updated timestamp.
- Hugo: v0.128+ with Goldmark renderer
- Node.js: For npm scripts
- Tailwind CSS: v2.2.19 (via CDN)
- FontAwesome: v6.0.0 (via CDN)
- Alpine.js: v3.10.2 (via CDN)
[Specify your license here]
For issues or questions, visit:
- Forums: https://forums.powershell.org
- GitHub Issues: [Add your issues URL]
- Slack: https://aka.ms/psdiscord