mirror of
https://github.com/pawroman/zola-theme-terminimal.git
synced 2025-01-06 19:01:04 +01:00
Compare commits
19 commits
c84d03c60d
...
8fc4001c4f
Author | SHA1 | Date | |
---|---|---|---|
8fc4001c4f | |||
5017bf67a0 | |||
640d3feb77 | |||
6c8a4b3a87 | |||
2bb4eb9ee2 | |||
ec0b182d0f | |||
c5f29a69ec | |||
3d03d06460 | |||
b69654d06c | |||
7f630a4e31 | |||
26ab720d51 | |||
dbef3fa69a | |||
d0bb9da1d1 | |||
c620187811 | |||
74521c02b5 | |||
cf114ec7e2 | |||
4be31aa151 | |||
0ced77898f | |||
bef4cc9020 |
21
LICENSE-Feather.md
Normal file
21
LICENSE-Feather.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-2023 Cole Bemis
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
39
README.md
39
README.md
|
@ -8,7 +8,9 @@
|
|||
See the live demo (of the default configuration) here:
|
||||
https://pawroman.github.io/zola-theme-terminimal/
|
||||
|
||||
Tested with Zola v0.17.2. Please note that earlier versions might not work because of breaking changes across Zola versions.
|
||||
Tested with Zola v0.19.2.
|
||||
|
||||
Please note that earlier (and older) versions might not work because of breaking changes across Zola versions.
|
||||
|
||||
#### Fork disclaimer
|
||||
|
||||
|
@ -346,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_feeds = true
|
||||
author = "yourself@email.com"
|
||||
|
||||
# Use `rss.xml` for RSS feeds and `atom.xml` for ATOM.
|
||||
feed_filenames = ["rss.xml", "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
|
||||
|
|
|
@ -6,10 +6,10 @@ title = "Zola Terminimal theme"
|
|||
compile_sass = true
|
||||
|
||||
# The theme supports feeds (RSS and ATOM)
|
||||
generate_feed = true
|
||||
generate_feeds = true
|
||||
|
||||
# Use `rss.xml` for RSS feeds and `atom.xml` for ATOM.
|
||||
feed_filename = "atom.xml"
|
||||
feed_filenames = ["rss.xml", "atom.xml"]
|
||||
|
||||
# Optional: enable tags
|
||||
taxonomies = [
|
||||
|
@ -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"
|
||||
|
||||
|
|
|
@ -13,14 +13,18 @@
|
|||
|
||||
{%- block open_graph %}{{ head_macros::open_graph(config=config) }}{% endblock open_graph -%}
|
||||
|
||||
{%- if config.generate_feed %}
|
||||
{%- if "rss" in config.feed_filename %}
|
||||
{% set feed_type = 'rss+xml' %}
|
||||
{%- else %}
|
||||
{% set feed_type = 'atom+xml' %}
|
||||
{% endif -%}
|
||||
<link rel="alternate" type="application/{{ feed_type }}" title="RSS" href="{{ get_url(path=config.feed_filename) | safe }}">
|
||||
{% endif -%}
|
||||
{%- if config.generate_feeds %}
|
||||
{%- for feed in config.feed_filenames %}
|
||||
{%- if feed is containing('atom') %}
|
||||
<link rel="alternate" type="application/atom+xml" title="{{ config.title }} Atom Feed" href="{{ get_url(path=feed, trailing_slash=false, lang=lang) | safe }}" />
|
||||
{%- endif %}
|
||||
|
||||
{%- if feed is containing('rss') %}
|
||||
<link rel="alternate" type="application/rss+xml" title="{{ config.title }} RSS Feed" href="{{ get_url(path=feed, trailing_slash=false, lang=lang) | safe }}" />
|
||||
{%- endif %}
|
||||
|
||||
{%- endfor %}
|
||||
{%- endif -%}
|
||||
|
||||
{%- if config.extra.favicon %}
|
||||
<link rel="shortcut icon" type="{{ config.extra.favicon_mimetype | default(value="image/x-icon") | safe }}" href="{{ config.extra.favicon | safe }}">
|
||||
|
|
|
@ -38,11 +38,45 @@
|
|||
<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_feeds %}
|
||||
{%- for feed in config.feed_filenames %}
|
||||
{%- if feed is containing('rss') %}
|
||||
<a rel="alternate" type="application/rss+xml" title="RSS Feed" href="{{ get_url(path=feed, trailing_slash=false, lang=lang) | safe }}" />
|
||||
{% endif -%}
|
||||
{%- if feed is containing('atom') %}
|
||||
<a rel="alternate" type="application/atom+xml" title="ATOM Feed" href="{{ get_url(path=feed, trailing_slash=false, lang=lang) | safe }}" />
|
||||
{% endif -%}
|
||||
{% endfor -%}
|
||||
|
||||
<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>
|
||||
|
|
|
@ -33,31 +33,33 @@
|
|||
|
||||
|
||||
{% macro earlier_later(page) %}
|
||||
{%- if config.extra.enable_post_view_navigation and page.lower or page.higher %}
|
||||
<div class="pagination">
|
||||
<div class="pagination__title">
|
||||
<span class="pagination__title-h">{{ config.extra.post_view_navigation_prompt }}</span>
|
||||
<hr />
|
||||
{%- if config.extra.enable_post_view_navigation %}
|
||||
{%- if page.lower or page.higher %}
|
||||
<div class="pagination">
|
||||
<div class="pagination__title">
|
||||
<span class="pagination__title-h">{{ config.extra.post_view_navigation_prompt }}</span>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="pagination__buttons">
|
||||
{%- if page.higher %}
|
||||
<span class="button previous">
|
||||
<a href="{{ page.higher.permalink | safe }}">
|
||||
<span class="button__icon">←</span>
|
||||
<span class="button__text">{{ page.higher.title }}</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if page.lower %}
|
||||
<span class="button next">
|
||||
<a href="{{ page.lower.permalink | safe }}">
|
||||
<span class="button__text">{{ page.lower.title }}</span>
|
||||
<span class="button__icon">→</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endif -%}
|
||||
</div>
|
||||
</div>
|
||||
<div class="pagination__buttons">
|
||||
{%- if page.higher %}
|
||||
<span class="button previous">
|
||||
<a href="{{ page.higher.permalink | safe }}">
|
||||
<span class="button__icon">←</span>
|
||||
<span class="button__text">{{ page.higher.title }}</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% if page.lower %}
|
||||
<span class="button next">
|
||||
<a href="{{ page.lower.permalink | safe }}">
|
||||
<span class="button__text">{{ page.lower.title }}</span>
|
||||
<span class="button__icon">→</span>
|
||||
</a>
|
||||
</span>
|
||||
{% endif -%}
|
||||
</div>
|
||||
</div>
|
||||
{% endif -%}
|
||||
{% endif -%}
|
||||
{% endmacro earlier_later %}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% if src %}
|
||||
<figure class="{% if position %}{{ position }}{% else -%} center {%- endif %}" >
|
||||
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %}{% if style %} style="{{ style }}"{% endif %} />
|
||||
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %}{% if style %} style="{{ style }}"{% endif %} decoding="async" loading="lazy"/>
|
||||
{% if caption %}
|
||||
<figcaption class="{% if caption_position %}{{ caption_position }}{% else -%} center {%- endif %}"{% if caption_style %} style="{{ caption_style | safe }}"{% endif %}>{{ caption | markdown() | safe }}</figcaption>
|
||||
{% endif %}
|
||||
|
|
|
@ -4,5 +4,5 @@
|
|||
{# ... then prepend the site's base URL to the image's URL. #}
|
||||
{% set src = config.base_url ~ src %}
|
||||
{% endif %}
|
||||
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %} class="{% if position %}{{ position }}{% else -%} center {%- endif %}" {%- if style %} style="{{ style | safe }}" {%- endif %} />
|
||||
<img src="{{ src | safe }}"{% if alt %} alt="{{ alt }}"{% endif %} class="{% if position %}{{ position }}{% else -%} center {%- endif %}" {%- if style %} style="{{ style | safe }}" {%- endif %} decoding="async" loading="lazy"/>
|
||||
{% endif %}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
({{ term.pages | length }} post{{ term.pages | length | pluralize }})
|
||||
</h1>
|
||||
|
||||
<a href="{{ config.base_url | safe }}/tags">
|
||||
<a href="{{ config.base_url | safe }}/tags/">
|
||||
Show all tags
|
||||
</a>
|
||||
|
||||
|
|
Loading…
Reference in a new issue