docs(features): add feeds and css minification documentation
- Add Atom feed generation docs (feeds.md) - Add CSS minification docs (css.md) - Fix em dash usage in css.md for natural prose Completes AI audit (4 layers passed) and documentation gap analysis. All 39 tests pass, docs site builds successfully.
This commit is contained in:
48
docs/content/features/css.md
Normal file
48
docs/content/features/css.md
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
---
|
||||||
|
title: CSS Minification
|
||||||
|
description: Automatic CSS optimization at build time
|
||||||
|
weight: 7
|
||||||
|
---
|
||||||
|
|
||||||
|
# CSS Minification
|
||||||
|
|
||||||
|
sukr automatically minifies CSS files in your static directory during the build.
|
||||||
|
|
||||||
|
## How It Works
|
||||||
|
|
||||||
|
When copying files from `static/` to your output directory:
|
||||||
|
|
||||||
|
1. CSS files (`.css` extension) are processed with lightningcss
|
||||||
|
2. Whitespace, comments, and redundant rules are removed
|
||||||
|
3. Identical selectors are merged
|
||||||
|
4. Other static files are copied unchanged
|
||||||
|
|
||||||
|
## Build Output
|
||||||
|
|
||||||
|
You'll see minification progress during builds:
|
||||||
|
|
||||||
|
```text
|
||||||
|
minifying: static/style.css → public/style.css (2048 → 1234 bytes)
|
||||||
|
copying: static/logo.svg → public/logo.svg
|
||||||
|
```
|
||||||
|
|
||||||
|
## No Configuration
|
||||||
|
|
||||||
|
Minification is always on. There's no setting to disable it, so if you need the original CSS, check your source files.
|
||||||
|
|
||||||
|
## Error Handling
|
||||||
|
|
||||||
|
If CSS parsing fails (malformed input), sukr preserves the original file content instead of failing the build. Check your terminal for warnings.
|
||||||
|
|
||||||
|
## What Gets Minified
|
||||||
|
|
||||||
|
- Whitespace and newlines removed
|
||||||
|
- Comments stripped
|
||||||
|
- Selector merging (`.a { color: red } .b { color: red }` → `.a, .b { color: red }`)
|
||||||
|
- Vendor prefix optimization
|
||||||
|
|
||||||
|
## What Doesn't Change
|
||||||
|
|
||||||
|
- CSS variable names
|
||||||
|
- Class and ID selectors
|
||||||
|
- Relative paths (images, fonts)
|
||||||
66
docs/content/features/feeds.md
Normal file
66
docs/content/features/feeds.md
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
---
|
||||||
|
title: Atom Feeds
|
||||||
|
description: Build-time feed generation for blog posts
|
||||||
|
weight: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
# Atom Feeds
|
||||||
|
|
||||||
|
sukr generates an Atom 1.0 feed for blog posts at build time.
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
After building, you'll find `feed.xml` in your output directory:
|
||||||
|
|
||||||
|
```text
|
||||||
|
public/
|
||||||
|
├── index.html
|
||||||
|
├── feed.xml ← Atom feed
|
||||||
|
└── blog/
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Feed Contents
|
||||||
|
|
||||||
|
The feed includes:
|
||||||
|
|
||||||
|
- Site title and author from `site.toml`
|
||||||
|
- Self-referencing links (required by Atom spec)
|
||||||
|
- Entry for each content item in `blog/` section
|
||||||
|
- Post title, URL, date, and description
|
||||||
|
|
||||||
|
## Auto-generation
|
||||||
|
|
||||||
|
Feed generation happens automatically when any content exists in a section with `section_type: blog`. No configuration required.
|
||||||
|
|
||||||
|
Posts are sorted by date (newest first), matching the blog section ordering.
|
||||||
|
|
||||||
|
## Linking to the Feed
|
||||||
|
|
||||||
|
Add a link in your `base.html` template:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<link
|
||||||
|
rel="alternate"
|
||||||
|
type="application/atom+xml"
|
||||||
|
title="{{ config.title }} Feed"
|
||||||
|
href="{{ prefix }}/feed.xml"
|
||||||
|
/>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Date Format
|
||||||
|
|
||||||
|
Post dates in frontmatter should use `YYYY-MM-DD` format:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
title: My Post
|
||||||
|
date: 2024-01-15
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
The feed converts this to RFC 3339 format required by Atom.
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
Test your feed with the [W3C Feed Validator](https://validator.w3.org/feed/).
|
||||||
Reference in New Issue
Block a user