v0.18.0 - Tag Page Generation

This release introduces tag page generation, an experimental feature that automatically generates archive pages for blog posts organized by tag.

What's New

Tag Page Generation (Experimental)

vss can now automatically generate tag pages that list all posts with a specific tag. This is useful for organizing content by topic or category.

Note: This feature is experimental and may undergo breaking changes in future releases.

Getting Started

1. Enable Tags in Configuration

Add the tag configuration to your vss.toml:

[build.tags]
enable = true
template = "tags/default.html"
url_pattern = "/tags/{tag}/"

2. Add Tags to Posts

Add tags to your post's front matter:

---
title: "My Post"
description: "Post description"
tags: ["python", "tutorial"]
---

3. Create Tag Template

Create a template at layouts/tags/default.html to control how tag pages are rendered:

<!DOCTYPE html>
<html>
<head>
    <title>Posts tagged "{{tag_name}}"</title>
</head>
<body>
    <h1>Posts tagged "{{tag_name}}"</h1>
    <ul>
        {{#posts}}
        <li><a href="{{url}}">{{title}}</a></li>
        {{/posts}}
    </ul>
</body>
</html>

Template Variables

The tag template has access to the following variables:

Example

If you have posts tagged with "rust", vss will automatically generate a page at /tags/rust/ listing all posts with that tag.

Files Generated

For each unique tag used in your posts, vss generates:

dist/tags/{tag}/index.html

Limitations and Notes

Future Changes

This feature is marked as experimental. Future versions may introduce:

For more information, see the CHANGELOG.