mirror of
https://github.com/nairobilug/pelican-alchemy.git
synced 2024-12-30 12:15:06 +01:00
This shit should work now
─────────▄──────────────▄ ────────▌▒█───────────▄▀▒▌ ────────▌▒▒▀▄───────▄▀▒▒▒▐ ───────▐▄▀▒▒▀▀▀▀▄▄▄▀▒▒▒▒▒▐ ─────▄▄▀▒▒▒▒▒▒▒▒▒▒▒█▒▒▄█▒▐ ───▄▀▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▀██▀▒▌ ──▐▒▒▒▄▄▄▒▒▒▒▒▒▒▒▒▒▒▒▒▀▄▒▒▌ ──▌▒▒▐▄█▀▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐ ─▐▒▒▒▒▒▒▒▒▒▒▒▌██▀▒▒▒▒▒▒▒▒▀▄▌ ─▌▒▀▄██▄▒▒▒▒▒▒▒▒▒▒▒░░░░▒▒▒▒▌ ─▌▀▐▄█▄█▌▄▒▀▒▒ Such commit ▐ ▐▒▀▐▀▐▀▒▒▄▄▒▄▒▒▒▒▒░░░░░░▒▒▒▒▌ ▐▒▒▒▀▀▄▄▒▒▒▄▒▒▒▒▒▒░░░░░░▒▒▒▐ ─▌▒▒▒▒▒▒▀▀▀▒▒▒▒▒▒▒▒ Wow ▒▒▒▌ ─▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▐ ──▀▄▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▄▒▒▒▒▌ ────▀▄▒▒▒▒▒▒▒▒▒▒▄▄▄▀▒▒▒▒▄▀ ───▐▀▒▀▄▄▄
This commit is contained in:
parent
b0de3673f3
commit
752ebd247c
49 changed files with 15854 additions and 270 deletions
15
alchemy/templates/archives.html
Normal file
15
alchemy/templates/archives.html
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Archives
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Archives</h1>
|
||||
<dl class="list dl-horizontal">
|
||||
{% for article in dates %}
|
||||
<dt>{{ article.locale_date }}</dt>
|
||||
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
{% endblock %}
|
||||
48
alchemy/templates/article.html
Normal file
48
alchemy/templates/article.html
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block head %}
|
||||
{{ super() }}
|
||||
{% if article.author %}
|
||||
<meta name="author" content="{{ article.author }}">
|
||||
{% endif %}
|
||||
{% if article.summary %}
|
||||
<meta name="description" content="{{ article.summary|striptags }}">
|
||||
{% endif %}
|
||||
<meta name="tags" contents="{% for tag in article.tags %}{{ tag }}, {% endfor %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — {{ article.title|striptags }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="post full-post">
|
||||
<h1 class="post-title">
|
||||
<a href="/{{ article.url }}" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
|
||||
</h1>
|
||||
<ul class="list-inline">
|
||||
<li class="post-date">
|
||||
<a class="text-muted" href="/{{ article.url }}" title="{{ article.date.isoformat() }}">{{ article.locale_date }}</a>
|
||||
</li>
|
||||
<li class="muted">·</li>
|
||||
<li class="post-category">
|
||||
<a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
|
||||
</li>
|
||||
{% if article.author and SHOW_ARTICLE_AUTHOR %}
|
||||
<li class="muted">·</li>
|
||||
<li>
|
||||
<address class="post-author">
|
||||
By <a href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a>
|
||||
</address>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
<div class="post-content">
|
||||
{{ article.content }}
|
||||
</div>
|
||||
</div>
|
||||
<hr class="separator">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
{% include 'include/disqus_comments.html' %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
9
alchemy/templates/author.html
Normal file
9
alchemy/templates/author.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Articles by {{ author }}
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}
|
||||
<h1>Articles by {{ author }}</h1>
|
||||
{% endblock %}
|
||||
14
alchemy/templates/authors.html
Normal file
14
alchemy/templates/authors.html
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Authors
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Authors on {{ SITENAME }}</h1>
|
||||
<ul class="list-unstyled">
|
||||
{% for author, articles in authors|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
|
|
@ -1,56 +1,36 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ DEFAULT_LANG }}">
|
||||
<head>
|
||||
{% block head_meta %}
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{% if article and article.author %}
|
||||
<meta name="author" content="{{ article.author }}">
|
||||
<meta name="copyright" content="{{ article.author }}">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
<title>{% block title %}{{ SITENAME|striptags }}{% endblock %}</title>
|
||||
{% block head_link %}
|
||||
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/styles.css">
|
||||
{%if USE_FAVICON %}
|
||||
<link rel="shortcut icon" href="{{ SITEURL }}/theme/images/favicon.ico" type="image/x-icon">
|
||||
<link rel="apple-touch-icon" href="{{ SITEURL }}/theme/images/apple-touch-icon.png">
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="{{ SITEURL }}/theme/images/apple-touch-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="{{ SITEURL }}/theme/images/apple-touch-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="{{ SITEURL }}/theme/images/apple-touch-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="{{ SITEURL }}/theme/images/apple-touch-icon-144x144.png">
|
||||
<link rel="icon" href="{{ SITEURL }}/theme/images/apple-touch-icon-144x144.png">
|
||||
{% endif %}
|
||||
{% if FEED_ATOM %}
|
||||
<link href="/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Atom Feed">
|
||||
{% endif %}
|
||||
{% if FEED_RSS %}
|
||||
<link href="/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} RSS Feed">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% block head_script %}
|
||||
{# HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries #}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<a href="#content" class="sr-only">Skip to main content</a>
|
||||
<div id="wrap">
|
||||
{% include "header.html" %}
|
||||
<div id="content">
|
||||
<head>
|
||||
{% block head %}
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<title>{% block title %}{{ SITENAME }}{% endblock title %}</title>
|
||||
|
||||
{% include "include/feeds.html" %}
|
||||
|
||||
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/style.css">
|
||||
|
||||
{# HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries #}
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
{# WARNING: Respond.js doesn't work if you view the page via file:// #}
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
{% include "include/google_analytics.html" %}
|
||||
{% endblock %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
{% include "header.html" %}
|
||||
|
||||
<div class="container">
|
||||
{% block content %}{% endblock %}
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% include "footer.html" %}
|
||||
{% block script %}
|
||||
<script src="{{ SITEURL }}/theme/js/jquery.min.js"></script>
|
||||
<script src="{{ SITEURL }}/theme/js/bootstrap.min.js"></script>
|
||||
{% endblock %}
|
||||
</body>
|
||||
|
||||
{% include "footer.html" %}
|
||||
</body> <!-- 42 -->
|
||||
|
||||
</html>
|
||||
|
|
|
|||
14
alchemy/templates/categories.html
Normal file
14
alchemy/templates/categories.html
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Categories
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Categories on {{ SITENAME }}</h1>
|
||||
<ul class="list-unstyled">
|
||||
{% for category, articles in categories %}
|
||||
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
9
alchemy/templates/category.html
Normal file
9
alchemy/templates/category.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Articles in the {{ category }} category
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}
|
||||
<h1>Articles in the {{ category }} category</h1>
|
||||
{% endblock %}
|
||||
|
|
@ -1,5 +1,10 @@
|
|||
<div id="footer">
|
||||
<div class="container">
|
||||
<div>© {{ SITENAME }}, license <a href="{{ LICENSE_URL}}"> {{ LICENSE_NAME }}</a> unless otherwise noted. Generated by <a href= "http://docs.getpelican.com/">Pelican</a> using the <a href="http://github.com/nairobilug/pelican-alchemy">alchemy</a> theme.</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer">
|
||||
<div class="container">
|
||||
<p class="text-center">
|
||||
{{ AUTHOR }}, <a href="{{ LICENSE_URL}}" target="_blank">{{ LICENSE_NAME }}</a> unless otherwise noted.
|
||||
</p>
|
||||
<div class="text-center">
|
||||
Generated by <a href="http://getpelican.com" target="_blank">Pelican</a> with the <a href="http://github.com/nairobilug/pelican-alchemy">alchemy</a> theme.
|
||||
</div>
|
||||
</div>
|
||||
</footer> <!-- /.footer -->
|
||||
|
|
|
|||
|
|
@ -1,11 +1,38 @@
|
|||
<div id="header">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<a class="site-logo" href="{{ SITEURL }}" title="{{ SITENAME|striptags }}">
|
||||
<img class="img-responsive" src="{{ PROFILE_IMAGE_URL }}">
|
||||
</a>
|
||||
</div>
|
||||
<header class="header">
|
||||
<div class="container">
|
||||
{% if PROFILE_IMAGE %}
|
||||
<div class="header-image pull-left">
|
||||
<a class="nodec" href="{{ SITEURL }}"><img src={{ PROFILE_IMAGE }}></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="header-inner">
|
||||
<h1 class="header-name">
|
||||
<a class="nodec" href="{{ SITEURL }}">{{ SITENAME }}</a>
|
||||
</h1>
|
||||
<h3 class="header-text">{{ SITETEXT }}</h3>
|
||||
<ul class="header-menu list-inline">
|
||||
{% for title, link in MENU_ITEMS %}
|
||||
<li><a class="nodec" href="{{ link }}">{{ title }}</a></li>
|
||||
{% endfor %}
|
||||
{% if EMAIL_ADDRESS %}
|
||||
<li><a class="nodec icon-mail-alt" href="mailto:{{ EMAIL_ADDRESS }}"></a></li>
|
||||
{% endif %}
|
||||
{% if GITHUB_ADDRESS %}
|
||||
<li><a class="nodec icon-github" href="{{ GITHUB_ADDRESS }}"></a></li>
|
||||
{% endif %}
|
||||
{% if SO_ADDRESS %}
|
||||
<li><a class="nodec icon-stackoverflow" href="{{ SO_ADDRESS }}"></a></li>
|
||||
{% endif %}
|
||||
{% if TWITTER_ADDRESS %}
|
||||
<li><a class="nodec icon-twitter" href="{{ TWITTER_ADDRESS }}"></a></li>
|
||||
{% endif %}
|
||||
{% if FB_ADDRESS %}
|
||||
<li><a class="nodec icon-facebook" href="{{ FB_ADDRESS }}"></a></li>
|
||||
{% endif %}
|
||||
{% if FEED_ATOM or FEED_RSS %}
|
||||
<li><a class="nodec icon-rss" href="/{% if FEED_ATOM %}{{ FEED_ATOM }}{% else %}{{ FEED_RSS }}{% endif %}"></a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header> <!-- /.header -->
|
||||
|
|
|
|||
25
alchemy/templates/include/article_list.html
Normal file
25
alchemy/templates/include/article_list.html
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<div class="post mini-post">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<p class="post-date">
|
||||
<a class="text-muted" href="/{{ article.url }}" title="{{ article.date.isoformat() }}">{{ article.locale_date }}</a>
|
||||
</p>
|
||||
<p class="post-category">
|
||||
<a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
|
||||
</p>
|
||||
{% if article.author and SHOW_ARTICLE_AUTHOR %}
|
||||
<address class="post-author">
|
||||
By <a href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a>
|
||||
</address>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<h2 class="post-title">
|
||||
<a href="/{{ article.url }}" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
|
||||
</h2>
|
||||
<div class="post-content">
|
||||
{{ article.content|striptags|truncate(256) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
24
alchemy/templates/include/disqus_comments.html
Normal file
24
alchemy/templates/include/disqus_comments.html
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{% if DISQUS_SITENAME %}
|
||||
<div id="disqus_thread">
|
||||
<script>
|
||||
var disqus_shortname = '{{ DISQUS_SITENAME }}';
|
||||
(function() {
|
||||
var dsq = document.createElement('script');
|
||||
dsq.type = 'text/javascript';
|
||||
dsq.async = true;
|
||||
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
|
||||
(document.getElementsByTagName('head')[0] ||
|
||||
document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript>
|
||||
Please enable JavaScript to view the
|
||||
<a href="http://disqus.com/?ref_noscript={{ DISQUS_SITENAME }}">
|
||||
comments powered by Disqus.
|
||||
</a>
|
||||
</noscript>
|
||||
<a href="http://disqus.com" class="dsq-brlink">
|
||||
blog comments powered by <span class="logo-disqus">Disqus</span>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
6
alchemy/templates/include/feeds.html
Normal file
6
alchemy/templates/include/feeds.html
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{% if FEED_ATOM %}
|
||||
<link type="application/atom+xml" rel="alternate" href="/{{ FEED_ATOM }}" title="{{ SITENAME }} Atom Feed">
|
||||
{% endif %}
|
||||
{% if FEED_RSS %}
|
||||
<link type="application/rss+xml" rel="alternate" href="/{{ FEED_RSS }}" title="{{ SITENAME }} RSS Feed">
|
||||
{% endif %}
|
||||
17
alchemy/templates/include/google_analytics.html
Normal file
17
alchemy/templates/include/google_analytics.html
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{% if GOOGLE_ANALYTICS_ID and GOOGLE_ANALYTICS_DOMAIN %}
|
||||
<script>
|
||||
(function (i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function () {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
ga('create', '{{ GOOGLE_ANALYTICS_ID }}', '{{ GOOGLE_ANALYTICS_DOMAIN }}');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
{% endif %}
|
||||
|
|
@ -1,48 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ super() }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page">
|
||||
{% block content_title %}
|
||||
<h3 class="page-title">All Articles</h2>
|
||||
{% block page_title %}
|
||||
<h1>All Articles</h1>
|
||||
{% endblock %}
|
||||
<ul class="article-list list-unstyled">
|
||||
{% for article in articles_page.object_list %}
|
||||
<li class="list-item">
|
||||
<article class="article">
|
||||
<header class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="article-title">
|
||||
<a href="/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
{% if article.author and SHOW_ARTICLE_AUTHOR %}
|
||||
<li class="article-author">
|
||||
<address>
|
||||
<a class="text-muted" href="{{ SITEURL }}/{{ article.author.url }}">{{ article.author }}</a>
|
||||
</address>
|
||||
</li>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<li class="article-category">
|
||||
<a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }}</a>
|
||||
</li>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<li class="article-date" title="{{ article.date.isoformat() }}">
|
||||
{{ article.locale_date }}
|
||||
</li>
|
||||
</div>
|
||||
</header>
|
||||
</article>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<div>
|
||||
{% for article in articles_page.object_list %}
|
||||
{% include "include/article_list.html" %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% include 'pagination.html' %}
|
||||
</div>
|
||||
{% endblock content %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
|||
25
alchemy/templates/page.html
Normal file
25
alchemy/templates/page.html
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block head %}
|
||||
{{ super() }}
|
||||
{% if page.author %}
|
||||
<meta name="author" content="{{ page.author }}">
|
||||
{% endif %}
|
||||
{% if page.summary %}
|
||||
<meta name="description" content="{{ page.summary|striptags }}">
|
||||
{% endif %}
|
||||
<meta name="tags" contents="{% for tag in page.tags %}{{ tag }}, {% endfor %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — {{ page.title|striptags }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="page">
|
||||
<h1 class="title">{{ page.title }}</h1>
|
||||
<div class="content">
|
||||
{{ page.content }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
{% if DEFAULT_PAGINATION %}
|
||||
<ul class="pagination">
|
||||
<li{% if not articles_page.has_previous() %} class="disabled"{% endif %}>
|
||||
<a {% if articles_page.has_previous() %}href="{{ SITEURL }}/{{ articles_previous_page.url }}"{% else %}href="#"{% endif %}>«</a>
|
||||
</li>
|
||||
<li><a href="#">Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}</a></li>
|
||||
<li{% if not articles_page.has_next() %} class="disabled"{% endif %}>
|
||||
<a {% if articles_page.has_next() %}href="{{ SITEURL }}/{{ articles_next_page.url }}"{% else %}href="#"{% endif %}>»</a>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="pagination">
|
||||
{% if articles_page.has_previous() %}
|
||||
<li><a href="{{ SITEURL }}/{{ articles_previous_page.url }}">«</a></li>
|
||||
{% endif %}
|
||||
<li class="disabled"><a href="#">Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}</a></li>
|
||||
{% if articles_page.has_next() %}
|
||||
<li><a href="{{ SITEURL }}/{{ articles_next_page.url }}">»</a></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
|
|
|||
9
alchemy/templates/tag.html
Normal file
9
alchemy/templates/tag.html
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Articles with the {{ tag }} tag
|
||||
{% endblock %}
|
||||
|
||||
{% block page_title %}
|
||||
<h1>Articles with the {{ tag }} tag</h1>
|
||||
{% endblock %}
|
||||
14
alchemy/templates/tags.html
Normal file
14
alchemy/templates/tags.html
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
{{ SITENAME }} — Tags
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Tags on {{ SITENAME }}</h1>
|
||||
<ul class="list-unstyled">
|
||||
{% for tag, articles in tags|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue