Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

PowerShellOrg/PowerShellOrgWebsite

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,672 Commits
1,672 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PowerShell.org Hugo Site

A modern, community-driven website for PowerShell enthusiasts built with Hugo and Tailwind CSS. Features podcasts, summits, learning resources, and community engagement tools.

Features

Core Sections

  • 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

Advanced Search & Filtering

  • 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

Dynamic Features

  • 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)

Getting Started

Prerequisites

  • Hugo v0.128+
  • Node.js (for npm scripts)

Local Development

npm install
npm run dev

This starts a local server at http://localhost:1313 with hot-reload enabled and draft posts visible.

Build for Production

npm run build

Generates optimized site in public/ and docs/ directories with minified CSS/JS and garbage collection.

Preview Production Build

npm run preview

Project Structure

├── 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

Content Management

Creating Articles

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.

Creating Podcast Episodes

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...

Updating Configuration

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.

Author System

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 & Filtering

Learning Page

  • 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)

Authors Page

  • Search bar - Filter authors by name
  • Click author cards to view their profile

Author Profile Pages

  • Lists all articles by that author
  • Pagination support for large author catalogs

Customization

Theme Colors

  • Primary - Blue (#0078D4, #00BCF2)
  • Podcast - Purple (#667eea, #764ba2)
  • Learning - Green
  • Summit - Purple gradient

Edit baseof.html CSS to customize.

Tailwind CSS

All styling uses Tailwind CSS utility classes. Update baseof.html or create component-specific classes.

Layouts

  • Modify layouts in themes/powershell-community/layouts/
  • Hot-reload works in development mode
  • Use Hugo template functions: .Title, .Content, range .Pages, .Permalink

Data Sources

Community Statistics

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 }}

Build & Deployment

GitHub Pages

Site builds to both public/ and docs/ directories for GitHub Pages compatibility.

RSS Feeds

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.

Contributing

To contribute articles or improvements:

  1. Fork the repository
  2. Create a feature branch
  3. Add your content to content/articles/ with proper front matter
  4. Test locally with npm run dev
  5. Submit a pull request

Troubleshooting

Draft Posts Not Showing

Use the -D flag: npm run dev (already configured)

Old Hugo Pagination Syntax Error

This site uses Hugo v0.128+ pagination v2 syntax. Don't use {{ .Paginate }} without assignment.

Broken Links

Use Hugo functions instead of hardcoding:

  • .Permalink - Current page URL
  • .RelRef "path/to/page" - Relative URL
  • .Site.BaseURL - Site base URL

Community Stats Not Updating

Check data/community_stats.json format and last_updated timestamp.

Dependencies

  • 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)

License

[Specify your license here]

Support

For issues or questions, visit:

About

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.