Document author setting for Atom feeds
**Date deduplication:** Atom requires unique `<updated>` timestamps per entry. Items sharing the same date get seconds incremented to preserve sort order. **Cache-Control for assets:** JSON/GeoJSON get 60s TTL; others get 1 year immutable.
This commit is contained in:
parent
611bf75576
commit
33943a907b
2 changed files with 6 additions and 1 deletions
|
|
@ -54,6 +54,7 @@ Returns flat key-value array with a special `_raw` key containing the full parse
|
||||||
| `order` | string | `"descending"` | List sort direction (`ascending`\|`descending`) |
|
| `order` | string | `"descending"` | List sort direction (`ascending`\|`descending`) |
|
||||||
| `redirect` | string | — | External URL (list items can redirect) |
|
| `redirect` | string | — | External URL (list items can redirect) |
|
||||||
| `feed` | bool | `false` | Enable Atom feed on list pages (`feed.xml`) |
|
| `feed` | bool | `false` | Enable Atom feed on list pages (`feed.xml`) |
|
||||||
|
| `author` | string | title | Atom feed author name (falls back to page title) |
|
||||||
| `plugins` | string | — | Comma-separated page-level plugin names |
|
| `plugins` | string | — | Comma-separated page-level plugin names |
|
||||||
|
|
||||||
### Settings Section
|
### Settings Section
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,8 @@ Handled in `router.php` before `parseRequestPath()`. When a request path ends wi
|
||||||
|
|
||||||
Feed piggybacks on the existing Markdown cache — no separate feed cache needed. The `rawDate` field on items provides ISO dates for Atom `<updated>` elements. Content is wrapped in `<![CDATA[...]]>` with `]]>` safely escaped.
|
Feed piggybacks on the existing Markdown cache — no separate feed cache needed. The `rawDate` field on items provides ISO dates for Atom `<updated>` elements. Content is wrapped in `<![CDATA[...]]>` with `]]>` safely escaped.
|
||||||
|
|
||||||
|
**Date deduplication:** Atom requires unique `<updated>` timestamps per entry. Items sharing the same date get seconds incremented (`T00:00:00Z`, `T00:00:01Z`, etc.) to ensure uniqueness while preserving sort order.
|
||||||
|
|
||||||
## Markdown Caching
|
## Markdown Caching
|
||||||
|
|
||||||
Defined in `app/cache.php`. File-based cache in `/tmp/folderweb_cache/`.
|
Defined in `app/cache.php`. File-based cache in `/tmp/folderweb_cache/`.
|
||||||
|
|
@ -87,7 +89,9 @@ Files not in this list are not served as static assets.
|
||||||
|
|
||||||
### Custom Assets (router.php)
|
### Custom Assets (router.php)
|
||||||
|
|
||||||
Files in `custom/assets/` are served at the document root URL. Example: `custom/assets/favicon.ico` → `/favicon.ico`. Uses `mime_content_type()` for MIME detection.
|
Files in `custom/assets/` are served at the document root URL. Example: `custom/assets/favicon.ico` → `/favicon.ico`. Uses an explicit MIME type map; falls back to `application/octet-stream`.
|
||||||
|
|
||||||
|
Cache-Control headers: `json` and `geojson` files get `max-age=60` (short TTL for data files); all other asset types get `max-age=31536000` (1 year, immutable).
|
||||||
|
|
||||||
### Framework Assets (static.php)
|
### Framework Assets (static.php)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue