This commit is contained in:
Valerio Viperino 2024-08-17 18:15:26 +02:00 committed by GitHub
commit 31456bab50
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 73 additions and 3 deletions

View file

@ -348,6 +348,41 @@ page_titles = "combined"
All the configuration options are also described in
[`config.toml`](../master/config.toml).
### RSS
This theme supports RSS feeds.
To enable RSS you need to set those 3 configuration settings to valid values:
```toml
generate_feed = true
author = "yourself@email.com"
# Use `rss.xml` for RSS feeds and `atom.xml` for ATOM.
feed_filename = "atom.xml"
```
Note that `author` is also required as part of the RSS spec.
You can read more on https://www.getzola.org/documentation/templates/feeds/ about the potential values, since RFC 4287 requires author to be a name and not an email.
To add an RSS icon to the main menu, you can add this entry to the `menu_items` :
```toml
menu_items = [
# RSS
{name = "", url = "$BASE_URL/$FEED_FILENAME"}
]
```
You can also customize the color of the RSS icon by changing the `rss_icon_color`:
```toml
[extra]
# ...
rss_icon_color = "#ee802f"
```
## Extending
Each of the templates defines named blocks, so

View file

@ -34,6 +34,9 @@ accent_color = "blue"
# Defaults to accent color (or, if not accent color specified, to blue).
background_color = "blue"
# You can set this to any rgb hex value.
rss_icon_color = "#ee802f"
# The logo text - defaults to "Terminimal theme"
logo_text = "Terminimal theme"

View file

@ -38,11 +38,43 @@
<ul class="menu__inner">
{%- for item in menu_items %}
<li {%- if current_item and current_item == item %} class="active" {%- endif %}>
{%- if item.newtab -%}
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}" target="_blank" rel="noopener noreferrer">{{ item.name | safe }}</a>
<!-- RSS -->
{%- set is_rss = item.url == "$BASE_URL/$FEED_FILENAME" -%}
{%- if config.extra.rss_icon_color %}
{%- set rss_icon_color = config.extra.rss_icon_color %}
{%- else %}
{%- set rss_icon_color = "#ee802f" %}
{%- endif %}
{%- if is_rss -%}
{%- if config.generate_feed %}
{%- if config.feed_filename == "rss.xml" %}
{% set feed_type = 'rss+xml' %}
{%- else %}
{% set feed_type = 'atom+xml' %}
{% endif -%}
<a type="application/{{feed_type}}" title="RSS" href="{{ get_url(path=config.feed_filename) | safe }}">
<svg id="rss-icon" xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 32 32" fill="none" stroke="{{rss_icon_color}}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-rss">
<g transform="translate(0,5)">
<path d="M4 11a9 9 0 0 1 9 9"></path>
<path d="M4 4a16 16 0 0 1 16 16"></path>
<circle cx="5" cy="19" r="1"></circle>
</g>
</svg>
</a>
{% endif -%}
{%- else -%}
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}">{{ item.name | safe }}</a>
{%- if item.newtab -%}
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}" target="_blank" rel="noopener noreferrer">{{ item.name | safe }}</a>
{%- else -%}
<a href="{{ item.url | replace(from="$BASE_URL", to=config.base_url) | safe }}">{{ item.name | safe }}</a>
{%- endif -%}
{%- endif -%}
</li>
{% endfor -%}
</ul>