Skip to content

Commit 38f46d6

Browse files
committed
Add tags to the documentation.
1 parent c693072 commit 38f46d6

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

AGENTS.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ This is the **Weekly Dev Chat** website, a static site built with MkDocs Materia
3636
├── .authors.yml # Author metadata (chris, norm, omar)
3737
├── index.md # Homepage
3838
├── join.md # How to join the chat
39+
├── tags.md # Tags index page (auto-populated by tags plugin)
3940
├── past_topics.md # Archived topics (excluded from build)
4041
├── hosts/
4142
│ └── index.md # Current hosts page
@@ -76,9 +77,14 @@ This is the **Weekly Dev Chat** website, a static site built with MkDocs Materia
7677
2. **blog**: Enables blog functionality
7778
- Blog directory: Root (`.`)
7879
- Pagination: 3 posts per page
80+
3. **tags**: Enables tag-based categorization and browsing
81+
- Tags index page: `docs/tags.md` (configured via `tags_file`)
82+
- Tags are defined in blog post frontmatter
83+
- The plugin auto-generates a tag listing with links to all posts for each tag
7984

8085
### Navigation Structure
8186
- Home (index.md)
87+
- Tags (tags.md)
8288
- Join (join.md)
8389
- Hosts (hosts/index.md)
8490
- Past Hosts (past-hosts/index.md)
@@ -113,9 +119,25 @@ title: "Your Blog Post Title"
113119
date: YYYY-MM-DD
114120
authors:
115121
- chris | norm | omar # One or more authors
122+
categories:
123+
- Category Name # e.g., Security, Culture, Career, Technical
124+
tags:
125+
- tag-name # Lowercase, hyphenated tags for topic filtering
116126
---
117127
```
118128

129+
### Categories and Tags
130+
131+
**Categories** are broad topic groupings displayed on blog post cards. Common categories include:
132+
- Security
133+
- Culture
134+
- Career
135+
- Technical
136+
137+
**Tags** are specific topic labels used for fine-grained filtering. Tags appear on the **Tags** page (`docs/tags.md`), which is auto-generated by the Material for MkDocs tags plugin. Each tag links to a listing of all posts with that tag.
138+
139+
Examples of tags: `cybersecurity`, `pair-programming`, `ai`, `open-source`, `testing`, `devops`
140+
119141
### Post Content Template
120142
```markdown
121143
TOPIC_INTRODUCTION_HERE
@@ -265,6 +287,7 @@ The following are ignored:
265287
### For Content Changes
266288
- `docs/index.md` - Homepage content
267289
- `docs/join.md` - Join instructions
290+
- `docs/tags.md` - Tags index page (content auto-generated by tags plugin)
268291
- `docs/hosts/index.md` - Current hosts information
269292
- `docs/sponsors/index.md` - Sponsor information
270293
- `docs/posts/YYYY/MM/DD/index.md` - Blog posts
@@ -292,6 +315,10 @@ The following are ignored:
292315
date: YYYY-MM-DD
293316
authors:
294317
- chris
318+
categories:
319+
- Category Name
320+
tags:
321+
- relevant-tag
295322
---
296323
```
297324
4. **Add content** following the template
@@ -345,7 +372,7 @@ The following are ignored:
345372
1. **Never modify** `.github/workflows/ci.yml` unless explicitly requested - deployment is automated and stable
346373
2. **Always test locally** before pushing changes to main branch
347374
3. **Blog posts must follow** the date-based directory structure: `YYYY/MM/DD/`
348-
4. **Frontmatter is required** for all blog posts (title, date, authors)
375+
4. **Frontmatter is required** for all blog posts (title, date, authors, categories, tags)
349376
5. **Images for blog posts** should be placed in the same directory as the post's `index.md`
350377
6. **The site uses** Material for MkDocs theme - refer to https://squidfunk.github.io/mkdocs-material/ for advanced features
351378
7. **Custom CSS** should be minimal and placed in `docs/stylesheets/extra.css`
@@ -393,6 +420,16 @@ The blog plugin is configured with:
393420

394421
For more blog plugin features, see: https://squidfunk.github.io/mkdocs-material/plugins/blog/
395422

423+
## MkDocs Material Tags Plugin Details
424+
425+
The tags plugin is configured with:
426+
- **Tags file**: `docs/tags.md` - serves as the tags index page
427+
- **Auto-generated listing**: The `<!-- material/tags -->` marker in `tags.md` is replaced with a tag cloud linking to per-tag post listings
428+
- **Frontmatter integration**: Tags are defined per-post in the `tags:` frontmatter field
429+
- **Navigation**: The Tags page is linked in the site navigation bar
430+
431+
For more tags plugin features, see: https://squidfunk.github.io/mkdocs-material/plugins/tags/
432+
396433
## Troubleshooting
397434

398435
### Build Fails
@@ -422,6 +459,7 @@ For more blog plugin features, see: https://squidfunk.github.io/mkdocs-material/
422459
- **MkDocs Documentation**: https://www.mkdocs.org
423460
- **Material for MkDocs**: https://squidfunk.github.io/mkdocs-material/
424461
- **Blog Plugin**: https://squidfunk.github.io/mkdocs-material/plugins/blog/
462+
- **Tags Plugin**: https://squidfunk.github.io/mkdocs-material/plugins/tags/
425463
- **GitHub Pages**: https://docs.github.com/en/pages
426464
- **Site**: https://weeklydevchat.github.io
427465

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ A static website for the Weekly Dev Chat community - a weekly virtual developer
1111

1212
This is a static site built with [MkDocs Material](https://squidfunk.github.io/mkdocs-material/) and hosted on GitHub Pages. The site features:
1313
- Weekly blog posts for Tuesday chat topics
14+
- Tag-based browsing to filter posts by topic
1415
- Host information and community guidelines
1516
- Sponsor information
1617
- Automatic deployment via GitHub Actions
@@ -95,6 +96,10 @@ These scripts will:
9596
date: YYYY-MM-DD
9697
authors:
9798
- chris
99+
categories:
100+
- Category Name
101+
tags:
102+
- relevant-tag
98103
---
99104
```
100105

@@ -126,6 +131,7 @@ These scripts will:
126131
├── .authors.yml # Author metadata
127132
├── index.md # Homepage
128133
├── join.md # How to join
134+
├── tags.md # Tags index page (auto-populated by tags plugin)
129135
├── hosts/ # Current hosts
130136
├── past-hosts/ # Past hosts
131137
├── sponsors/ # Sponsors
@@ -187,6 +193,7 @@ When updates are available, Dependabot creates pull requests automatically. Revi
187193
- [MkDocs Documentation](https://www.mkdocs.org)
188194
- [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/)
189195
- [Material Blog Plugin](https://squidfunk.github.io/mkdocs-material/plugins/blog/)
196+
- [Material Tags Plugin](https://squidfunk.github.io/mkdocs-material/plugins/tags/)
190197
- [GitHub Pages Documentation](https://docs.github.com/en/pages)
191198

192199
## Community

0 commit comments

Comments
 (0)