You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
├── tags.md # Tags index page (auto-populated by tags plugin)
39
40
├── past_topics.md # Archived topics (excluded from build)
40
41
├── hosts/
41
42
│ └── index.md # Current hosts page
@@ -76,9 +77,14 @@ This is the **Weekly Dev Chat** website, a static site built with MkDocs Materia
76
77
2.**blog**: Enables blog functionality
77
78
- Blog directory: Root (`.`)
78
79
- 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
79
84
80
85
### Navigation Structure
81
86
- Home (index.md)
87
+
- Tags (tags.md)
82
88
- Join (join.md)
83
89
- Hosts (hosts/index.md)
84
90
- Past Hosts (past-hosts/index.md)
@@ -113,9 +119,25 @@ title: "Your Blog Post Title"
113
119
date: YYYY-MM-DD
114
120
authors:
115
121
- 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
116
126
---
117
127
```
118
128
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
+
119
141
### Post Content Template
120
142
```markdown
121
143
TOPIC_INTRODUCTION_HERE
@@ -265,6 +287,7 @@ The following are ignored:
265
287
### For Content Changes
266
288
- `docs/index.md`- Homepage content
267
289
- `docs/join.md`- Join instructions
290
+
- `docs/tags.md`- Tags index page (content auto-generated by tags plugin)
268
291
- `docs/hosts/index.md`- Current hosts information
269
292
- `docs/sponsors/index.md`- Sponsor information
270
293
- `docs/posts/YYYY/MM/DD/index.md`- Blog posts
@@ -292,6 +315,10 @@ The following are ignored:
292
315
date: YYYY-MM-DD
293
316
authors:
294
317
- chris
318
+
categories:
319
+
- Category Name
320
+
tags:
321
+
- relevant-tag
295
322
---
296
323
```
297
324
4. **Add content** following the template
@@ -345,7 +372,7 @@ The following are ignored:
345
372
1. **Never modify** `.github/workflows/ci.yml` unless explicitly requested - deployment is automated and stable
346
373
2. **Always test locally** before pushing changes to main branch
347
374
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)
349
376
5. **Images for blog posts** should be placed in the same directory as the post's `index.md`
350
377
6. **The site uses** Material for MkDocs theme - refer to https://squidfunk.github.io/mkdocs-material/ for advanced features
351
378
7. **Custom CSS** should be minimal and placed in `docs/stylesheets/extra.css`
@@ -393,6 +420,16 @@ The blog plugin is configured with:
393
420
394
421
For more blog plugin features, see: https://squidfunk.github.io/mkdocs-material/plugins/blog/
395
422
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
+
396
433
## Troubleshooting
397
434
398
435
### Build Fails
@@ -422,6 +459,7 @@ For more blog plugin features, see: https://squidfunk.github.io/mkdocs-material/
0 commit comments