A static website for the Weekly Dev Chat community - a weekly virtual developer chat that meets every Tuesday at 12pm Mountain Time.
Live Site: weeklydevchat.com
This is a static site built with MkDocs Material and hosted on GitHub Pages. The site features:
- Weekly blog posts for Tuesday chat topics
- Host information and community guidelines
- Sponsor information
- Automatic deployment via GitHub Actions
- Static Site Generator: MkDocs
- Theme: Material for MkDocs
- Language: Python 3.x
- Hosting: GitHub Pages
- CI/CD: GitHub Actions
- Container Support: Docker Compose
- Python 3.x (recommended: use a virtual environment)
- OR Docker and Docker Compose
-
Install dependencies:
pip install mkdocs-material
-
Start the development server:
mkdocs serve
-
Open your browser to http://127.0.0.1:8000
-
Start the development server:
docker compose up app
-
Open your browser to http://localhost:8000
The site will automatically reload when you make changes to the content.
We provide scripts to automatically create properly formatted blog posts for the next Tuesday:
Bash (Linux/macOS):
./create_post.shPowerShell (Windows):
.\create_post.ps1These scripts will:
- Calculate the date of the next Tuesday (or use today if it's Tuesday)
- Create the directory structure:
docs/posts/YYYY/MM/DD/ - Generate an
index.mdfile with proper frontmatter
-
Create a directory following the date pattern:
docs/posts/YYYY/MM/DD/ -
Create an
index.mdfile with the following frontmatter:--- title: "Your Blog Post Title" date: YYYY-MM-DD authors: - chris ---
-
Add your content following this template:
TOPIC_INTRODUCTION_HERE Everyone and anyone are welcome to [join](https://weeklydevchat.com/join/) as long as you are kind, supportive, and respectful of others. Zoom link will be posted at 12pm MDT. 
-
Add any images to the same directory as the post
.
├── mkdocs.yml # Main configuration file
├── requirements.txt # Python dependencies
├── docker-compose.yml # Docker development environment
├── create_post.sh # Bash script to create blog posts
├── create_post.ps1 # PowerShell script to create blog posts
├── .github/
│ ├── dependabot.yml # Dependabot configuration
│ └── workflows/
│ └── ci.yml # GitHub Actions deployment
└── docs/ # All site content
├── .authors.yml # Author metadata
├── index.md # Homepage
├── join.md # How to join
├── hosts/ # Current hosts
├── past-hosts/ # Past hosts
├── sponsors/ # Sponsors
├── posts/ # Blog posts (YYYY/MM/DD/)
├── assets/ # Images, logos
└── stylesheets/
└── extra.css # Custom CSS
# Development
mkdocs serve # Start development server
mkdocs serve -a 0.0.0.0:8000 # Start server accessible on network
# Build
mkdocs build # Build static site to site/ directory
mkdocs build --clean # Clean build
# Help
mkdocs -h # Show help
# Docker
docker compose up app # Start development server
docker compose down # Stop containersPushes to the main branch automatically trigger deployment via GitHub Actions:
- The workflow builds the site using
mkdocs gh-deploy - The static HTML is pushed to the
gh-pagesbranch - GitHub Pages serves the site from
gh-pages
See .github/workflows/ci.yml for details.
While not typically needed, you can manually deploy:
mkdocs gh-deploy --forceThe project uses Dependabot to automatically keep dependencies up to date. Dependabot is configured to check weekly for:
- Python package updates (mkdocs-material)
- GitHub Actions updates
When updates are available, Dependabot creates pull requests automatically. Review and merge these PRs after verifying the CI workflow passes.
Join our virtual chat every Tuesday at 12pm Mountain Time! Visit weeklydevchat.com/join for details. We also occasionally do in real-life events.