Tag System

OmarCMS uses a centralized tag taxonomy to keep your content organized and prevent tag sprawl.

How Tags Work

Instead of allowing arbitrary tags, you define a curated list in src/data/tags.json. This keeps your blog organized and makes it easier for readers to discover related content.

Defining Tags

Edit src/data/tags.json:

{
  "tags": [
    {
      "id": "AI",
      "name": "AI",
      "description": "Artificial intelligence, machine learning, and LLMs"
    },
    {
      "id": "philosophy",
      "name": "Philosophy",
      "description": "Deep thinking and existential questions"
    },
    {
      "id": "code",
      "name": "Code",
      "description": "Programming, development, and technical topics"
    }
  ]
}

Using Tags in Posts

Add tags to your post frontmatter:

---
title: "My Post"
date: "2026-02-14"
tags: ["AI", "philosophy"]
---

Tag Filtering

The blog index page includes tag filters. Readers can click a tag to see all posts with that tag. The tag filter state persists in the URL.

Best Practices

  • Keep it small - 5-10 core topics work better than 50 tags
  • Use broad categories - "AI" not "machine-learning-transformers"
  • Add tags as needed - Start small, expand as your content grows
  • Write descriptions - Help readers understand what each tag covers

Why Centralized Tags?

Most blogging platforms let you create tags on the fly. This leads to:

  • Inconsistent naming ("AI" vs "artificial-intelligence" vs "ai")
  • Too many one-off tags that never get reused
  • Confusing taxonomy that doesn't help readers

A curated tag list forces intentionality. You think about how your content fits together before publishing, not after.