Add configurable file exclusion for Atom feeds

Replaces hardcoded script and style stripping with a substring-based
exclusion list defined in custom/config.ini. Excluded files continue
to render on actual web pages.
This commit is contained in:
Ruben 2026-05-10 21:27:22 +02:00
parent 0866fe93ba
commit a22281c896
3 changed files with 34 additions and 7 deletions

View file

@ -85,6 +85,18 @@ To disable all plugins, leave the value empty:
enabled = ""
```
### `[feed]`
Exclude content files from Atom feed rendering. Files are matched by substring against their basename.
```ini
[feed]
exclude_files = "nyhetsbrev, petition-form"
```
Comma-separated substrings. `"nyhetsbrev"` excludes `20-nyhetsbrev.php`, `_35-nyhetsbrev.php` etc.
Excluded files still render on actual pages — only feed output is affected.
### Custom Sections
Add your own configuration sections for custom plugins:
@ -275,6 +287,7 @@ FolderWeb doesn't enforce a schema—you can add any sections and keys you need.
| `languages` | `default` | string | `"en"` | Default language code |
| `languages` | `available` | string | `"en,no"` | Comma-separated language codes |
| `plugins` | `enabled` | string | `"languages"` | Comma-separated plugin names |
| `feed` | `exclude_files` | string | `""` | Comma-separated substrings to exclude from feed rendering |
All other sections are custom and plugin-specific.

View file

@ -208,6 +208,10 @@ feed = true
**Applies to:** List pages only (directories with subdirectories)
**Effect:** Generates an Atom XML feed containing the full rendered content of each list item. Also adds an autodiscovery `<link>` tag in the HTML `<head>`.
**Content inclusion:** By default, all content files in each item's directory are rendered into the feed entry. This includes `.md` files and `.php` templates — anything that would render on the actual page.
If certain files should be excluded from the feed (e.g., newsletter signup forms, interactive widgets), use the `[feed] exclude_files` config option in `custom/config.ini`. See [Configuration Reference → Feed](01-configuration.md#feed).
## Language-Specific Overrides
Add language-specific sections to override fields: