Fix for header and OpenGraph metadata

This commit is contained in:
lubuwest 2023-03-21 21:37:39 +01:00
parent 3e44f7cbb5
commit 692abfdf35
8 changed files with 286 additions and 277 deletions

164
README.md
View File

@ -1,79 +1,85 @@
## simplyOpen ##
## Screenshot ##
![screenshot](screenshot.png)
## Options ##
Theme inspired by the mkdocs default theme, without all the datadealer (Google, Twitter, Facebook) stuff. [Federation Widget](https://github.com/LubuWest/federation-widget) in sidebar (works currently only with Friendica). Social links to Mastodon, Matrix, Friendica, Diaspora, Misskey,...
EMail and License is displayed in the footer.
Javascript only used for Federation Widget.
Configuration in pelicanconf.py:
```
EMAIL='x@y.com'
SOCIAL = (('Diaspora', 'https://diasp.eu/...'),
('Friendica', 'https://friendica.eu/profile/...'),
('Forgejo', 'https://codeberg.org...'),
('Funkwhale', 'https://abc.de/...'),
('Gitea', 'https://abc.de/...'),
('Github', 'https://github.com/...'),
('Gitlab', 'https://gitlab.com/...'),
('Gnusocial', 'https://www.gnusocial.no/...'),
('Hubzilla', 'https://abc.de/...'),
('Mastodon', 'https://mastodon.social/...'),
('Matrix', 'https://mastodon.social/...'),
('Misskey', 'https://misskey.com/...'),
('Movim', 'https://pod.movim.eu/?q=...'),
('Peertube', 'https://peertube.com/'),
('Pixelfed', 'https://pixelfed.com/...'),
('Pleroma', 'https://pleroma.com/...'),
('Pixelfed', 'https://pixelfed.com/...'),
('Plume', 'http://plume.come/'),
('Pixelfed', 'https://pixelfed.com/...'),
('Pump.io', 'https://pump.io/...'),
('RedMatrix', 'https://red.com/...'),
('XMPP', 'abc@jabber.de'))
# License (choose one)
LICENSE = 'CC-BY-SA', 'CC-BY', 'CC-BY-NC', 'CC-BY-NC-SA', 'ALL RIGHTS RESERVED'
FEDERATION_TIMELINE = (('domain','https://loma.ml'), # CORS headers must be set at the Friendica server, add the following to .htaccess
# Header add Access-Control-Allow-Origin "https://myblog.com"
# Header add Access-Control-Allow-Methods: "GET"
('user','startrek'),
('max','5'),
('type','user'), # could be 'group' to follow a group
('servertype','friendica'),) # could be 'diaspora', 'friendica' or 'hubzilla'
```
## Project documentation ##
For displaying project Markdown files as website similar to mkdocs, additional parameters should be set:
```
CATEGORIES_ON_SIDEBAR = 'left' # 'right' or 'none'
# If 'left', directory names are used as menu button. If files are not in subdirectories, filenames are used
FILENAME_METADATA = '(?P<title>.*)' # to retrieve the title from filename, if there is no Title field in te Markdown file
DEFAULT_DATE = 'fs' # to retrieve the date from file savedate of file, if there is no Date field in te Markdown file
# last saved file will be used as the start page of the website
STATIC_PATHS = ['Screenshots'] # place of image files should be set
SITEDESCRIPTION = 'Lorem ipsum dolor sit ..' # Additional text shown on the start page
DISPLAY_PAGES_ON_MENU = True # Markdown files in the 'pages' directory are shown as links in the header
```
## Credits ##
* Icons copyright by their respective owners
## License ##
In line with Federation Widget (https://git.friendi.ca/lubuwest/Federation-widget) this template is under the [WTF Public License](http://sam.zoy.org/wtfpl/COPYING).
\## simplyOpen ##
## Screenshot
![screenshot](screenshot.png)
## Options
Theme inspired by the mkdocs default theme, without all the datadealer (Google, Twitter, Facebook) stuff. [Federation Widget](https://github.com/LubuWest/federation-widget) in sidebar (works currently only with Friendica). Social links to Mastodon, Matrix, Friendica, Diaspora, Misskey,...
EMail and License is displayed in the footer.
Javascript only used for Federation Widget.
Configuration in pelicanconf.py:
```
EMAIL='x@y.com'
SOCIAL = (('Diaspora', 'https://diasp.eu/...'),
('Friendica', 'https://friendica.eu/profile/...'),
('Forgejo', 'https://codeberg.org...'),
('Funkwhale', 'https://abc.de/...'),
('Gitea', 'https://abc.de/...'),
('Github', 'https://github.com/...'),
('Gitlab', 'https://gitlab.com/...'),
('Gnusocial', 'https://www.gnusocial.no/...'),
('Hubzilla', 'https://abc.de/...'),
('Mastodon', 'https://mastodon.social/...'),
('Matrix', 'https://mastodon.social/...'),
('Misskey', 'https://misskey.com/...'),
('Movim', 'https://pod.movim.eu/?q=...'),
('Peertube', 'https://peertube.com/'),
('Pixelfed', 'https://pixelfed.com/...'),
('Pleroma', 'https://pleroma.com/...'),
('Pixelfed', 'https://pixelfed.com/...'),
('Plume', 'http://plume.come/'),
('Pixelfed', 'https://pixelfed.com/...'),
('Pump.io', 'https://pump.io/...'),
('RedMatrix', 'https://red.com/...'),
('XMPP', 'abc@jabber.de'))
# License (choose one)
LICENSE = 'CC-BY-SA', 'CC-BY', 'CC-BY-NC', 'CC-BY-NC-SA', 'ALL RIGHTS RESERVED'
FEDERATION_TIMELINE = (('domain','https://loma.ml'), # Activate Apache headers module:
# a2enmod headers
# CORS headers must be set at the Friendica server, add the following to .htaccess
# Header add Access-Control-Allow-Origin "https://myblog.com"
# Header add Access-Control-Allow-Methods: "GET"
('user','startrek'),
('max','5'),
('type','user'), # could be 'group' to follow a group
('servertype','friendica'),) # could be 'diaspora', 'friendica' or 'hubzilla'
```
## Project documentation
For displaying project Markdown files as website similar to mkdocs, additional parameters should be set:
```
CATEGORIES_ON_SIDEBAR = 'left' # 'right' or 'none'
# If 'left', directory names are used as menu button. If files are not in subdirectories, filenames are used
FILENAME_METADATA = '(?P<title>.*)' # to retrieve the title from filename, if there is no Title field in te Markdown file
DEFAULT_DATE = 'fs' # to retrieve the date from file savedate of file, if there is no Date field in te Markdown file
# last saved file will be used as the start page of the website
STATIC_PATHS = ['Screenshots'] # place of image files should be set
SITEDESCRIPTION = 'Lorem ipsum dolor sit ..' # Additional text shown on the start page
DISPLAY_PAGES_ON_MENU = True # Markdown files in the 'pages' directory are shown as links in the header
```
## Credits
* Icons copyright by their respective owners
## License
In line with Federation Widget (https://git.friendi.ca/lubuwest/Federation-widget) this template is under the [WTF Public License](http://sam.zoy.org/wtfpl/COPYING).

View File

@ -32,7 +32,6 @@ html {
body {
font-family: 'Verdana', sans-serif;
font-size: 16px;
line-height: 150%;
text-align: left;
padding: 0;
@ -45,7 +44,7 @@ header {
[role=banner]{
background-image: linear-gradient(#54b4eb, #2FA4E7 60%, #1d9ce5);
height: auto; /*50px;*/
height: auto;
line-height: 50px;
padding: 0 1%;
position: fixed;
@ -171,7 +170,7 @@ h1, h2, h3, h4, h5, h6 {
}
h1 {
font-size: 2em;
font-size: 1.8em;
margin: 0.67em 0;
padding: 0.7em 0 0.3em;
}
@ -267,38 +266,36 @@ ol.archive li .tags
.social li {
clear: both;
margin-bottom: 15px;
}
.social a {}
.social i {
float: left;
margin-right: 3px;
padding-top: 4px;
.social a {
border-bottom: none;
}
.social a[id*='Buddycloud'] + i:before {content: url('../images/icons/buddycloud-18px.png'); }
.social a[id*='Diaspora'] + i:before {content: url('../images/icons/Diaspora-18px.png'); }
.social a[id*='Friendica'] + i:before {content: url('../images/icons/friendica-18px.png'); }
.social a[id*='Forgejo'] + i:before {content: url('../images/icons/forgejo-18px.png'); }
.social a[id*='Funkwhale'] + i:before {content: url('../images/icons/funkwhale-16.png'); }
.social a[id*='Gitea'] + i:before {content: url('../images/icons/gitea-18px.png'); }
.social a[id*='Github'] + i:before {content: url('../images/icons/github-18px.png'); }
.social a[id*='Gitlab'] + i:before {content: url('../images/icons/gitlab-18px.png'); }
.social a[id*='Gnusocial'] + i:before {content: url('../images/icons/gnusocial-18px.png'); }
.social a[id*='Hubzilla'] + i:before {content: url('../images/icons/hubzilla-16.png'); }
.social a[id*='Mastodon'] + i:before {content: url('../images/icons/mastodon-18px.png'); }
.social a[id*='Matrix'] + i:before {content: url('../images/icons/matrix-16.png'); }
.social a[id*='Misskey'] + i:before {content: url('../images/icons/misskey-18px.png'); }
.social a[id*='Movim'] + i:before {content: url('../images/icons/movim-18px.png'); }
.social a[id*='Peertube'] + i:before {content: url('../images/icons/peertube-18px.png'); }
.social a[id*='Pixelfed'] + i:before {content: url('../images/icons/pixelfed-18px.png'); }
.social a[id*='Pleroma'] + i:before {content: url('../images/icons/pleroma-18px.png'); }
.social a[id*='Plume'] + i:before {content: url('../images/icons/plume-16.png'); }
.social a[id*='Pump.io'] + i:before {content: url('../images/icons/pumpio-18px.png'); }
.social a[id*='RedMatrix'] + i:before {content: url('../images/icons/redmatrix-18px.png'); }
.social a[id*='XMPP'] + i:before {content: url('../images/icons/xmpp-18px.png'); }
.social a[href*='rss.xml']:before {content: url('../images/icons/feed-18px.png'); }
.social a[href*='atom.xml']:before {content: url('../images/icons/feed-18px.png'); }
.social a[id*='Buddycloud']::before {content: url('../images/icons/buddycloud-18px.png'); margin-right: 5px; vertical-align: -15%; }
.social a[id*='Diaspora']::before {content: url('../images/icons/Diaspora-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Friendica']::before {content: url('../images/icons/friendica-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Forgejo']::before {content: url('../images/icons/forgejo-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Funkwhale']::before {content: url('../images/icons/funkwhale-16.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Gitea']::before {content: url('../images/icons/gitea-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Github']::before {content: url('../images/icons/github-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Gitlab']::before {content: url('../images/icons/gitlab-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Gnusocial']::before {content: url('../images/icons/gnusocial-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Hubzilla']::before {content: url('../images/icons/hubzilla-16.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Mastodon']::before {content: url('../images/icons/mastodon-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Matrix']::before {content: url('../images/icons/matrix-16.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Misskey']::before {content: url('../images/icons/misskey-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Movim']::before {content: url('../images/icons/movim-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Peertube']::before {content: url('../images/icons/peertube-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Pixelfed']::before {content: url('../images/icons/pixelfed-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Pleroma']::before {content: url('../images/icons/pleroma-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Plume']::before {content: url('../images/icons/plume-16.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='Pump.io']::before {content: url('../images/icons/pumpio-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='RedMatrix']::before {content: url('../images/icons/redmatrix-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[id*='XMPP']::before {content: url('../images/icons/xmpp-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[href*='rss.xml']:before {content: url('../images/icons/feed-18px.png'); margin-right: 5px; vertical-align: -15%;}
.social a[href*='atom.xml']:before {content: url('../images/icons/feed-18px.png'); margin-right: 5px; vertical-align: -15%;}
/* Tag cloud */
@ -447,7 +444,6 @@ background: white;
body {
min-width: 300px;
max-width: 600px;
}
.container {

BIN
static/images/pelican.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -1,8 +1,9 @@
{% extends "base.html" %}
{% extends "base.html" %}
{% block title %}{{ article.title }} - {{ SITENAME }}{% endblock %}
{% block extra_meta %}
<meta name="description" content="{{ article.summary|striptags }}">
<meta property=og:description content="{{ article.summary|striptags }}" />
<meta property=og:title content="{{ article.title }}" />
{% endblock %}
{% block content %}
<article class="full">
@ -15,4 +16,4 @@
</div>
<script type="text/javascript" src=./theme/js/friendica_comments.js></script>
{% endif %}
{% endblock %}
{% endblock %}

View File

@ -1,168 +1,165 @@
<!DOCTYPE html>
<html lang="{{ HTML_LANG }}">
<!DOCTYPE html>
<html lang="{{ DEFAULT_LANG }}">
<head>
<meta charset="utf-8"/>
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
<meta name="author" content="{{ AUTHOR }}">
{% block extra_meta %}
{% endblock %}
<meta charset="utf-8"/>
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
<meta name="author" content="{{ AUTHOR }}">
<meta property=og:site_name content="{{ SITENAME }}" />
<meta property=og:type content=article />
<meta property=og:url content="{{ SITEURL }}" />
<meta property=og:image content="{{ SITEURL }}/theme/images/pelican.png" />
{% block extra_meta %}
{% endblock %}
<link rel="top" href="#" />
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ CSS_FILE }}" type="text/css" />
{% block scripts %}
{% if FRIENDICA_COMMENTS %}
<script type="text/javascript">
var friendica_domain = "{{ FRIENDICA_COMMENTS }}"
</script>
{% endif %}
{% endblock %}
<link rel="top" href="#" />
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ CSS_FILE }}" type="text/css" />
{% block scripts %}
{% if FRIENDICA_COMMENTS %}
<script type="text/javascript">
var friendica_domain = "{{ FRIENDICA_COMMENTS }}"
</script>
{% endif %}
{% endblock %}
{% if FEED_ALL_ATOM %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
{% endif %}
{% if FEED_ALL_RSS %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
{% endif %}
{% if FEDERATION_TIMELINE %}
<script type="text/javascript">
{% for variable, value in FEDERATION_TIMELINE %}
var {{ variable }} = '{{ value }}';
{% endfor %}
parseInt(max);
var tag = 'federation_timeline';
</script>
{% endif %}
{% if FEED_ALL_ATOM %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
{% endif %}
{% if FEED_ALL_RSS %}
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
{% endif %}
{% if FEDERATION_TIMELINE %}
<script type="text/javascript">
{% for variable, value in FEDERATION_TIMELINE %}
var {{ variable }} = '{{ value }}';
{% endfor %}
parseInt(max);
var tag = 'federation_timeline';
</script>
{% endif %}
</head>
<body>
{{ FEED_ATOM }}
<div class="container"><header role="banner">
<div class="feeds">
{% if FEED_ALL_ATOM %}
<a href="{{ SITEURL }}/{{ FEED_ALL_ATOM }}" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/icons/feed-32px.png" alt="atom feed"/></a>
{% endif %}
{% if FEED_ALL_RSS %}
<a href="{{ SITEURL }}/{{ FEED_ALL_RSS }}" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/icons/feed-32px.png" alt="rss feed"/></a>
{% endif %}
</div>
<a href="{{ SITEURL }}" class="title">{{ SITENAME }}</a>
{% if pages %}
<nav class="pages">
{% for p in pages %}
<a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}{% if not loop.last %} -{% endif %}</a>
{% endfor %}
</nav>
{% endif %}
<div class="feeds">
{% if FEED_ALL_ATOM %}
<a href="{{ SITEURL }}/{{ FEED_ALL_ATOM }}" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/icons/feed-32px.png" alt="atom feed"/></a>
{% endif %}
{% if FEED_ALL_RSS %}
<a href="{{ SITEURL }}/{{ FEED_ALL_RSS }}" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/icons/feed-32px.png" alt="rss feed"/></a>
{% endif %}
</div>
<a href="{{ SITEURL }}" class="title">{{ SITENAME }}</a>
{% if pages %}
<nav class="pages">
{% for p in pages %}
<a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}{% if not loop.last %} -{% endif %}</a>
{% endfor %}
</nav>
{% endif %}
</header>
<div class="wrapper">
{% if CATEGORIES_ON_SIDEBAR =='left' %}
<div role="main" class="left-sidebar">
<nav>
<h2>Categories</h2>
<ul>
{% for cat, null in categories %}
{% if cat != DEFAULT_CATEGORY %}
<li {% if cat == category %}class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% else %}
{% for article in articles %}
<li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
{% endfor %}
{% endif %}
{% endfor %}
</ul>
</nav>
</div>
{% endif %}
<div role="main" class="content">
{% block content %}{% endblock %}
</div>
<div class="sidebar">
{% if CATEGORIES_ON_SIDEBAR =='right' %}
<nav>
<h2>Categories</h2>
<ul>
{% for cat, null in categories %}
<li {% if cat == category %}class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% endfor %}
</ul>
</nav>
{% endif %}
</header>
<div class="wrapper">
{% if CATEGORIES_ON_SIDEBAR =='left' %}
<div role="main" class="left-sidebar">
<nav>
<h2>Categories</h2>
<ul>
{% for cat, null in categories %}
{% if cat != DEFAULT_CATEGORY %}
<li {% if cat == category %}class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% else %}
{% for article in articles %}
<li><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></li>
{% endfor %}
{% endif %}
{% endfor %}
</ul>
</nav>
</div>
{% endif %}
<div role="main" class="content">
{% block content %}{% endblock %}
</div>
<div class="sidebar">
{% if CATEGORIES_ON_SIDEBAR =='right' %}
<nav>
<h2>Categories</h2>
<ul>
{% for cat, null in categories %}
<li {% if cat == category %}class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% endfor %}
</ul>
</nav>
{% endif %}
{% if DISPLAY_TAGS_ON_SIDEBAR %}
<h2>Tags</h2>
<ul class="tagcloud">
{% for tag in tag_cloud %}
<li class="tag-{{ tag.1 }}"><a href="{{ SITEURL }}/{{ tag.0.url }}">{{ tag.0 }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% if FEDERATION_TIMELINE %}
<h2>News</h2>
<div id="federation_timeline">
<p>Enable Javascript to view Social timeline!</p>
</div>
<script type="text/javascript" src="{{ SITEURL }}/theme/js/federation_widget.js"></script>
{% endif %}
{% if SOCIAL %}
<aside>
<h2>Social Networks</h2>
<ul class="social">
{% for name, link in SOCIAL %}
<li><a href="{{ link }}" id="{{ name }}">{{ link }}</a><i></i></li>
{% endfor %}
</ul>
</aside>
{% endif %}
{% if DISPLAY_TAGS_ON_SIDEBAR %}
<h2>Tags</h2>
<ul class="tagcloud">
{% for tag in tag_cloud %}
<li class="tag-{{ tag.1 }}"><a href="{{ SITEURL }}/{{ tag.0.url }}">{{ tag.0 }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% if LINKS %}
<aside>
<h2>Links</h2>
<ul>
{% for name, link in LINKS %}
<li><a href="{{ link }}">{{ name }}</a></li>
{% endfor %}
</ul>
</aside>
{% endif %}
</div>
</div>
{% if FEDERATION_TIMELINE %}
<h2>News</h2>
<div id="federation_timeline">
<p>Enable Javascript to view Social timeline!</p>
</div>
<script type="text/javascript" src="{{ SITEURL }}/theme/js/federation_widget.js"></script>
{% endif %}
{% if SOCIAL %}
<aside>
<h2>Social Networks</h2>
<ul class="social">
{% for name, link in SOCIAL %}
<li><a href="{{ link }}" id="{{ name }}">{{ link }}</a><i></i></li>
{% endfor %}
</ul>
</aside>
{% endif %}
<footer>
<p role="contentinfo">
{% if LICENSE=="CC-BY" %}
<a href="http://creativecommons.org/licenses/by/4.0/legalcode" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/licenses/cc-by-88x31.png" alt="CC-BY"/></a>
{% endif %}
{% if LICENSE=="CC-BY-NC" %}
<a href="http://creativecommons.org/licenses/by-nc/4.0/legalcode" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/licenses/cc-by-nc-88x31.png" alt="CC-BY-NC"/></a>
{% endif %}
{% if LICENSE=="CC-BY-SA" %}
<a href="http://creativecommons.org/licenses/by-sa/4.0/legalcode" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/licenses/cc-by-sa-88x31.png" alt="CC-BY-SA"/></a>
{% endif %}
{% if LICENSE=="CC-BY-NC-SA" %}
<a href="http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/licenses/cc-by-nc-sa-88x31.png" alt="CC-BY-NC-SA"/></a>
{% endif %}
{% if LICENSE=="ALL-RIGHTS-RESERVED" %}
All rights reserved.
{% endif %}
</p>
<p role="contentinfo">
{{ AUTHOR }} -
{% if EMAIL %}
E-Mail: {{ EMAIL }}
{% endif %}
</p>
<p role="contentinfo">
Proudly powered by <a href="https://getpelican.com/">pelican</a>.
</p>
</footer>
{% if LINKS %}
<aside>
<h2>Links</h2>
<ul>
{% for name, link in LINKS %}
<li><a href="{{ link }}">{{ name }}</a></li>
{% endfor %}
</ul>
</aside>
{% endif %}
</div>
</div>
<footer>
<p role="contentinfo">
{% if LICENSE=="CC-BY" %}
<a href="http://creativecommons.org/licenses/by/4.0/legalcode" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/licenses/cc-by-88x31.png" alt="CC-BY"/></a>
{% endif %}
{% if LICENSE=="CC-BY-NC" %}
<a href="http://creativecommons.org/licenses/by-nc/4.0/legalcode" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/licenses/cc-by-nc-88x31.png" alt="CC-BY-NC"/></a>
{% endif %}
{% if LICENSE=="CC-BY-SA" %}
<a href="http://creativecommons.org/licenses/by-sa/4.0/legalcode" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/licenses/cc-by-sa-88x31.png" alt="CC-BY-SA"/></a>
{% endif %}
{% if LICENSE=="CC-BY-NC-SA" %}
<a href="http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode" rel="alternate"><img src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/licenses/cc-by-nc-sa-88x31.png" alt="CC-BY-NC-SA"/></a>
{% endif %}
{% if LICENSE=="ALL-RIGHTS-RESERVED" %}
All rights reserved.
{% endif %}
</p>
<p role="contentinfo">
{{ AUTHOR }} -
{% if EMAIL %}
E-Mail: {{ EMAIL }}
{% endif %}
</p>
<p role="contentinfo">
Proudly powered by <a href="https://getpelican.com/">pelican</a>.
</p>
</footer>
</div>
</div>
</body>
</html>

View File

@ -1,6 +1,8 @@
{% extends "base.html" %}
{% block title %}{{ category }} - {{ SITENAME }}{% endblock %}
{% block extra_meta %}
<meta property=og:title content="{{ category }}" />
{% endblock %}
{% block content %}
<h1>Category: {{ category }}</h1>

View File

@ -1,12 +1,17 @@
{% extends "base.html" %}
{% extends "base.html" %}
{% block content_title %}{% endblock %}
{℅ block meta_other %}
<meta name="robots" content="noindex" />
{℅ endblock %}
<meta name="robots" content="noindex" />
<meta property=og:title content="{{ SITENAME }}" />
{% if SITEDESCRIPTION %}
<p style="font-size: 1.25em">{{ SITEDESCRIPTION }}</p>
<meta property=og:description content="{{ SITEDESCRIPTION }}" />
{% endif %}
{℅ endblock %}
{% block content %}
{% if SITEDESCRIPTION %}
<p style="font-size: 1.3em">{{ SITEDESCRIPTION }}</p>
{% endif %}
{% for article in articles %}
{% if loop.index == 1 %}
<article>

View File

@ -1,9 +1,11 @@
{% extends "base.html" %}
{% block title %}{{ page.title }}- {{ SITENAME }}{% endblock %}
{% block extra_meta %}
<meta property=og:title content="{{ page.title }}" />
{% endblock %}
{% block content %}
<h1>{{ page.title }}</h1>
{{ page.content }}
{% endblock %}
{% endblock %}