Initial Changes for v2.0a
This commit is contained in:
parent
fcbb33c7d5
commit
8003f162ae
20 changed files with 454 additions and 715 deletions
|
@ -1,10 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Archives{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - Archives{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Archives for {{ SITENAME }}</h1>
|
||||
|
||||
{% include 'include/archive_list.html' %}
|
||||
<h2>Archives for {{ SITENAME }}</h2>
|
||||
|
||||
<dl>
|
||||
{% for article in dates %}
|
||||
<dt>{{ article.locale_date }}</dt>
|
||||
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,50 +1,29 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block html_lang %}{{ article.lang }}{% endblock %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - {{ article.title|striptags }}{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ article.title|striptags }}{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
{% if article.status == "hidden" %}
|
||||
<meta name="robots" content="noindex">
|
||||
<meta name="robots" content="nofollow">
|
||||
<meta name="robots" content="noarchive">
|
||||
{% endif %}
|
||||
|
||||
{{ super() }}
|
||||
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{% if translations.entry_hreflang(article) %}
|
||||
{{ translations.entry_hreflang(article) }}
|
||||
{% endif %}
|
||||
{% if article.status == "hidden" %}
|
||||
<meta name="robots" content="noindex">
|
||||
<meta name="robots" content="nofollow">
|
||||
<meta name="robots" content="noarchive">
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if article.description %}
|
||||
<meta name="description" content="{{article.description}}" />
|
||||
{% endif %}
|
||||
|
||||
{% for tag in article.tags %}
|
||||
<meta name="tags" content="{{ tag }}" />
|
||||
<meta name="tags" content="{{tag}}" />
|
||||
{% endfor %}
|
||||
{% if article.summary %}
|
||||
<meta name="description" content="{{ article.summary|striptags }}">
|
||||
{% else %}
|
||||
<meta name="description" content="{{ article.title|striptags }}">
|
||||
{% endif %}
|
||||
|
||||
<!-- Twitter Card Things-->
|
||||
{% if article.photo_image %}
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
{% else %}
|
||||
<meta name="twitter:card" content="summary" />
|
||||
{% endif %}
|
||||
|
||||
{% if SOCIAL_TWIITER %}
|
||||
<meta name="twitter:site" content="@{{ SOCIAL_TWIITER }}" />
|
||||
{% endif %}
|
||||
<meta property="twitter:domain" content="jeffmackinnon.com">
|
||||
{% if article.summary %}
|
||||
<meta name="twitter:description" content="{{ article.summary|striptags }}" />
|
||||
{% else %}
|
||||
<meta name="twitter:description" content="Read the full post at jeffmackinnon.com" />
|
||||
{% endif %}
|
||||
{% if article.photo_image %}
|
||||
<meta name="twitter:image" content="{{ SITEURL }}/{{ article.photo_image[1] }}" />
|
||||
{% endif %}
|
||||
|
||||
<!-- Open Graph Tags-->
|
||||
<meta property="og:site_name" content="{{ SITENAME }}" />
|
||||
|
@ -60,7 +39,7 @@
|
|||
<link rel="stylesheet" type="text/css" href="/hashover/themes/default/comments.css">
|
||||
{% endif %}
|
||||
|
||||
<link rel="canonical" href="{{ SITEURL }}/{{ article.url }}" />
|
||||
<link rel="canonical" href="{{ SITEURL }}/{{ article.url }}" />
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
@ -73,41 +52,18 @@
|
|||
|
||||
|
||||
{% block content %}
|
||||
<section id="content" class="body">
|
||||
<article>
|
||||
<header>
|
||||
<h1 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h1>
|
||||
</header>
|
||||
<div id="entry-info">
|
||||
<h2>
|
||||
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
|
||||
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{{ translations.translations_for(article) }}
|
||||
|
||||
{% if article.authors %}
|
||||
<p class="pentry"><address class="vcard author">By {% for author in article.authors %}
|
||||
<a class="url fn" href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||
{% endfor %}
|
||||
</address></p>
|
||||
{% endif %}
|
||||
<p class="pentry">Published: <time class="published" datetime="{{ article.date.isoformat() }}">{{ article.locale_date }}</time></p>
|
||||
{% if article.modified %}
|
||||
<p class="pentry">Updated: <time class="modified" datetime="{{ article.modified.isoformat() }}">{{ article.locale_modified }}</time></p>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if SOCIAL_SHARE is sameas true %}
|
||||
<p class="share">Share this article on:
|
||||
<span><a class="" href="https://twitter.com/intent/tweet?text={{ article.title|striptags }}&url={{ SITEURL }}/{{ article.url }}{% if SOCIAL_TWITTER %}&via={{ SOCIAL_TWITTER }}{% endif %}" target="_blank" title="Share on Twitter"><i class="fab fa-twitter"></i> Twitter</a></span>
|
||||
<span><a class="" href="https://www.linkedin.com/sharing/share-offsite/?url={{ SITEURL }}/{{ article.url }}" target="_blank" title="Share via Linkedin"><i class="icon brands fa-linkedin"></i> Linkedin</a></span>
|
||||
<span><a class="" href="mailto:?subject={{ article.title|striptags }}&body={{ article.summary|striptags }} - {{ SITEURL }}/{{ article.url }}" target="_blank" title="Share via Email"><i class="fas fa-envelope"></i> Email</a></span>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="entry-content">
|
||||
|
||||
</header>
|
||||
{% if article.photo_image and SHOW_TOP_IMAGE == True %}
|
||||
<a href="{{ SITEURL }}/{{ article.photo_image[1] }}"><img style="display: block; margin: 0 auto 0 0;" src="{{ SITEURL }}/{{ article.photo_image[1] }}" alt="{{ article.image_alt }}"/></a>
|
||||
<img style="display: block; margin: 0 auto 0 0;" src="{{ SITEURL }}/{{ article.photo_image[1] }}" alt="{{ article.image_alt }}"/>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{{ article.content }}
|
||||
|
||||
{% if article.photo_gallery %}
|
||||
|
@ -124,68 +80,73 @@
|
|||
{% endif %}
|
||||
|
||||
{% if article.series %}
|
||||
<div class="post-series">
|
||||
<p>This post is part {{ article.series.index }} of the "{{ article.series.name }}" series:</p>
|
||||
<ol class="parts">
|
||||
{% for part_article in article.series.all %}
|
||||
<li {% if part_article == article %}class="active"{% endif %}>
|
||||
<a href='{{ SITEURL }}/{{ part_article.url }}'>{{ part_article.title }}</a>
|
||||
</li>
|
||||
<div class="post-series">
|
||||
<p>This post is part {{ article.series.index }} of the "{{ article.series.name }}" series:</p>
|
||||
<ol class="parts">
|
||||
{% for part_article in article.series.all %}
|
||||
<li {% if part_article == article %}class="active"{% endif %}>
|
||||
<a href='{{ SITEURL }}/{{ part_article.url }}'>{{ part_article.title }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<footer>
|
||||
<p>Published: <time datetime="{{ article.date.isoformat() }}">
|
||||
{{ article.locale_date }}
|
||||
</time></p>
|
||||
{% if article.modified %}
|
||||
<p>Last updated: <time datetime="{{ article.modified.isoformat() }}">
|
||||
{{ article.locale_modified }}
|
||||
</time></p>
|
||||
{% endif %}
|
||||
{% if article.authors %}
|
||||
<address>
|
||||
By {% for author in article.authors %}
|
||||
<a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||
{% endfor %}
|
||||
</ol>
|
||||
</div>
|
||||
</address>
|
||||
{% endif %}
|
||||
|
||||
<footer id="post-info">
|
||||
{% if article.category %}
|
||||
<div class="category">
|
||||
<p> In <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a></p>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if article.tags %}
|
||||
<div class="tags">
|
||||
Tags:
|
||||
{% for tag in article.tags %}
|
||||
<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</footer><!-- /.post-info -->
|
||||
|
||||
{% if COMMENTS is sameas True %}
|
||||
<div class="comments">
|
||||
<h3>Comments</h3>
|
||||
{{ COMMENT_EMBED }}
|
||||
</div>
|
||||
{% if article.category %}
|
||||
<p>
|
||||
Category: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if MASTODON_COMMENTS == True and article.mastodon_post_id is defined %}
|
||||
<div class="comments">
|
||||
<h3>Comment on Mastodon</h3>
|
||||
{% include 'include/mastodon-comments.html' %}
|
||||
</div>
|
||||
{% if article.tags %}
|
||||
<p>
|
||||
Tags:
|
||||
{% for tag in article.tags %}
|
||||
<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>
|
||||
{% endfor %}
|
||||
</p>
|
||||
{% endif %}
|
||||
</footer>
|
||||
|
||||
{% if TWITTER_COMMENTS is sameas True %}
|
||||
<div class="comments">
|
||||
<h3>Comment on Twitter</h3>
|
||||
<p><strong>To join a conversation on Twitter <a href="https://twitter.com/search?q={{ SITEURL }}/{{ article.url }}">click here</a>.</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</article>
|
||||
{% if COMMENTS is sameas True %}
|
||||
<div class="comments">
|
||||
<h3>Comments</h3>
|
||||
{{ COMMENT_EMBED }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<section id="article-footer">
|
||||
{% if article.photo_image and SHOW_BOTTOM_IMAGE == True %}
|
||||
<a href="{{ SITEURL }}/{{ article.photo_image[1] }}"><img style="display: block; margin: 0 auto 0 0;" src="{{ SITEURL }}/{{ article.photo_image[2] }}" /></a>
|
||||
{% endif %}
|
||||
{% if ARTICLE_FOOTER == true %}
|
||||
{% include 'include/article_footer.html' %}
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
|
||||
</div><!-- /.entry-content -->
|
||||
{% if MASTODON_COMMENTS == True and article.mastodon_post_id is defined %}
|
||||
<div class="comments">
|
||||
<h3>Comment on Mastodon</h3>
|
||||
{% include 'include/mastodon-comments.html' %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
<section id="article-footer">
|
||||
{% if article.photo_image and SHOW_BOTTOM_IMAGE == True %}
|
||||
<a href="{{ SITEURL }}/{{ article.photo_image[1] }}"><img style="display: block; margin: 0 auto 0 0;" src="{{ SITEURL }}/{{ article.photo_image[2] }}" /></a>
|
||||
{% endif %}
|
||||
{% if ARTICLE_FOOTER == true %}
|
||||
{% include 'include/article_footer.html' %}
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<section>
|
||||
<header class="major">
|
||||
<h2>{% block header %}{% endblock %}</h2>
|
||||
</header>
|
||||
|
||||
{% include 'include/paginated_posts.html' %}
|
||||
|
||||
</section>
|
||||
{% endblock content %}
|
|
@ -1,8 +1,7 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - Articles by {{ author }}{% endblock %}
|
||||
|
||||
{% block content_title %}
|
||||
<h2>Articles by {{ author }}</h2>
|
||||
<h2>Articles by {{ author }}</h2>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Authors{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - Authors{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Authors on {{ SITENAME }}</h1>
|
||||
<h2>Authors on {{ SITENAME }}</h2>
|
||||
<ul>
|
||||
{% for author, articles in authors|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
{% for author, articles in authors|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,143 +1,214 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{% block html_lang %}{{ DEFAULT_LANG }}{% endblock html_lang %}">
|
||||
<head>
|
||||
{% block head %}
|
||||
<title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
|
||||
{% if FAVICON %}
|
||||
<link rel="icon" type="image/x-icon" href="{{ SITEURL }}/{{ FAVICON }}">
|
||||
{% endif %}
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/{{ CSS_FILE }}" />
|
||||
{% if THEME_COLOUR == 1 %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-blue.css" />
|
||||
{% elif THEME_COLOUR == 0 %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-default.css" />
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-default.css" />
|
||||
{% endif %}
|
||||
<meta name="generator" content="Pelican" />
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_ATOM_URL %}{{ FEED_ALL_ATOM_URL }}{% else %}{{ FEED_ALL_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_RSS_URL %}{{ FEED_ALL_RSS_URL }}{% else %}{{ FEED_ALL_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{%if FEED_ATOM_URL %}{{ FEED_ATOM_URL }}{% else %}{{ FEED_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_RSS_URL %}{{ FEED_RSS_URL }}{% else %}{{ FEED_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_ATOM and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_ATOM_URL %}{{ CATEGORY_FEED_ATOM_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_ATOM.format(slug=category.slug) }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_RSS and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_RSS_URL %}{{ CATEGORY_FEED_RSS_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_RSS.format(slug=category.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_ATOM and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_ATOM_URL %}{{ TAG_FEED_ATOM_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_ATOM.format(slug=tag.slug) }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_RSS and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_RSS_URL %}{{ TAG_FEED_RSS_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_RSS.format(slug=tag.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />
|
||||
{% endif %}
|
||||
<head>
|
||||
{% block head %}
|
||||
<title>{% block title %}{{ SITENAME|striptags }}{% endblock title %}</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="Pelican" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
||||
{% if TRACKING == True %}
|
||||
{% include 'include/trackingcode.html' %}
|
||||
{% endif %}
|
||||
<!-- The CSS needs a little work, I want to keep it extra simple
|
||||
|
||||
{% endblock head %}
|
||||
{% block somemorehead %}
|
||||
{% endblock somemorehead %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/pelican.css" />
|
||||
{% if THEME_COLOUR == 1 %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-blue.css" />
|
||||
{% elif THEME_COLOUR == 0 %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-default.css" />
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-default.css" />
|
||||
{% endif %}
|
||||
|
||||
{% if USE_LIGHTBOX == True %}
|
||||
{% if (article and article.photo_gallery) or (articles_page and articles_page.object_list[0].photo_gallery) %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/magnific-popup.css">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
<div id="wrapper">
|
||||
<div id="main">
|
||||
<div class="inner">
|
||||
<!-- Header -->
|
||||
<header id="header">
|
||||
<strong><a href="{{ SITEURL }}/" class="logo">{{ SITENAME }}{% if SITESUBTITLE %} {{ SITESUBTITLE }}{% endif %}</a></strong>
|
||||
<ul class="icons">
|
||||
{% if SOCIAL_MASTODON %}
|
||||
<li><a href="{{ SOCIAL_MASTODON }}" class="icon brands fa-mastodon" target="_blank" rel="noopener noreferrer"><span class="label">Mastodon</span></a></li>
|
||||
{% endif %}
|
||||
{% if SOCIAL_FLICKR %}
|
||||
<li><a href="https://www.flickr.com/photos/{{ SOCIAL_FLICKR }}" class="icon brands fa-flickr" target="_blank" rel="noopener noreferrer"><span class="label">Flickr</span></a></li>
|
||||
{% endif %}
|
||||
{% if SOCIAL_GITHUB %}
|
||||
<li><a href="https://github.com/{{ SOCIAL_GITHUB }}" class="icon brands fa-github" target="_blank" rel="noopener noreferrer"><span class="label">Github</span></a></li>
|
||||
{% endif %}
|
||||
{% if SOCIAL_LINKEDIN %}
|
||||
<li><a href="https://www.linkedin.com/in/{{ SOCIAL_LINKEDIN }}" class="icon brands fa-linkedin" target="_blank" rel="noopener noreferrer"><span class="label">LinkedIn</span></a></li>
|
||||
{% endif %}
|
||||
{% if SOCIAL_YOUTUBE %}
|
||||
<li><a href="https://www.youtube.com/channel/{{ SOCIAL_YOUTUBE }}" class="icon brands fa-youtube" target="_blank" rel="noopener noreferrer"><span class="label">LinkedIn</span></a></li>
|
||||
{% endif %}
|
||||
The CSS needs a little work, I want to keep it extra simple-->
|
||||
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<li><a href="{{ FEED_DOMAIN }}/{% if FEED_ALL_ATOM_URL %}{{ FEED_ALL_ATOM_URL }}{% else %}{{ FEED_ALL_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" class="icon brands fa-atom"><span class="label">atom feed</span></a></li>
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<li><a href="{{ FEED_DOMAIN }}/{% if FEED_ALL_RSS_URL %}{{ FEED_ALL_RSS_URL }}{% else %}{{ FEED_ALL_RSS }}{% endif %}" type="application/rss+xml" class="icon brands fa-rss"><span class="label">rss feed</span></a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</header>
|
||||
|
||||
<section>
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</section>
|
||||
{% if SITESUBTITLE %}
|
||||
<meta name="description" content="{{ SITESUBTITLE }}" />
|
||||
{% endif %}
|
||||
{% if STYLESHEET_URL %}
|
||||
<link rel="stylesheet" type="text/css" href="{{ STYLESHEET_URL }}" />
|
||||
{% endif %}
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_ATOM_URL %}{{ FEED_ALL_ATOM_URL }}{% else %}{{ FEED_ALL_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Full Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_RSS_URL %}{{ FEED_ALL_RSS_URL }}{% else %}{{ FEED_ALL_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} Full RSS Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{%if FEED_ATOM_URL %}{{ FEED_ATOM_URL }}{% else %}{{ FEED_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_RSS_URL %}{{ FEED_RSS_URL }}{% else %}{{ FEED_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} RSS Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_ATOM and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_ATOM_URL %}{{ CATEGORY_FEED_ATOM_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_ATOM.format(slug=category.slug) }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Categories Atom Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_RSS and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_RSS_URL %}{{ CATEGORY_FEED_RSS_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_RSS.format(slug=category.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} Categories RSS Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_ATOM and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_ATOM_URL %}{{ TAG_FEED_ATOM_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_ATOM.format(slug=tag.slug) }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Tags Atom Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_RSS and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_RSS_URL %}{{ TAG_FEED_RSS_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_RSS.format(slug=tag.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} Tags RSS Feed" />
|
||||
{% endif %}
|
||||
|
||||
|
||||
</div>
|
||||
{% if TRACKING == True %}
|
||||
{% include 'include/trackingcode.html' %}
|
||||
{% endif %}
|
||||
|
||||
{% endblock head %}
|
||||
{% block somemorehead %}
|
||||
{% endblock somemorehead %}
|
||||
|
||||
</div>
|
||||
{% include 'include/sidebar.html' %}
|
||||
{% if USE_LIGHTBOX == True %}
|
||||
{% if (article and article.photo_gallery) or (articles_page and articles_page.object_list[0].photo_gallery) %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/magnific-popup.css">
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<style>
|
||||
.content {
|
||||
max-width: 900px;
|
||||
margin: auto;
|
||||
}
|
||||
img {
|
||||
max-width: 90%;
|
||||
height: auto;
|
||||
float: center;
|
||||
}
|
||||
.navigation {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding-bottom:5px;
|
||||
}
|
||||
.navigation li {
|
||||
display: inline-block;
|
||||
margin-left: 20px;
|
||||
}
|
||||
.navigation li a {
|
||||
color: #000;
|
||||
text-decoration: italic;
|
||||
padding-right: 15px;
|
||||
display: inline-block;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
.navigation li a:hover {
|
||||
background-color: #555;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="content">
|
||||
<header>
|
||||
<hgroup><h1><a href="{{ SITEURL }}/">{{ SITENAME }}</a></h1>{% if SITESUBTITLE %}<p>{{ SITESUBTITLE }}</p>{% endif %}</hgroup>
|
||||
{% if BIO_IMAGE %}
|
||||
<!--<img src="{{ SITEURL }}/images/{{ BIO_IMAGE }}" style="max-width: 75%; display: inline; float: center; border-radius: 50%;" /> -->
|
||||
{% endif %}
|
||||
<nav class="navigation">
|
||||
{% if MENUITEMS %}
|
||||
|
||||
<ul class="navigation">
|
||||
<li><b>Menu:</b></li>
|
||||
{% for title, link in MENUITEMS %}
|
||||
<li><a href="{{ link }}">{{ title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if DISPLAY_PAGES_ON_MENU %}
|
||||
|
||||
<ul class="navigation"></ul>
|
||||
<li><b>Pages:</b></li>
|
||||
{% for p in pages %}
|
||||
<li><a href="{{ SITEURL }}/{{ p.url }}" {% if p==page %} aria-current="page" {% endif %}>{{ p.title }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
{% if DISPLAY_CATEGORIES_ON_MENU %}
|
||||
|
||||
<ul class="navigation"></ul>
|
||||
<li><b>Topics:</b></li>
|
||||
{% for cat, null in categories %}
|
||||
<li><a href="{{ SITEURL }}/{{ cat.url }}" {% if cat==category %} aria-current="page" {% endif %}>{{ cat}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</nav>
|
||||
</header>
|
||||
<main>
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
{% if LINKS %}
|
||||
<ul class="navigation">
|
||||
<li><b>Blogroll:</b></li>
|
||||
{% for name, link in LINKS %}
|
||||
<li><a href="{{ link }}">{{ name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if SOCIAL %}
|
||||
<ul class="navigation">
|
||||
<li><b>My Socials</b></li>
|
||||
{% for name, link in SOCIAL %}
|
||||
<li><a rel="me" href="{{ link }}">{{ name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<ul class="navigation">
|
||||
<li><b>Site FEED(s):</b></li>
|
||||
<li><a href="{{ FEED_DOMAIN }}/{% if FEED_ALL_ATOM_URL %}{{ FEED_ALL_ATOM_URL }}{% else %}{{ FEED_ALL_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate">ATOM FEED</a></li>
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<li><a href="{{ FEED_DOMAIN }}/{% if FEED_ALL_RSS_URL %}{{ FEED_ALL_RSS_URL }}{% else %}{{ FEED_ALL_RSS }}{% endif %}" type="application/rss+xml">RSS FEED</a></li>
|
||||
</ul>
|
||||
{% endif %}
|
||||
<address>
|
||||
<p>© Jeff Mackinnon. All rights reserved.<br />
|
||||
<!--Style by: <a href="https://jeffmackinnon.com/i-built-a-pelican-theme.html">Jeff MacKinnon</a><br />-->
|
||||
{% if POWEREDBY == True %}Proudly powered by <a href="https://getpelican.com/">Pelican</a>, which takes great advantage of <a href="https://www.python.org/">Python</a>.{% endif %}
|
||||
</p>
|
||||
{% if SITELICENSE %}
|
||||
{{ SITELICENSE }}
|
||||
{% endif %}
|
||||
</address>
|
||||
</footer>
|
||||
|
||||
{% if USE_LIGHTBOX == True %}
|
||||
{% if (article and article.photo_gallery) or (articles_page and articles_page.object_list[0].photo_gallery) %}
|
||||
<!-- jQuery 1.7.2+ or Zepto.js 1.0+ -->
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
|
||||
|
||||
<!-- Magnific Popup core JS file -->
|
||||
<script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/magnific-popup.js"></script>
|
||||
<script>
|
||||
$('.gallery').magnificPopup({
|
||||
delegate: 'a',
|
||||
type: 'image',
|
||||
gallery: {
|
||||
enabled: true,
|
||||
navigateByImgClick: true,
|
||||
preload: [1,2]
|
||||
},
|
||||
image: {
|
||||
titleSrc: function(item) {
|
||||
if (item.el.attr('caption') && item.el.attr('exif')) {
|
||||
return (item.el.attr('caption').replace(/\\n/g, '<br />') +
|
||||
'<small>' + item.el.attr('title') + ' - ' + item.el.attr('exif') + '</small>');
|
||||
}
|
||||
return item.el.attr('title') + '<small>' + item.el.attr('exif') + '</small>';
|
||||
} }
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/jquery.min.js"></script>
|
||||
<script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/browser.min.js"></script>
|
||||
<script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/breakpoints.min.js"></script>
|
||||
<script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/util.js"></script>
|
||||
<script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/main.js"></script>
|
||||
|
||||
{% if IMAGETRACKINGCODE %}
|
||||
{{ IMAGETRACKINGCODE }}
|
||||
{% endif %}
|
||||
|
||||
{% if USE_LIGHTBOX == True %}
|
||||
{% if (article and article.photo_gallery) or (articles_page and articles_page.object_list[0].photo_gallery) %}
|
||||
<!-- jQuery 1.7.2+ or Zepto.js 1.0+ -->
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
|
||||
|
||||
<!-- Magnific Popup core JS file -->
|
||||
<script src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/magnific-popup.js"></script>
|
||||
<script>
|
||||
$('.gallery').magnificPopup({
|
||||
delegate: 'a',
|
||||
type: 'image',
|
||||
gallery: {
|
||||
enabled: true,
|
||||
navigateByImgClick: true,
|
||||
preload: [1,2]
|
||||
},
|
||||
image: {
|
||||
titleSrc: function(item) {
|
||||
if (item.el.attr('caption') && item.el.attr('exif')) {
|
||||
return (item.el.attr('caption').replace(/\\n/g, '<br />') +
|
||||
'<small>' + item.el.attr('title') + ' - ' + item.el.attr('exif') + '</small>');
|
||||
}
|
||||
return item.el.attr('title') + '<small>' + item.el.attr('exif') + '</small>';
|
||||
} }
|
||||
});
|
||||
</script>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</body>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Categories{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - Categories{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Categories on {{ SITENAME }}</h1>
|
||||
<h2>Categories on {{ SITENAME }}</h2>
|
||||
<ul>
|
||||
{% for category, articles in categories|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
{% for category, articles in categories|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
{% extends "articles_list_page.html" %}
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ category }}{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ category }} category{% endblock %}
|
||||
|
||||
{% block meta_description %}
|
||||
<meta name="description" content="{{ SITENAME }} articles about {{ category }}">
|
||||
{% block content_title %}
|
||||
<h2>Articles in the {{ category }} category</h2>
|
||||
{% endblock %}
|
||||
|
||||
{% block header %}All posts in category: {{ category }}{% endblock %}
|
|
@ -1,15 +1,5 @@
|
|||
<section id="banner">
|
||||
<div class="content">
|
||||
<header class="major">
|
||||
<h2>Our Newsletter</h2>
|
||||
</header>
|
||||
<p>We also have a weekly-ish newsletter where I keep you up to date with my thoughts on the industry, practical tutorials and more.</p>
|
||||
<ul class="actions">
|
||||
<li><a href="nl/" class="button big">Learn More</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<span class="image object">
|
||||
<script async data-uid="c20eb8a248" src="https://jeffmackinnon.ck.page/c20eb8a248/index.js"></script>
|
||||
</span>
|
||||
<!-- Add what you want at the bottom of the article here.
|
||||
Make sure that you enable it in pelicanconf.py -->
|
||||
</section>
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
<!-- This is from an old version of JMK Engineering. At some point I will update it with something generic.-->
|
||||
|
||||
<header class="major">
|
||||
<h2>Cornerstone Content</h2>
|
||||
</header>
|
||||
<div class="posts">
|
||||
<article>
|
||||
<header>
|
||||
<h2 id="indexheader"><a href="https://jmkengineering.com/electrical-safety/" rel="bookmark" title="Electrical Safety">Electrical Safety</a></h2>
|
||||
</header>
|
||||
<a href="https://jmkengineering.com/electrical-safety/" class="image"><img src="https://jmkengineering.com/images/adobestock514814a.jpg" style="max-width: 100%; display: inline; float: center;" /></a>
|
||||
<div class="entry-content">Electrical safety is a nebulous thing, but we define it as the set of systems designed to lower the risks associated with the electrical hazards of shock, arc flash and arc blast, to an acceptable level. In our day-to-day life this is handled for us</div>
|
||||
<br />
|
||||
<ul class="actions">
|
||||
<li><a href="https://jmkengineering.com/electrical-safety/" class="button">Learn More</a></li>
|
||||
</ul>
|
||||
<br />
|
||||
</article>
|
||||
<!--
|
||||
<article>
|
||||
<header>
|
||||
<h2 id="indexheader"><a href="https://jmkengineering.com/power-system-studies/" rel="bookmark" title="Power System Studies">Power System Studies</a></h2>
|
||||
</header>
|
||||
<a href="https://jmkengineering.com/power-system-studies/" class="image"><img src="images/mcc-room.jpg" style="max-width: 100%; display: inline; float: center;" /></a>
|
||||
<div class="entry-content">Power System Studies are important.</div>
|
||||
<br />
|
||||
<ul class="actions">
|
||||
<li><a href="https://jmkengineering.com/power-system-studies/" class="button">Learn More</a></li>
|
||||
</ul>
|
||||
<br />
|
||||
</article> -->
|
||||
<article>
|
||||
<header>
|
||||
<h2 id="indexheader"><a href="https://jmkengineering.com/solar-design/" rel="bookmark" title="olar Design">Solar Design</a></h2>
|
||||
</header>
|
||||
<a href="https://jmkengineering.com/solar-design/" class="image"><img src="images/pv-solar-array.jpg" style="max-width: 100%; display: inline; float: center;" /></a>
|
||||
<div class="entry-content"><p>This page we will focus on PV solar, however concepts like solar angles, radiation vs irradiation, etc will be helpful regardless of type.</p><p>
|
||||
|
||||
Before getting into the details like off-grid vs grid connected, power draw, VOC, etc; I want to introduce some of the basic concepts starting with solar angles.</p></div>
|
||||
<br />
|
||||
<ul class="actions">
|
||||
<li><a href="https://jmkengineering.com/solar-design/" class="button">Learn More</a></li>
|
||||
</ul>
|
||||
<br />
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -8,19 +8,47 @@
|
|||
{% endif %}
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/{{ CSS_FILE }}" />
|
||||
{% if THEME_COLOUR == 1 %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-blue.css" />
|
||||
{% elif THEME_COLOUR == 0 %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-default.css" />
|
||||
{% else %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/colour-default.css" />
|
||||
{% endif %}
|
||||
<meta name="generator" content="Pelican" />
|
||||
{% if TRACKING == True %}
|
||||
{% include 'include/trackingcode.html' %}
|
||||
{% endif %}
|
||||
{% endblock head %}
|
||||
<style>
|
||||
|
||||
.linktree{
|
||||
padding:20%;
|
||||
padding-top:1%;
|
||||
padding-bottom:1%;
|
||||
text-align: center;
|
||||
}
|
||||
.linktreelink{
|
||||
text-align: center;
|
||||
margin-top: 1px;
|
||||
padding: 20px 0;
|
||||
max-width: 590px;
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
margin-top:10px;
|
||||
background-color:#f56a6a;
|
||||
color:white;
|
||||
text-decoration:none;
|
||||
border-radius: 40px;
|
||||
}
|
||||
|
||||
.linktreelink a {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.linktreelink:hover{
|
||||
color:#f56a6a;
|
||||
background-color:white;
|
||||
border: 2px solid;
|
||||
border-color:#f56a6a;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body class="is-preload">
|
||||
|
||||
|
@ -30,35 +58,26 @@
|
|||
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{{ translations.translations_for(page) }}
|
||||
|
||||
{% if BIO_IMAGE %}
|
||||
<img src="{{ SITEURL }}/images/{{ BIO_IMAGE }}" style="max-width: 75%; display: inline; float: center; border-radius: 50%;" />
|
||||
{% endif %}
|
||||
</header>
|
||||
|
||||
<div class="linkwrapper">
|
||||
{% for name, link in SOCIAL %}
|
||||
<a class="linktreelink" href="{{ link }}" target="_blank" rel="me"><i>{{ name }}</i></a>
|
||||
{% endfor %}
|
||||
<div class="social-links">
|
||||
{% if SOCIAL_MASTODON %}
|
||||
<a href="{{ SOCIAL_MASTODON }}" target="_blank" rel="noopener noreferrer"><i class="fab fa-mastodon" alt="" aria-hidden="true"></i></a>
|
||||
{% endif %}
|
||||
{% if SOCIAL_FLICKR %}
|
||||
<a href="https://www.flickr.com/photos/{{ SOCIAL_FLICKR }}" class="icon brands fa-flickr" target="_blank" rel="noopener noreferrer"><span class="label">Flickr</span></a>
|
||||
{% endif %}
|
||||
{% if SOCIAL_GITHUB %}
|
||||
<a href="https://github.com/{{ SOCIAL_GITHUB }}" target="_blank" rel="noopener noreferrer"><i class="fab fa-github" alt="" aria-hidden="true"></i></a>
|
||||
{% endif %}
|
||||
{% if SOCIAL_LINKEDIN %}
|
||||
<a href="https://www.linkedin.com/in/{{ SOCIAL_LINKEDIN }}" class="icon brands fa-linkedin" target="_blank" rel="noopener noreferrer"><span class="label">LinkedIn</span></a>
|
||||
{% endif %}
|
||||
{% if SOCIAL_YOUTUBE %}
|
||||
<a href="https://www.youtube.com/channel/{{ SOCIAL_YOUTUBE }}" target="_blank" rel="noopener noreferrer">
|
||||
<i class="fab fa-youtube" alt="" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if CONTACT_EMAIL %}
|
||||
<a href="mailto:{{CONTACT_EMAIL}}" aria-label="Email" title="Email" target="_blank">
|
||||
<i class="fas fa-envelope" alt="" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<a class="linktreelink" target="_blank" href="{{ FEED_DOMAIN }}/{% if FEED_ALL_ATOM_URL %}{{ FEED_ALL_ATOM_URL }}{% else %}{{ FEED_ALL_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate">ATOM FEED</a>
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<a class="linktreelink" target="_blank" href="{{ FEED_DOMAIN }}/{% if FEED_ALL_RSS_URL %}{{ FEED_ALL_RSS_URL }}{% else %}{{ FEED_ALL_RSS }}{% endif %}" type="application/rss+xml">RSS FEED</a>
|
||||
{% endif %}
|
||||
|
||||
{% if CONTACT_EMAIL %}
|
||||
<a href="mailto:{{CONTACT_EMAIL}}" aria-label="Email" title="Email" target="_blank"> </a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
<div class="posts">
|
||||
{% for article in articles_page.object_list %}
|
||||
<article>
|
||||
{% if INCLUDE_IMAGE == True %}
|
||||
{% if article.photo_image %}
|
||||
<a href="{{ SITEURL }}/{{ article.url }}" class="image"><img src="{{ SITEURL }}/{{ article.photo_image[2] }}" style="max-width: 100%; display: inline; float: center;" /></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if (article.category != MICROBLOG ) %}
|
||||
{% if INCLUDE_TITLE != False %}
|
||||
<header>
|
||||
<h2 id="indexheader"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
|
||||
</header>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if (article.category != MICROBLOG)%}
|
||||
{% if INCLUDE_SUMMARY != False %}
|
||||
<div class="entry-content"> {{ article.summary }} </div>
|
||||
{% if INCLUDE_CATEGORY == True %}
|
||||
{% if article.category %}
|
||||
<div class="category">
|
||||
Posted in: <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% if MOREBUTTON == True %}
|
||||
<br />
|
||||
<ul class="actions">
|
||||
<li><a href="{{ SITEURL }}/{{ article.url }}" class="button">More</a></li>
|
||||
</ul>
|
||||
<br />
|
||||
{% endif %}
|
||||
<!-- /.entry-content -->
|
||||
{% endif %}
|
||||
</article>
|
||||
{% endfor %}
|
||||
<!-- /#posts-list -->
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{% if articles_page.has_other_pages() %}
|
||||
{% include 'include/pagination.html' %}
|
||||
{% endif %}
|
||||
</div>
|
|
@ -1,190 +0,0 @@
|
|||
<div id="sidebar">
|
||||
<div class="inner">
|
||||
|
||||
<!-- Search -->
|
||||
{% if DUCKDUCKGOSEARCHURL %}
|
||||
<section id="search" class="alt">
|
||||
<iframe src="https://duckduckgo.com/search.html?site={{ DUCKDUCKGOSEARCHURL }}&prefill=Search" style="overflow:hidden;margin:0;padding:0;width:300px;height:40px;" frameborder="0"></iframe>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% if BIO_IMAGE %}
|
||||
<section id="bio">
|
||||
<img src="{{ SITEURL }}/images/{{ BIO_IMAGE }}" style="max-width: 75%; display: inline; float: center; border-radius: 50%;" />
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
<!-- Menu -->
|
||||
<nav id="menu">
|
||||
<header class="major">
|
||||
<h2>Pages</h2>
|
||||
</header>
|
||||
<ul>
|
||||
{% for title, link in MENUITEMS %}
|
||||
<li><a href="{{ link }}">{{ title }}</a></li>
|
||||
{% endfor %}
|
||||
{% if DISPLAY_PAGES_ON_MENU %}
|
||||
{% for p in pages %}
|
||||
<li{% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% if DISPLAY_CATEGORIES_ON_MENU %}
|
||||
<br />
|
||||
<br />
|
||||
<header class="major">
|
||||
<h2>Categories</h2>
|
||||
</header>
|
||||
|
||||
<ul>
|
||||
|
||||
{% for cat, null in categories %}
|
||||
<li{% if cat == category %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
</nav>
|
||||
|
||||
<!-- Section --> <!-- No mini posts for now
|
||||
<section>
|
||||
<header class="major">
|
||||
<h2>Ante interdum</h2>
|
||||
</header>
|
||||
<div class="mini-posts">
|
||||
<article>
|
||||
<a href="#" class="image"><img src="images/pic07.jpg" alt="" /></a>
|
||||
<p>Aenean ornare velit lacus, ac varius enim lorem ullamcorper dolore aliquam.</p>
|
||||
</article>
|
||||
<article>
|
||||
<a href="#" class="image"><img src="images/pic08.jpg" alt="" /></a>
|
||||
<p>Aenean ornare velit lacus, ac varius enim lorem ullamcorper dolore aliquam.</p>
|
||||
</article>
|
||||
<article>
|
||||
<a href="#" class="image"><img src="images/pic09.jpg" alt="" /></a>
|
||||
<p>Aenean ornare velit lacus, ac varius enim lorem ullamcorper dolore aliquam.</p>
|
||||
</article>
|
||||
</div>
|
||||
<ul class="actions">
|
||||
<li><a href="#" class="button">More</a></li>
|
||||
</ul>
|
||||
</section> -->
|
||||
|
||||
{% if LINKS %}
|
||||
<section id="blogroll">
|
||||
<header class="major">
|
||||
<h2>Blogroll</h2>
|
||||
</header>
|
||||
{% for name, link in LINKS %}
|
||||
<li><a href="{{ link }}">{{ name }}</a></li>
|
||||
{% endfor %}
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% if SOCIAL %}
|
||||
<section id="social">
|
||||
<header class="major">
|
||||
<h2>My Socials</h2>
|
||||
</header>
|
||||
{% for name, link in SOCIAL %}
|
||||
<li><a rel="me" href="{{ link }}">{{ name }}</a></li>
|
||||
{% endfor %}
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% if series.items() %}
|
||||
<!-- Section - The various series -->
|
||||
<section id="article-series">
|
||||
<header class="major">
|
||||
<h2>Here are some post series</h2>
|
||||
</header>
|
||||
{% for series_name, series_articles in series.items() %}
|
||||
{% set article = series_articles[0] %}
|
||||
<article class="card">
|
||||
<div class="card-body">
|
||||
<a href="{{ SITEURL }}/{{ article.url }}"><h3 class="card-title">{{ series_name }}</h3></a>
|
||||
<ul class="actions">
|
||||
<li><a href="{{ SITEURL }}/{{ article.url }}" class="button">Start</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
{% endfor %}
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% if WEBRING_FEED_URLS %}
|
||||
<section>
|
||||
<div class="webring">
|
||||
<h2>Webring</h2>
|
||||
{% for article in webring_articles %}
|
||||
<p><a href="{{ article.link }}">{{ article.title }}</a></p>
|
||||
<p>{{ article.date|strftime('%d %B %Y') }}<!-- {{ article.summary}}--></p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% if FEDIRING is sameas True %}
|
||||
<section>
|
||||
<div class="webring">
|
||||
<h2>Webring - Fediverse</h2>
|
||||
<p>
|
||||
<a href="https://fediring.net/previous?host={{ FEDIRINGURL }}">(PREV)</a>
|
||||
<a href="https://fediring.net/">Fediring</a>
|
||||
<a href="https://fediring.net/next?host={{ FEDIRINGURL }}">(NEXT)</a>
|
||||
</p>
|
||||
{% if FEDIRINGRANDOM is sameas True %}
|
||||
<p>
|
||||
<a href="https://fediring.net/random">Fediring Random</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if CONTACT_EMAIL or CONTACT_PHONE_NUM or CONTACT_HOME_ADDR %}
|
||||
<section>
|
||||
<header class="major">
|
||||
<h2>Get in touch</h2>
|
||||
</header>
|
||||
<ul class="contact">
|
||||
{% if CONTACT_EMAIL %}
|
||||
<li class="icon sold fa-envelope">{{ CONTACT_EMAIL }}</li>
|
||||
{% endif %}
|
||||
{% if CONTACT_PHONE_NUM %}
|
||||
<li class="icon solid fa-phone">{{ CONTACT_PHONE_NUM }}</li>
|
||||
{% endif %}
|
||||
{% if CONTACT_HOME_ADDR %}
|
||||
<li class="icon solid fa-home">{{ CONTACT_HOME_ADDR }}</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
{% if THEME_DARKMODE == 1 %}
|
||||
<img src="https://media.geeksforgeeks.org/wp-content/uploads/20200122115631/GeeksforGeeks210.png"/>
|
||||
<div>
|
||||
<button onclick="darkMode()">Darkmode</button>
|
||||
</div>
|
||||
<script>
|
||||
function darkMode() {
|
||||
var element = document.body;
|
||||
element.classList.toggle("dark-mode");
|
||||
}
|
||||
</script>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<!-- Footer -->
|
||||
<footer id="footer">
|
||||
<p class="copyright">© Untitled. All rights reserved.<br />
|
||||
Original design inspired by: <a href="https://html5up.net">HTML5 UP</a>.<br />
|
||||
Modifed by <a href="https://jeffmackinnon.com/i-built-a-pelican-theme.html">Jeff MacKinnon</a><br />
|
||||
{% if POWEREDBY == True %}Proudly powered by <a href="https://getpelican.com/">Pelican</a>, which takes great advantage of <a href="https://www.python.org/">Python</a>.{% endif %}
|
||||
</p>
|
||||
{% if SITELICENSE %}
|
||||
{{ SITELICENSE }}
|
||||
{% endif %}
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
</div>
|
|
@ -1,54 +1,37 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
{% if MINIMAL == True %}
|
||||
{% include 'include/minimal_homepage.html' %}
|
||||
{% block content_title %}
|
||||
<h2>All articles</h2>
|
||||
{% endblock %}
|
||||
|
||||
{% else%}
|
||||
|
||||
{% if BANNER == True %}
|
||||
<!-- Banner -->
|
||||
<section id="banner">
|
||||
<div class="content">
|
||||
<header>
|
||||
<h1>{{ TAGLINEHEAD }}</h1>
|
||||
{% if TAGLINESUBHEAD %}
|
||||
<p>{{ TAGLINESUBHEAD }}</p>
|
||||
{% for article in articles_page.object_list %}
|
||||
<article>
|
||||
<header> <h2><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2> </header>
|
||||
<section>
|
||||
{% if INCLUDE_IMAGE == True %}
|
||||
{% if article.photo_image %}
|
||||
<a href="{{ SITEURL }}/{{ article.url }}" class="image">
|
||||
<img src="{{ SITEURL }}/{{ article.photo_image[2] }}" />
|
||||
</a>
|
||||
{% endif %}
|
||||
</header>
|
||||
<p>{{ TAGLINE }}</p>
|
||||
<ul class="actions">
|
||||
<li><a href="{{ BANNERLINK }}" class="button big">Learn More</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<span class="image object">
|
||||
<img src="{{ BANNERIMAGE }}" alt="" />
|
||||
</span>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{{ article.summary }}
|
||||
</section>
|
||||
<!-- <footer>
|
||||
<p>Published: <time datetime="{{ article.date.isoformat() }}"> {{ article.locale_date }} </time>
|
||||
<address>By
|
||||
{% for author in article.authors %}
|
||||
<a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>
|
||||
{% endfor %}
|
||||
</address></p>
|
||||
</footer>
|
||||
-->
|
||||
</article>
|
||||
{% endfor %}
|
||||
|
||||
{% if CORNERSTONE_CONTENT == True %}
|
||||
<!-- Cornerstone Pages -->
|
||||
<section id="cornerstone_pages">
|
||||
{% include 'include/cornerstone.html' %}
|
||||
<br />
|
||||
<br />
|
||||
</section>
|
||||
{% endif %}
|
||||
{% if articles_page.has_other_pages() %}
|
||||
{% include 'pagination.html' %}
|
||||
{% endif %}
|
||||
|
||||
{% if NEWSLETTER %}
|
||||
<section id="banner">
|
||||
{% include 'include/newsletter.html' %}
|
||||
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
<section>
|
||||
{% block content_title %}
|
||||
<header class="major">
|
||||
<h2>Articles</h2>
|
||||
</header>
|
||||
{% endblock %}
|
||||
{% include 'include/paginated_posts.html' %}
|
||||
</section><!-- /#content -->
|
||||
{% endif %}
|
||||
{% endblock content %}
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
{% extends "base.html" %}
|
||||
{% block html_lang %}{{ page.lang }}{% endblock %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - {{ page.title|striptags }}{%endblock%}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ page.title|striptags }}{%endblock%}
|
||||
|
||||
{% block head %}
|
||||
{% if page.status == "hidden" %}
|
||||
<meta name="robots" content="noindex">
|
||||
<meta name="robots" content="nofollow">
|
||||
<meta name="robots" content="noarchive">
|
||||
<meta name="robots" content="noindex">
|
||||
<meta name="robots" content="nofollow">
|
||||
<meta name="robots" content="noarchive">
|
||||
{% endif %}
|
||||
|
||||
{{ super() }}
|
||||
|
@ -23,35 +23,32 @@
|
|||
|
||||
<link rel="canonical" href="{{ SITEURL }}/{{ page.url }}" />
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block somemorehead %}
|
||||
{% if page.specialcss %}
|
||||
{% if page.specialcss %}
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css-include/{{ page.specialcss }}">
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
{% endblock somemorehead %}
|
||||
|
||||
<section id="content" class="body">
|
||||
{% block content %}
|
||||
<header>
|
||||
<h1>{{ page.title }}</h1>
|
||||
|
||||
{% block content %}
|
||||
<article>
|
||||
<header>
|
||||
<h2>{{ page.title }}</h2>
|
||||
</header>
|
||||
{% import 'translations.html' as translations with context %}
|
||||
{{ translations.translations_for(page) }}
|
||||
|
||||
</header>
|
||||
<div>
|
||||
|
||||
{{ page.content }}
|
||||
|
||||
{% if page.modified %}
|
||||
<footer id="post-info">
|
||||
<p>Last updated: {{ page.locale_modified }}</p>
|
||||
</footer>
|
||||
<footer>
|
||||
<p>
|
||||
Last updated: {{ page.locale_modified }}
|
||||
</p>
|
||||
</footer>
|
||||
{% endif %}
|
||||
</div>
|
||||
</section>
|
||||
</article>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
|
|
17
templates/pagination.html
Normal file
17
templates/pagination.html
Normal file
|
@ -0,0 +1,17 @@
|
|||
{% if DEFAULT_PAGINATION %}
|
||||
{% set first_page = articles_paginator.page(1) %}
|
||||
{% set last_page = articles_paginator.page(articles_paginator.num_pages) %}
|
||||
<nav>
|
||||
<ul>
|
||||
{% if articles_page.has_previous() %}
|
||||
<li><a href="{{ SITEURL }}/{{ first_page.url }}">⟪</a></li>
|
||||
<li><a href="{{ SITEURL }}/{{ articles_previous_page.url }}">⟨</a></li>
|
||||
{% endif %}
|
||||
<li>Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}</li>
|
||||
{% if articles_page.has_next() %}
|
||||
<li><a href="{{ SITEURL }}/{{ articles_next_page.url }}">⟩</a></li>
|
||||
<li><a href="{{ SITEURL }}/{{ last_page.url }}">⟫</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</nav>
|
||||
{% endif %}
|
|
@ -1,10 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - {{ period | reverse | join(' ') }} archives{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ period | reverse | join(' ') }} archives{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Archives for {{ period | reverse | join(' ') }}</h1>
|
||||
|
||||
{% include 'include/archive_list.html' %}
|
||||
<h2>Archives for {{ period | reverse | join(' ') }}</h2>
|
||||
|
||||
<dl>
|
||||
{% for article in dates %}
|
||||
<dt>{{ article.locale_date }}</dt>
|
||||
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
{% extends "articles_list_page.html" %}
|
||||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - {{ tag }} tag{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ tag }} tag{% endblock %}
|
||||
|
||||
{% block meta_description %}
|
||||
<meta name="description" content="{{ SITENAME }} articles about {{ tag }}">
|
||||
{% block content_title %}
|
||||
<h2>Articles tagged with {{ tag }}</h2>
|
||||
{% endblock %}
|
||||
|
||||
{% block header %}All posts tagged: {{ tag }}{% endblock %}
|
|
@ -1,12 +1,12 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Tags{% endblock %}
|
||||
{% block title %}{{ SITENAME|striptags }} - Tags{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Tags for {{ SITENAME }}</h1>
|
||||
<h2>Tags for {{ SITENAME }}</h2>
|
||||
<ul>
|
||||
{% for tag, articles in tags|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
{% for tag, articles in tags|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{% macro translations_for(article) %}
|
||||
{% if article.translations %}
|
||||
Translations:
|
||||
{% for translation in article.translations %}
|
||||
<a href="{{ SITEURL }}/{{ translation.url }}" hreflang="{{ translation.lang }}">{{ translation.lang }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if article.translations %}
|
||||
Translations:
|
||||
{% for translation in article.translations %}
|
||||
<a href="{{ SITEURL }}/{{ translation.url }}" hreflang="{{ translation.lang }}">{{ translation.lang }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro entry_hreflang(entry) %}
|
||||
{% if entry.translations %}
|
||||
{% for translation in entry.translations %}
|
||||
<link rel="alternate" hreflang="{{ translation.lang }}" href="{{ SITEURL }}/{{ translation.url }}">
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if entry.translations %}
|
||||
{% for translation in entry.translations %}
|
||||
<link rel="alternate" hreflang="{{ translation.lang }}" href="{{ SITEURL }}/{{ translation.url }}">
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
|
Loading…
Reference in a new issue