artilecls list by tag and author
This commit is contained in:
parent
2db8e49cdb
commit
2fee5e9d3e
22 changed files with 962 additions and 4 deletions
38
static/css/code_blocks/darkly.css
Normal file
38
static/css/code_blocks/darkly.css
Normal file
|
@ -0,0 +1,38 @@
|
|||
/*
|
||||
Darkly Pygments Theme
|
||||
(c) 2014 Sourcey
|
||||
http://sourcey.com
|
||||
*/
|
||||
|
||||
pre {
|
||||
white-space: pre;
|
||||
overflow: auto;
|
||||
word-wrap: normal; /* horizontal scrolling */
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
padding: 20px;
|
||||
background: #343642;
|
||||
color: #C1C2C3;
|
||||
}
|
||||
|
||||
.hll { background-color: #ffc; }
|
||||
.gd { color: #2e3436; background-color: #0e1416; }
|
||||
.gr { color: #eeeeec; background-color: #c00; }
|
||||
.gi { color: #babdb6; background-color: #1f2b2d; }
|
||||
.go { color: #2c3032; background-color: #2c3032; }
|
||||
.kt { color: #e3e7df; }
|
||||
.ni { color: #888a85; }
|
||||
.c,.cm,.c1,.cs { color: #8D9684; }
|
||||
.err,.g,.l,.n,.x,.p,.ge,
|
||||
.gp,.gs,.gt,.ld,.s,.nc,.nd,
|
||||
.ne,.nl,.nn,.nx,.py,.ow,.w,.sb,
|
||||
.sc,.sd,.s2,.se,.sh,.si,.sx,.sr,
|
||||
.s1,.ss,.bp { color: #C1C2C3; }
|
||||
.k,.kc,.kd,.kn,.kp,.kr,
|
||||
.nt { color: #729fcf; }
|
||||
.cp,.gh,.gu,.na,.nf { color: #E9A94B ; }
|
||||
.m,.nb,.no,.mf,.mh,.mi,.mo,
|
||||
.il { color: #8ae234; }
|
||||
.o { color: #989DAA; }
|
||||
.nv,.vc,.vg,.vi { color: #fff; }
|
84
static/css/code_blocks/github.css
Normal file
84
static/css/code_blocks/github.css
Normal file
|
@ -0,0 +1,84 @@
|
|||
/* to make lines scroll instead of wrap */
|
||||
/* from http://stackoverflow.com/a/23393920 */
|
||||
|
||||
.highlight pre code * {
|
||||
white-space: nowrap; // this sets all children inside to nowrap
|
||||
}
|
||||
|
||||
.highlight pre {
|
||||
overflow-x: auto; // this sets the scrolling in x
|
||||
}
|
||||
|
||||
.highlight pre code {
|
||||
white-space: pre; // forces <code> to respect <pre> formatting
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* GitHub style for Pygments syntax highlighter, for use with Jekyll
|
||||
* Courtesy of GitHub.com
|
||||
*/
|
||||
|
||||
.highlight pre, pre, .highlight .hll { background-color: #f8f8f8; border: 1px solid #ccc; padding: 6px 10px; border-radius: 3px; }
|
||||
.highlight .c { color: #999988; font-style: italic; }
|
||||
.highlight .err { color: #a61717; background-color: #e3d2d2; }
|
||||
.highlight .k { font-weight: bold; }
|
||||
.highlight .o { font-weight: bold; }
|
||||
.highlight .cm { color: #999988; font-style: italic; }
|
||||
.highlight .cp { color: #999999; font-weight: bold; }
|
||||
.highlight .c1 { color: #999988; font-style: italic; }
|
||||
.highlight .cs { color: #999999; font-weight: bold; font-style: italic; }
|
||||
.highlight .gd { color: #000000; background-color: #ffdddd; }
|
||||
.highlight .gd .x { color: #000000; background-color: #ffaaaa; }
|
||||
.highlight .ge { font-style: italic; }
|
||||
.highlight .gr { color: #aa0000; }
|
||||
.highlight .gh { color: #999999; }
|
||||
.highlight .gi { color: #000000; background-color: #ddffdd; }
|
||||
.highlight .gi .x { color: #000000; background-color: #aaffaa; }
|
||||
.highlight .go { color: #888888; }
|
||||
.highlight .gp { color: #555555; }
|
||||
.highlight .gs { font-weight: bold; }
|
||||
.highlight .gu { color: #800080; font-weight: bold; }
|
||||
.highlight .gt { color: #aa0000; }
|
||||
.highlight .kc { font-weight: bold; }
|
||||
.highlight .kd { font-weight: bold; }
|
||||
.highlight .kn { font-weight: bold; }
|
||||
.highlight .kp { font-weight: bold; }
|
||||
.highlight .kr { font-weight: bold; }
|
||||
.highlight .kt { color: #445588; font-weight: bold; }
|
||||
.highlight .m { color: #009999; }
|
||||
.highlight .s { color: #dd1144; }
|
||||
.highlight .n { color: #333333; }
|
||||
.highlight .na { color: teal; }
|
||||
.highlight .nb { color: #0086b3; }
|
||||
.highlight .nc { color: #445588; font-weight: bold; }
|
||||
.highlight .no { color: teal; }
|
||||
.highlight .ni { color: purple; }
|
||||
.highlight .ne { color: #990000; font-weight: bold; }
|
||||
.highlight .nf { color: #990000; font-weight: bold; }
|
||||
.highlight .nn { color: #555555; }
|
||||
.highlight .nt { color: navy; }
|
||||
.highlight .nv { color: teal; }
|
||||
.highlight .ow { font-weight: bold; }
|
||||
.highlight .w { color: #bbbbbb; }
|
||||
.highlight .mf { color: #009999; }
|
||||
.highlight .mh { color: #009999; }
|
||||
.highlight .mi { color: #009999; }
|
||||
.highlight .mo { color: #009999; }
|
||||
.highlight .sb { color: #dd1144; }
|
||||
.highlight .sc { color: #dd1144; }
|
||||
.highlight .sd { color: #dd1144; }
|
||||
.highlight .s2 { color: #dd1144; }
|
||||
.highlight .se { color: #dd1144; }
|
||||
.highlight .sh { color: #dd1144; }
|
||||
.highlight .si { color: #dd1144; }
|
||||
.highlight .sx { color: #dd1144; }
|
||||
.highlight .sr { color: #009926; }
|
||||
.highlight .s1 { color: #dd1144; }
|
||||
.highlight .ss { color: #990073; }
|
||||
.highlight .bp { color: #999999; }
|
||||
.highlight .vc { color: teal; }
|
||||
.highlight .vg { color: teal; }
|
||||
.highlight .vi { color: teal; }
|
||||
.highlight .il { color: #009999; }
|
||||
.highlight .gc { color: #999; background-color: #EAF2F5; }
|
80
static/css/code_blocks/monokai.css
Normal file
80
static/css/code_blocks/monokai.css
Normal file
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
Monokai Pygments Theme
|
||||
*/
|
||||
|
||||
pre {
|
||||
white-space: pre;
|
||||
overflow: auto;
|
||||
word-wrap: normal; /* horizontal scrolling */
|
||||
-moz-border-radius: 3px;
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
padding: 20px;
|
||||
background: #343642;
|
||||
color: #C1C2C3;
|
||||
}
|
||||
|
||||
.hll { background-color: #49483e }
|
||||
.c { color: #75715e } /* Comment */
|
||||
.err { color: #960050; background-color: #1e0010 } /* Error */
|
||||
.k { color: #66d9ef } /* Keyword */
|
||||
.l { color: #ae81ff } /* Literal */
|
||||
.n { color: #f8f8f2 } /* Name */
|
||||
.o { color: #f92672 } /* Operator */
|
||||
.p { color: #f8f8f2 } /* Punctuation */
|
||||
.cm { color: #75715e } /* Comment.Multiline */
|
||||
.cp { color: #75715e } /* Comment.Preproc */
|
||||
.c1 { color: #75715e } /* Comment.Single */
|
||||
.cs { color: #75715e } /* Comment.Special */
|
||||
.ge { font-style: italic } /* Generic.Emph */
|
||||
.gs { font-weight: bold } /* Generic.Strong */
|
||||
.kc { color: #66d9ef } /* Keyword.Constant */
|
||||
.kd { color: #66d9ef } /* Keyword.Declaration */
|
||||
.kn { color: #f92672 } /* Keyword.Namespace */
|
||||
.kp { color: #66d9ef } /* Keyword.Pseudo */
|
||||
.kr { color: #66d9ef } /* Keyword.Reserved */
|
||||
.kt { color: #66d9ef } /* Keyword.Type */
|
||||
.ld { color: #e6db74 } /* Literal.Date */
|
||||
.m { color: #ae81ff } /* Literal.Number */
|
||||
.s { color: #e6db74 } /* Literal.String */
|
||||
.na { color: #a6e22e } /* Name.Attribute */
|
||||
.nb { color: #f8f8f2 } /* Name.Builtin */
|
||||
.nc { color: #a6e22e } /* Name.Class */
|
||||
.no { color: #66d9ef } /* Name.Constant */
|
||||
.nd { color: #a6e22e } /* Name.Decorator */
|
||||
.ni { color: #f8f8f2 } /* Name.Entity */
|
||||
.ne { color: #a6e22e } /* Name.Exception */
|
||||
.nf { color: #a6e22e } /* Name.Function */
|
||||
.nl { color: #f8f8f2 } /* Name.Label */
|
||||
.nn { color: #f8f8f2 } /* Name.Namespace */
|
||||
.nx { color: #a6e22e } /* Name.Other */
|
||||
.py { color: #f8f8f2 } /* Name.Property */
|
||||
.nt { color: #f92672 } /* Name.Tag */
|
||||
.nv { color: #f8f8f2 } /* Name.Variable */
|
||||
.ow { color: #f92672 } /* Operator.Word */
|
||||
.w { color: #f8f8f2 } /* Text.Whitespace */
|
||||
.mf { color: #ae81ff } /* Literal.Number.Float */
|
||||
.mh { color: #ae81ff } /* Literal.Number.Hex */
|
||||
.mi { color: #ae81ff } /* Literal.Number.Integer */
|
||||
.mo { color: #ae81ff } /* Literal.Number.Oct */
|
||||
.sb { color: #e6db74 } /* Literal.String.Backtick */
|
||||
.sc { color: #e6db74 } /* Literal.String.Char */
|
||||
.sd { color: #e6db74 } /* Literal.String.Doc */
|
||||
.s2 { color: #e6db74 } /* Literal.String.Double */
|
||||
.se { color: #ae81ff } /* Literal.String.Escape */
|
||||
.sh { color: #e6db74 } /* Literal.String.Heredoc */
|
||||
.si { color: #e6db74 } /* Literal.String.Interpol */
|
||||
.sx { color: #e6db74 } /* Literal.String.Other */
|
||||
.sr { color: #e6db74 } /* Literal.String.Regex */
|
||||
.s1 { color: #e6db74 } /* Literal.String.Single */
|
||||
.ss { color: #e6db74 } /* Literal.String.Symbol */
|
||||
.bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
|
||||
.vc { color: #f8f8f2 } /* Name.Variable.Class */
|
||||
.vg { color: #f8f8f2 } /* Name.Variable.Global */
|
||||
.vi { color: #f8f8f2 } /* Name.Variable.Instance */
|
||||
.il { color: #ae81ff } /* Literal.Number.Integer.Long */
|
||||
|
||||
.gh { } /* Generic Heading & Diff Header */
|
||||
.gu { color: #75715e; } /* Generic.Subheading & Diff Unified/Comment? */
|
||||
.gd { color: #f92672; } /* Generic.Deleted & Diff Deleted */
|
||||
.gi { color: #a6e22e; } /* Generic.Inserted & Diff Inserted */
|
70
static/css/code_blocks/tomorrow.css
Normal file
70
static/css/code_blocks/tomorrow.css
Normal file
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
Tomorrow Pygments Theme
|
||||
*/
|
||||
|
||||
pre { background: #ffffff; color: #4d4d4c }
|
||||
|
||||
.hll { background-color: #d6d6d6 }
|
||||
.c { color: #8e908c } /* Comment */
|
||||
.err { color: #c82829 } /* Error */
|
||||
.k { color: #8959a8 } /* Keyword */
|
||||
.l { color: #f5871f } /* Literal */
|
||||
.n { color: #4d4d4c } /* Name */
|
||||
.o { color: #3e999f } /* Operator */
|
||||
.p { color: #4d4d4c } /* Punctuation */
|
||||
.cm { color: #8e908c } /* Comment.Multiline */
|
||||
.cp { color: #8e908c } /* Comment.Preproc */
|
||||
.c1 { color: #8e908c } /* Comment.Single */
|
||||
.cs { color: #8e908c } /* Comment.Special */
|
||||
.gd { color: #c82829 } /* Generic.Deleted */
|
||||
.ge { font-style: italic } /* Generic.Emph */
|
||||
.gh { color: #4d4d4c; font-weight: bold } /* Generic.Heading */
|
||||
.gi { color: #718c00 } /* Generic.Inserted */
|
||||
.gp { color: #8e908c; font-weight: bold } /* Generic.Prompt */
|
||||
.gs { font-weight: bold } /* Generic.Strong */
|
||||
.gu { color: #3e999f; font-weight: bold } /* Generic.Subheading */
|
||||
.kc { color: #8959a8 } /* Keyword.Constant */
|
||||
.kd { color: #8959a8 } /* Keyword.Declaration */
|
||||
.kn { color: #3e999f } /* Keyword.Namespace */
|
||||
.kp { color: #8959a8 } /* Keyword.Pseudo */
|
||||
.kr { color: #8959a8 } /* Keyword.Reserved */
|
||||
.kt { color: #eab700 } /* Keyword.Type */
|
||||
.ld { color: #718c00 } /* Literal.Date */
|
||||
.m { color: #f5871f } /* Literal.Number */
|
||||
.s { color: #718c00 } /* Literal.String */
|
||||
.na { color: #4271ae } /* Name.Attribute */
|
||||
.nb { color: #4d4d4c } /* Name.Builtin */
|
||||
.nc { color: #eab700 } /* Name.Class */
|
||||
.no { color: #c82829 } /* Name.Constant */
|
||||
.nd { color: #3e999f } /* Name.Decorator */
|
||||
.ni { color: #4d4d4c } /* Name.Entity */
|
||||
.ne { color: #c82829 } /* Name.Exception */
|
||||
.nf { color: #4271ae } /* Name.Function */
|
||||
.nl { color: #4d4d4c } /* Name.Label */
|
||||
.nn { color: #eab700 } /* Name.Namespace */
|
||||
.nx { color: #4271ae } /* Name.Other */
|
||||
.py { color: #4d4d4c } /* Name.Property */
|
||||
.nt { color: #3e999f } /* Name.Tag */
|
||||
.nv { color: #c82829 } /* Name.Variable */
|
||||
.ow { color: #3e999f } /* Operator.Word */
|
||||
.w { color: #4d4d4c } /* Text.Whitespace */
|
||||
.mf { color: #f5871f } /* Literal.Number.Float */
|
||||
.mh { color: #f5871f } /* Literal.Number.Hex */
|
||||
.mi { color: #f5871f } /* Literal.Number.Integer */
|
||||
.mo { color: #f5871f } /* Literal.Number.Oct */
|
||||
.sb { color: #718c00 } /* Literal.String.Backtick */
|
||||
.sc { color: #4d4d4c } /* Literal.String.Char */
|
||||
.sd { color: #8e908c } /* Literal.String.Doc */
|
||||
.s2 { color: #718c00 } /* Literal.String.Double */
|
||||
.se { color: #f5871f } /* Literal.String.Escape */
|
||||
.sh { color: #718c00 } /* Literal.String.Heredoc */
|
||||
.si { color: #f5871f } /* Literal.String.Interpol */
|
||||
.sx { color: #718c00 } /* Literal.String.Other */
|
||||
.sr { color: #718c00 } /* Literal.String.Regex */
|
||||
.s1 { color: #718c00 } /* Literal.String.Single */
|
||||
.ss { color: #718c00 } /* Literal.String.Symbol */
|
||||
.bp { color: #4d4d4c } /* Name.Builtin.Pseudo */
|
||||
.vc { color: #c82829 } /* Name.Variable.Class */
|
||||
.vg { color: #c82829 } /* Name.Variable.Global */
|
||||
.vi { color: #c82829 } /* Name.Variable.Instance */
|
||||
.il { color: #f5871f } /* Literal.Number.Integer.Long */
|
70
static/css/code_blocks/tomorrow_night.css
Normal file
70
static/css/code_blocks/tomorrow_night.css
Normal file
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
Tomorrow Night Pygments Theme
|
||||
*/
|
||||
|
||||
pre { background: #1d1f21; color: #c5c8c6 }
|
||||
|
||||
.hll { background-color: #373b41 }
|
||||
.c { color: #969896 } /* Comment */
|
||||
.err { color: #cc6666 } /* Error */
|
||||
.k { color: #b294bb } /* Keyword */
|
||||
.l { color: #de935f } /* Literal */
|
||||
.n { color: #c5c8c6 } /* Name */
|
||||
.o { color: #8abeb7 } /* Operator */
|
||||
.p { color: #c5c8c6 } /* Punctuation */
|
||||
.cm { color: #969896 } /* Comment.Multiline */
|
||||
.cp { color: #969896 } /* Comment.Preproc */
|
||||
.c1 { color: #969896 } /* Comment.Single */
|
||||
.cs { color: #969896 } /* Comment.Special */
|
||||
.gd { color: #cc6666 } /* Generic.Deleted */
|
||||
.ge { font-style: italic } /* Generic.Emph */
|
||||
.gh { color: #c5c8c6; font-weight: bold } /* Generic.Heading */
|
||||
.gi { color: #b5bd68 } /* Generic.Inserted */
|
||||
.gp { color: #969896; font-weight: bold } /* Generic.Prompt */
|
||||
.gs { font-weight: bold } /* Generic.Strong */
|
||||
.gu { color: #8abeb7; font-weight: bold } /* Generic.Subheading */
|
||||
.kc { color: #b294bb } /* Keyword.Constant */
|
||||
.kd { color: #b294bb } /* Keyword.Declaration */
|
||||
.kn { color: #8abeb7 } /* Keyword.Namespace */
|
||||
.kp { color: #b294bb } /* Keyword.Pseudo */
|
||||
.kr { color: #b294bb } /* Keyword.Reserved */
|
||||
.kt { color: #f0c674 } /* Keyword.Type */
|
||||
.ld { color: #b5bd68 } /* Literal.Date */
|
||||
.m { color: #de935f } /* Literal.Number */
|
||||
.s { color: #b5bd68 } /* Literal.String */
|
||||
.na { color: #81a2be } /* Name.Attribute */
|
||||
.nb { color: #c5c8c6 } /* Name.Builtin */
|
||||
.nc { color: #f0c674 } /* Name.Class */
|
||||
.no { color: #cc6666 } /* Name.Constant */
|
||||
.nd { color: #8abeb7 } /* Name.Decorator */
|
||||
.ni { color: #c5c8c6 } /* Name.Entity */
|
||||
.ne { color: #cc6666 } /* Name.Exception */
|
||||
.nf { color: #81a2be } /* Name.Function */
|
||||
.nl { color: #c5c8c6 } /* Name.Label */
|
||||
.nn { color: #f0c674 } /* Name.Namespace */
|
||||
.nx { color: #81a2be } /* Name.Other */
|
||||
.py { color: #c5c8c6 } /* Name.Property */
|
||||
.nt { color: #8abeb7 } /* Name.Tag */
|
||||
.nv { color: #cc6666 } /* Name.Variable */
|
||||
.ow { color: #8abeb7 } /* Operator.Word */
|
||||
.w { color: #c5c8c6 } /* Text.Whitespace */
|
||||
.mf { color: #de935f } /* Literal.Number.Float */
|
||||
.mh { color: #de935f } /* Literal.Number.Hex */
|
||||
.mi { color: #de935f } /* Literal.Number.Integer */
|
||||
.mo { color: #de935f } /* Literal.Number.Oct */
|
||||
.sb { color: #b5bd68 } /* Literal.String.Backtick */
|
||||
.sc { color: #c5c8c6 } /* Literal.String.Char */
|
||||
.sd { color: #969896 } /* Literal.String.Doc */
|
||||
.s2 { color: #b5bd68 } /* Literal.String.Double */
|
||||
.se { color: #de935f } /* Literal.String.Escape */
|
||||
.sh { color: #b5bd68 } /* Literal.String.Heredoc */
|
||||
.si { color: #de935f } /* Literal.String.Interpol */
|
||||
.sx { color: #b5bd68 } /* Literal.String.Other */
|
||||
.sr { color: #b5bd68 } /* Literal.String.Regex */
|
||||
.s1 { color: #b5bd68 } /* Literal.String.Single */
|
||||
.ss { color: #b5bd68 } /* Literal.String.Symbol */
|
||||
.bp { color: #c5c8c6 } /* Name.Builtin.Pseudo */
|
||||
.vc { color: #cc6666 } /* Name.Variable.Class */
|
||||
.vg { color: #cc6666 } /* Name.Variable.Global */
|
||||
.vi { color: #cc6666 } /* Name.Variable.Instance */
|
||||
.il { color: #de935f } /* Literal.Number.Integer.Long */
|
BIN
static/images/about-bg.jpg
Executable file
BIN
static/images/about-bg.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
BIN
static/images/contact-bg.jpg
Executable file
BIN
static/images/contact-bg.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 283 KiB |
BIN
static/images/home-bg.jpg
Executable file
BIN
static/images/home-bg.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 169 KiB |
BIN
static/images/post-bg.jpg
Executable file
BIN
static/images/post-bg.jpg
Executable file
Binary file not shown.
After Width: | Height: | Size: 138 KiB |
|
@ -0,0 +1,183 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}{{ article.title }}{% endblock %}
|
||||
|
||||
{% block head %}
|
||||
{{ super() }}
|
||||
|
||||
{% for keyword in article.keywords %}
|
||||
<meta name="keywords" content="{{keyword}}" >
|
||||
{% endfor %}
|
||||
|
||||
{% if description %}
|
||||
<meta name="description" content="{{ description }}">
|
||||
{% elif article.headline %}
|
||||
<meta name="description" content="{{ article.headline }}">
|
||||
{% elif article.summary %}
|
||||
<meta name="description" content="{{ article.summary|striptags|truncate(140) }}">
|
||||
{% endif %}
|
||||
|
||||
{% for author in article.authors %}
|
||||
<meta name="author" content="{{ author }}">
|
||||
{% endfor %}
|
||||
|
||||
{% for tag in article.tags %}
|
||||
<meta name="tags" content="{{tag}}">
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
||||
{% block twitter_card %}
|
||||
{% for name,link in SOCIAL if name in ['twitter'] %}
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@{{ link|replace('http://', 'https://')|replace('https://twitter.com/', '') }}">
|
||||
<meta name="twitter:title" content="{{ article.title }}">
|
||||
|
||||
{% if article.twitter_image %}
|
||||
{% if article.twitter_image|lower|truncate(4, True, '') == "http" %}
|
||||
<meta property="twitter:image" content="{{ article.twitter_image }}">
|
||||
{% else %}
|
||||
<meta property="twitter:image" content="{{ SITEURL }}/{{ article.twitter_image }}">
|
||||
{% endif %}
|
||||
{% elif article.header_cover %}
|
||||
<meta name="twitter:image" content="{{ SITEURL }}/{{ article.header_cover }}">
|
||||
{% elif HEADER_COVER %}
|
||||
<meta name="twitter:image" content="{{ SITEURL }}/{{ HEADER_COVER }}">
|
||||
{% else %}
|
||||
<meta name="twitter:image" content="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg">
|
||||
{% endif %}
|
||||
|
||||
{% if description %}
|
||||
<meta name="twitter:description" content="{{ description }}">
|
||||
{% elif article.headline %}
|
||||
<meta name="twitter:description" content="{{ article.headline }}">
|
||||
{% else %}
|
||||
<meta name="twitter:description" content="{{ article.summary|striptags|truncate(140) }}">
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
{% block opengraph %}
|
||||
{{ super() }}
|
||||
<meta property="og:type" content="article">
|
||||
{% for author in article.authors %}
|
||||
<meta property="article:author" content="{{ SITEURL }}/{{ author.url }}">
|
||||
{% endfor %}
|
||||
<meta property="og:url" content="{{ SITEURL }}/{{ article.url }}">
|
||||
<meta property="og:title" content="{{ article.title }}">
|
||||
<meta property="article:published_time" content="{{ article.date }}">
|
||||
{% if description %}
|
||||
<meta property="og:description" content="{{ description }}">
|
||||
{% elif article.headline %}
|
||||
<meta property="og:description" content="{{ article.headline }}">
|
||||
{% elif article.summary %}
|
||||
<meta property="og:description" content="{{ article.summary|striptags|truncate(140) }}">
|
||||
{% endif %}
|
||||
|
||||
{% if article.og_image %}
|
||||
{% if article.og_image|lower|truncate(4, True, '') == "http" %}
|
||||
<meta property="og:image" content="{{ article.og_image }}">
|
||||
{% else %}
|
||||
<meta property="og:image" content="{{ SITEURL }}/{{ article.og_image }}">
|
||||
{% endif %}
|
||||
{% elif article.header_cover %}
|
||||
<meta property="og:image" content="{{ SITEURL }}/{{ article.header_cover }}">
|
||||
{% elif HEADER_COVER %}
|
||||
<meta property="og:image" content="{{ SITEURL }}/{{ HEADER_COVER }}">
|
||||
{% else %}
|
||||
<meta property="og:image" content="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg">
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
<!-- Page Header -->
|
||||
<!-- Set your background image for this header on the line below. -->
|
||||
<header id="post-header" class="has-cover">
|
||||
<div class="inner">
|
||||
<nav id="navigation">
|
||||
{% if SITE_LOGO %}
|
||||
<span class="blog-logo">
|
||||
<a href="{{ SITEURL }}"><img src="{{SITE_LOGO}}" alt="Blog Logo" /></a>
|
||||
</span>
|
||||
{% else %}
|
||||
<span id="home-button" class="nav-button">
|
||||
<a class="home-button" href="{{ SITEURL }}" title="Home"><i class="ic ic-arrow-left"></i> Home</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
<span id="menu-button" class="nav-button">
|
||||
<a class="menu-button"><i class="ic ic-menu"></i> Menu</a>
|
||||
</span>
|
||||
</nav>
|
||||
<h1 class="post-title">{{ article.title }}</h1>
|
||||
<!-- TODO : Proper class for headline -->
|
||||
{% if article.headline %}
|
||||
<span class="blog-description">{{ article.headline }}</h3>
|
||||
{% endif %}
|
||||
<span class="post-meta">
|
||||
{% for author in article.authors %}
|
||||
<a href="{{ SITEURL }}/{{ author.url }}">{{ author|capitalize }}</a>
|
||||
{% endfor %}
|
||||
| <time datetime="{{ article.locale_date }}">{{ article.locale_date }}</time>
|
||||
</span>
|
||||
<!-- TODO : Modified check -->
|
||||
{% if article.modified %}
|
||||
<span class="post-meta"> | Updated on {{ article.locale_modified }}</span>
|
||||
{% endif %}
|
||||
{% if article.header_cover %}
|
||||
<div class="post-cover cover" style="background-image: url('{{ article.header_cover }}')">
|
||||
{% elif HEADER_COVER %}
|
||||
<div class="blog-cover cover" style="background-image: url('{{ HEADER_COVER }}')">
|
||||
{% elif HEADER_COLOR %}
|
||||
<div class="post-cover cover" style="background-color: {{ HEADER_COLOR }}">
|
||||
{% else %}
|
||||
<div class="post-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
|
||||
{% endif %}
|
||||
</div>
|
||||
</header>
|
||||
{% endblock header %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Post content -->
|
||||
<main class="content" role="main">
|
||||
<article class="post">
|
||||
<div class="inner">
|
||||
<section class="post-content">
|
||||
{{article.content}}
|
||||
</section>
|
||||
|
||||
<section class="post-info">
|
||||
<div class="post-share">
|
||||
<a class="twitter" href="https://twitter.com/share?text={{ article.title }}&url={{ SITEURL }}/{{ article.url }}" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;">
|
||||
<i class="ic ic-twitter"></i><span class="hidden">Twitter</span>
|
||||
</a>
|
||||
<a class="facebook" href="https://www.facebook.com/sharer/sharer.php?u={{ SITEURL }}/{{ article.url }}" onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;">
|
||||
<i class="ic ic-facebook"></i><span class="hidden">Facebook</span>
|
||||
</a>
|
||||
<a class="googleplus" href="https://plus.google.com/share?url={{ SITEURL }}/{{ article.url }}" onclick="window.open(this.href, 'google-plus-share', 'width=490,height=530');return false;">
|
||||
<i class="ic ic-googleplus"></i><span class="hidden">Google+</span>
|
||||
</a>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
||||
{% if article.tags %}
|
||||
<aside class="post-tags">
|
||||
{% for tag in article.tags %}<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag | escape }}</a>{% if not loop.last %}{% endif %}{% endfor %}
|
||||
</aside>
|
||||
{% endif %}
|
||||
|
||||
<div class="clear"></div>
|
||||
|
||||
<!-- TODO : Author Info -->
|
||||
|
||||
</section>
|
||||
|
||||
<!-- TODO : comments not showing -->
|
||||
<section class="post-comments">
|
||||
<a id="show-disqus" class="post-comments-activate">Show Comments</a>
|
||||
<div id="disqus_thread"></div>
|
||||
</section>
|
||||
|
||||
<!-- TODO : Previous and Next post -->
|
||||
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
{% endblock content %}
|
|
@ -0,0 +1,43 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Articles by {{ author }}{% endblock %}
|
||||
|
||||
{% block opengraph %}
|
||||
{{ super() }}
|
||||
<meta property="og:title" content="{{ SITENAME }} - Articles by {{ author }}">
|
||||
<meta property="og:type" content="profile">
|
||||
<meta property="profile:first_name" content="{{ author.name.split(' ')[0] }}">
|
||||
<meta property="profile:last_name" content="{{ author.name.split(' ')[1:]|join(' ') }}">
|
||||
<meta property="profile:username" content="{{ author.slug }}">
|
||||
{% endblock opengraph %}
|
||||
|
||||
{% block header %}
|
||||
<!-- Page Header -->
|
||||
<!-- Set your background image for this header on the line below. -->
|
||||
<header id="blog-header" class="has-cover">
|
||||
<div class="inner">
|
||||
<nav id="navigation">
|
||||
{% if SITE_LOGO %}
|
||||
<span class="blog-logo">
|
||||
<a href="{{ SITEURL }}"><img src="{{SITE_LOGO}}" alt="Blog Logo" /></a>
|
||||
</span>
|
||||
{% else %}
|
||||
<span id="home-button" class="nav-button">
|
||||
<a class="home-button" href="{{ SITEURL }}" title="Home"><i class="ic ic-arrow-left"></i> Home</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
<span id="menu-button" class="nav-button">
|
||||
<a class="menu-button"><i class="ic ic-menu"></i> Menu</a>
|
||||
</span>
|
||||
</nav>
|
||||
<h1 class="post-title">Articles by {{ author|capitalize }}</h1>
|
||||
{% if HEADER_COVER %}
|
||||
<div class="blog-cover cover" style="background-image: url('{{ HEADER_COVER }}')">
|
||||
{% elif HEADER_COLOR %}
|
||||
<div class="post-cover cover" style="background-color: {{ HEADER_COLOR }}">
|
||||
{% else %}
|
||||
<div class="post-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
|
||||
{% endif %}
|
||||
</div>
|
||||
</header>
|
||||
{% endblock header %}
|
51
templates/authors.html
Normal file
51
templates/authors.html
Normal file
|
@ -0,0 +1,51 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Authors{% endblock title %}
|
||||
|
||||
{% block header %}
|
||||
<!-- Page Header -->
|
||||
<!-- Set your background image for this header on the line below. -->
|
||||
<header id="blog-header" class="has-cover">
|
||||
<div class="inner">
|
||||
<nav id="navigation">
|
||||
{% if SITE_LOGO %}
|
||||
<span class="blog-logo">
|
||||
<a href="{{ SITEURL }}"><img src="{{SITE_LOGO}}" alt="Blog Logo" /></a>
|
||||
</span>
|
||||
{% else %}
|
||||
<span id="home-button" class="nav-button">
|
||||
<a class="home-button" href="{{ SITEURL }}" title="Home"><i class="ic ic-arrow-left"></i> Home</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
<span id="menu-button" class="nav-button">
|
||||
<a class="menu-button"><i class="ic ic-menu"></i> Menu</a>
|
||||
</span>
|
||||
</nav>
|
||||
<h1 class="post-title">Articles by {{ author|capitalize }}</h1>
|
||||
{% if HEADER_COVER %}
|
||||
<div class="blog-cover cover" style="background-image: url('{{ HEADER_COVER }}')">
|
||||
{% elif HEADER_COLOR %}
|
||||
<div class="post-cover cover" style="background-color: {{ HEADER_COLOR }}">
|
||||
{% else %}
|
||||
<div class="post-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
|
||||
{% endif %}
|
||||
</div>
|
||||
</header>
|
||||
{% endblock header %}
|
||||
|
||||
{% block content %}
|
||||
{% for author, articles in authors|sort %}
|
||||
<article class="post">
|
||||
<div class="inner">
|
||||
<a href="{{ SITEURL }}/{{ author.url }}" rel="bookmark">
|
||||
<h2 class="post-title">
|
||||
{{ author }} ({{ articles|count }})
|
||||
</h2>
|
||||
</a>
|
||||
</div>
|
||||
</article>
|
||||
{% if not loop.last %}
|
||||
<hr>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endblock content %}
|
|
@ -55,6 +55,13 @@
|
|||
|
||||
<link href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/style.css" type="text/css" rel="stylesheet" />
|
||||
|
||||
<!-- Code highlight color scheme -->
|
||||
{% if COLOR_SCHEME_CSS %}
|
||||
<link href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/code_blocks/{{ COLOR_SCHEME_CSS }}" rel="stylesheet">
|
||||
{% else %}
|
||||
<link href="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/css/code_blocks/github.css" rel="stylesheet">
|
||||
{% endif %}
|
||||
|
||||
{% if CSS_OVERRIDE %}
|
||||
<!-- CSS specified by the user -->
|
||||
{% for css in CSS_OVERRIDE %}
|
||||
|
@ -63,10 +70,77 @@
|
|||
{% endif %}
|
||||
|
||||
<!-- Custom fonts -->
|
||||
<link href='https://fonts.googleapis.com/css?family=Montserrat:400,300' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<link href='https://fonts.googleapis.com/css?family=Montserrat:400,300' rel='stylesheet' type='text/css' />
|
||||
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet" type="text/css" />
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[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.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
{% endblock head %}
|
||||
|
||||
{% block opengraph %}
|
||||
{% for admin in FACEBOOK_ADMINS %}
|
||||
<meta property="fb:admins" content="{{ admin }}" />
|
||||
{% endfor %}
|
||||
{% for LOC in LOCALE %}
|
||||
<meta property="og:locale" content="{{ LOC }}" />
|
||||
{% endfor %}
|
||||
<meta property="og:site_name" content="{{ SITENAME }}" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="{{ SITENAME }}" />
|
||||
<meta property="og:description" content="{{ SITESUBTITLE|default('View the blog.') }}" />
|
||||
<meta property="og:url" content="{{ SITEURL }}" />
|
||||
{% if HEADER_COVER %}
|
||||
<meta property="og:image" content="{{ SITEURL }}/{{ HEADER_COVER }}" />
|
||||
{% else %}
|
||||
<meta name="og:image" content="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg">
|
||||
{% endif %}
|
||||
{% for name,link in SOCIAL if name in ['facebook'] %}
|
||||
<meta property="article:publisher" content="{{ link }}" />
|
||||
{% endfor %}
|
||||
{% endblock opengraph %}
|
||||
{% block twitter_card %}
|
||||
{% for name,link in SOCIAL if name in ['twitter'] %}
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@{{ link|replace('http://', 'https://')|replace('https://twitter.com/', '') }}">
|
||||
<meta name="twitter:title" content="{{ SITENAME }}">
|
||||
<meta name="twitter:description" content="{{ SITESUBTITLE|default('View the blog.') }}">
|
||||
{% if HEADER_COVER %}
|
||||
<meta name="twitter:image" content="{{ SITEURL }}/{{ HEADER_COVER }}">
|
||||
{% else %}
|
||||
<meta name="twitter:image" content="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg">
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endblock twitter_card %}
|
||||
</head>
|
||||
<!-- TODO : Body class -->
|
||||
<body class="home-template">
|
||||
|
||||
{% include 'partials/navigation.html' %}
|
||||
|
||||
{% block header %}{% endblock header %}
|
||||
|
||||
<section id="wrapper">
|
||||
<a class="hidden-close"></a>
|
||||
{% block content %}{% endblock content %}
|
||||
<!-- TODO : Body class -->
|
||||
<div id="body-class" style="display: none;" class="{{body_class}}"></div>
|
||||
|
||||
<footer id="footer">
|
||||
<div class="inner">
|
||||
<section class="credits">
|
||||
<span class="credits-theme">Theme <a href="https://github.com/zutrinken/attila">Attila</a> by <a href="http://zutrinken.com" rel="nofollow">zutrinken</a></span>
|
||||
<span class="credits-software">Published with <a href="http://ghost.org">Ghost</a></span>
|
||||
</section>
|
||||
</div>
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
<script type="text/javascript" src="{{ SITEURL }}/{{ THEME_STATIC_DIR }}/js/script.js"></script>
|
||||
{% include 'partials/analytics.js' %}
|
||||
{% include 'partials/disqus.js' %}
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block header %}
|
||||
<!-- Page Header -->
|
||||
<!-- Set your background image for this header on the line below. -->
|
||||
<header id="blog-header" class="has-cover">
|
||||
<div class="inner">
|
||||
<nav id="navigation">
|
||||
{% if SITE_LOGO %}
|
||||
<span class="blog-logo">
|
||||
<a href="{{ SITEURL }}"><img src="{{SITE_LOGO}}" alt="Blog Logo" /></a>
|
||||
</span>
|
||||
{% endif %}
|
||||
<span id="menu-button" class="nav-button">
|
||||
<a class="menu-button"><i class="ic ic-menu"></i> Menu</a>
|
||||
</span>
|
||||
</nav>
|
||||
<h1 class="blog-name"><a href="{{ SITEURL }}">{{ SITENAME }}</a></h1>
|
||||
{% if SITESUBTITLE %}
|
||||
<span class="blog-description">{{ SITESUBTITLE }}</span>
|
||||
{% endif %}
|
||||
{% if HEADER_COVER %}
|
||||
<div class="blog-cover cover" style="background-image: url('{{ HEADER_COVER }}')">
|
||||
{% elif HEADER_COLOR %}
|
||||
<div class="blog-cover cover" style="background-color: {{ HEADER_COLOR }}">
|
||||
{% else %}
|
||||
<div class="blog-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/home-bg.jpg')">
|
||||
{% endif %}
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{% endblock header %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div id="index" class="container">
|
||||
<main class="content" role="main">
|
||||
{% include "partials/loop.html" %}
|
||||
</main>
|
||||
</div>
|
||||
{% endblock content %}
|
46
templates/partials/analytics.js
Normal file
46
templates/partials/analytics.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
{% if GOOGLE_ANALYTICS %}
|
||||
<script type="text/javascript">
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', '{{GOOGLE_ANALYTICS}}']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
</script>
|
||||
{% endif %}
|
||||
{% if GAUGES %}
|
||||
<script type="text/javascript">
|
||||
var _gauges = _gauges || [];
|
||||
(function() {
|
||||
var t = document.createElement('script');
|
||||
t.type = 'text/javascript';
|
||||
t.async = true;
|
||||
t.id = 'gauges-tracker';
|
||||
t.setAttribute('data-site-id', '{{GAUGES}}');
|
||||
t.src = '//secure.gaug.es/track.js';
|
||||
var s = document.getElementsByTagName('script')[0];
|
||||
s.parentNode.insertBefore(t, s);
|
||||
})();
|
||||
</script>
|
||||
{% endif %}
|
||||
{% if PIWIK_URL and PIWIK_SITE_ID %}
|
||||
<script type="text/javascript">
|
||||
{% if PIWIK_SSL_URL %}
|
||||
var pkBaseURL = "{{ PIWIK_SSL_URL }}";
|
||||
{% else %}
|
||||
var pkBaseURL = "{{ PIWIK_URL }}";
|
||||
{% endif %}
|
||||
var _paq = _paq || [];
|
||||
_paq.push(["trackPageView"]);
|
||||
_paq.push(["enableLinkTracking"]);
|
||||
(function() {
|
||||
var u=(("https:" == document.location.protocol) ? "https" : "http")+"://"+pkBaseURL+"/";
|
||||
_paq.push(["setTrackerUrl", u+"piwik.php"]);
|
||||
_paq.push(["setSiteId", "{{ PIWIK_SITE_ID }}"]);
|
||||
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
|
||||
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
{% endif %}
|
9
templates/partials/comments_count.html
Normal file
9
templates/partials/comments_count.html
Normal file
|
@ -0,0 +1,9 @@
|
|||
{% if DISQUS_SITENAME %}
|
||||
<p>
|
||||
{% if article.disqus_identifier %}
|
||||
<a data-disqus-identifier="{{ article.disqus_identifier }}" href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>
|
||||
{% else %}
|
||||
<a data-disqus-identifier="/{{ article.url }}" href="{{ SITEURL }}/{{ article.url }}#disqus_thread">comments</a>
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
11
templates/partials/disqus.js
Normal file
11
templates/partials/disqus.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% if DISQUS_SITENAME %}
|
||||
<script type="text/javascript">
|
||||
var disqus_shortname = '{{ DISQUS_SITENAME }}';
|
||||
(function () {
|
||||
var s = document.createElement('script'); s.async = true;
|
||||
s.type = 'text/javascript';
|
||||
s.src = '//' + disqus_shortname + '.disqus.com/count.js';
|
||||
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
|
||||
}());
|
||||
</script>
|
||||
{% endif %}
|
39
templates/partials/loop.html
Normal file
39
templates/partials/loop.html
Normal file
|
@ -0,0 +1,39 @@
|
|||
<div class="extra-pagination">
|
||||
{% include "partials/pagination.html" %}
|
||||
</div>
|
||||
|
||||
{% for article in articles_page.object_list %}
|
||||
<article class="post">
|
||||
<div class="inner">
|
||||
<header class="post-header">
|
||||
<h2 class="post-title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
|
||||
</h2>
|
||||
<span class="post-meta">
|
||||
{% for author in article.authors %}
|
||||
<a href="{{ SITEURL }}/{{ author.url }}">{{ author|capitalize }}</a>
|
||||
{% endfor %}
|
||||
| <time datetime="{{ article.locale_date }}">{{ article.locale_date }}</time>
|
||||
</span>
|
||||
<div class="clear"></div>
|
||||
</header>
|
||||
{% if SHOW_FULL_ARTICLE %}
|
||||
<section class="post-content">
|
||||
{{ article.content }}
|
||||
</section>
|
||||
{% else %}
|
||||
<section class="post-excerpt">
|
||||
<p>
|
||||
{% if article.has_summary %}
|
||||
{{ article.summary }}
|
||||
{% elif article.summary %}
|
||||
{{ article.summary|striptags|truncate(250) }}
|
||||
{% endif %}
|
||||
</p>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% include 'partials/comments_count.html' %}
|
||||
</div>
|
||||
</article>
|
||||
{% endfor %}
|
||||
|
||||
{% include "partials/pagination.html" %}
|
|
@ -0,0 +1,27 @@
|
|||
<nav id="menu">
|
||||
<a class="close-button">Close</a>
|
||||
<div class="nav-wrapper">
|
||||
<p class="nav-label">Menu</p>
|
||||
<ul>
|
||||
{% for title, link in MENUITEMS %}
|
||||
<li><a href="{{ link }}" role="presentation">{{ title }}</a></li>
|
||||
{% endfor %}
|
||||
|
||||
{% if DISPLAY_PAGES_ON_MENU %}
|
||||
{% for p in PAGES %}
|
||||
<li{% if p == page %} class="nav-{{p.slug}} active"{% endif %} role="presentation"><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% if DISPLAY_CATEGORIES_ON_MENU %}
|
||||
{% for cat, null in categories %}
|
||||
<li{% if cat == category %} class="nav-{{cat.slug}} active"{% endif %} role="presentation"><a href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% for name,link in SOCIAL if name in ['rss', 'rss-square', 'feed'] %}
|
||||
<li class="nav-rss"><a href="{{ link }}"><i class="ic ic-rss"></i> Subscribe</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
|
@ -0,0 +1,14 @@
|
|||
{% if DEFAULT_PAGINATION %}
|
||||
<nav class="pagination" role="pagination">
|
||||
<div class="inner">
|
||||
{% if articles_page.has_previous() %}
|
||||
<a class="pagination-next" href="{{ SITEURL }}/{{ articles_previous_page.url }}"><i class="ic ic-arrow-left"></i> <span class="pagination-label">Newer Posts</span></a>
|
||||
{% endif %}
|
||||
<span class="pagination-info">Page {{ articles_page.number }} / {{ articles_paginator.num_pages }}</span>
|
||||
{% if articles_page.has_next() %}
|
||||
<a class="pagination-prev" href="{{ SITEURL }}/{{ articles_next_page.url }}"><span class="pagination-label">Older Posts</span> <i class="ic ic-arrow-right"></i></a>
|
||||
{% endif %}
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
</nav>
|
||||
{% endif %}
|
|
@ -0,0 +1,34 @@
|
|||
{% extends "index.html" %}
|
||||
{% block title %}{{ SITENAME }} - Tag {{ tag }}{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
<!-- Page Header -->
|
||||
<!-- Set your background image for this header on the line below. -->
|
||||
<header id="blog-header" class="has-cover">
|
||||
<div class="inner">
|
||||
<nav id="navigation">
|
||||
{% if SITE_LOGO %}
|
||||
<span class="blog-logo">
|
||||
<a href="{{ SITEURL }}"><img src="{{SITE_LOGO}}" alt="Blog Logo" /></a>
|
||||
</span>
|
||||
{% else %}
|
||||
<span id="home-button" class="nav-button">
|
||||
<a class="home-button" href="{{ SITEURL }}" title="Home"><i class="ic ic-arrow-left"></i> Home</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
<span id="menu-button" class="nav-button">
|
||||
<a class="menu-button"><i class="ic ic-menu"></i> Menu</a>
|
||||
</span>
|
||||
</nav>
|
||||
<h1 class="post-title">Tag {{ tag }}</h1>
|
||||
<span class="blog-description">Posts: {{ articles|count }}</span>
|
||||
{% if HEADER_COVER %}
|
||||
<div class="blog-cover cover" style="background-image: url('{{ HEADER_COVER }}')">
|
||||
{% elif HEADER_COLOR %}
|
||||
<div class="post-cover cover" style="background-color: {{ HEADER_COLOR }}">
|
||||
{% else %}
|
||||
<div class="post-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
|
||||
{% endif %}
|
||||
</div>
|
||||
</header>
|
||||
{% endblock header %}
|
|
@ -0,0 +1,44 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Tags{% endblock %}
|
||||
|
||||
{% block header %}
|
||||
<!-- Page Header -->
|
||||
<!-- Set your background image for this header on the line below. -->
|
||||
<header id="blog-header" class="has-cover">
|
||||
<div class="inner">
|
||||
<nav id="navigation">
|
||||
{% if SITE_LOGO %}
|
||||
<span class="blog-logo">
|
||||
<a href="{{ SITEURL }}"><img src="{{SITE_LOGO}}" alt="Blog Logo" /></a>
|
||||
</span>
|
||||
{% else %}
|
||||
<span id="home-button" class="nav-button">
|
||||
<a class="home-button" href="{{ SITEURL }}" title="Home"><i class="ic ic-arrow-left"></i> Home</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
<span id="menu-button" class="nav-button">
|
||||
<a class="menu-button"><i class="ic ic-menu"></i> Menu</a>
|
||||
</span>
|
||||
</nav>
|
||||
<h1 class="post-title">{{ SITENAME }} - Tags</h1>
|
||||
{% if HEADER_COVER %}
|
||||
<div class="blog-cover cover" style="background-image: url('{{ HEADER_COVER }}')">
|
||||
{% elif HEADER_COLOR %}
|
||||
<div class="post-cover cover" style="background-color: {{ HEADER_COLOR }}">
|
||||
{% else %}
|
||||
<div class="post-cover cover" style="background-image: url('{{ SITEURL }}/{{ THEME_STATIC_DIR }}/images/post-bg.jpg')">
|
||||
{% endif %}
|
||||
</div>
|
||||
</header>
|
||||
{% endblock header %}
|
||||
|
||||
{% block content %}
|
||||
{%- for tag, articles in tags|sort %}
|
||||
<article class="post">
|
||||
<div class="inner">
|
||||
<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})
|
||||
</div>
|
||||
</article>
|
||||
{% endfor %}
|
||||
{% endblock content %}
|
Loading…
Add table
Add a link
Reference in a new issue