commit
16d7c33f3f
35 changed files with 3264 additions and 3 deletions
50
README.md
50
README.md
|
@ -1,4 +1,48 @@
|
|||
Pelican attila theme
|
||||
============
|
||||
# Pelican Attila Theme
|
||||
|
||||
Pelican version of ghost theme https://github.com/zutrinken/attila
|
||||
A content focused responsive theme for [Pelican](https://github.com/getpelican/pelican).
|
||||
|
||||
It is ported from ghost theme [attila](https://github.com/zutrinken/attila)
|
||||
|
||||
## Demo
|
||||
|
||||
TODO : Need to update the pelican demo url
|
||||
|
||||
* [Blog](http://arulraj.net/)
|
||||
* [Post](http://arulraj.net/2015/05/prompter4j-released-1-0.html)
|
||||
* [Tag Archive](http://arulraj.net/tag/programming/)
|
||||
* [Author Archive](http://arulraj.net/author/arul.html)
|
||||
* [Category Archive](http://arulraj.net/category/android/)
|
||||
* [All archive](http://arulraj.net/archives.html)
|
||||
* [Page](http://arulraj.net/pages/about)
|
||||
|
||||
## Features
|
||||
|
||||
* Responsive layout
|
||||
* Navigation support
|
||||
* Paralax cover images for posts, author archives and blog
|
||||
* Author informations for posts and author archives
|
||||
* Featured posts
|
||||
* Reading progress for posts
|
||||
* Automatic code syntax highlight
|
||||
* Disqus support
|
||||
* Sharing buttons
|
||||
|
||||
## Setup
|
||||
|
||||
TODO
|
||||
|
||||
* List out supported pelicen configuration parameters
|
||||
* demo repo used with this theme
|
||||
*
|
||||
|
||||
## Development
|
||||
|
||||
TODO
|
||||
|
||||
## Copyright & License
|
||||
|
||||
Copyright (c) 2015-2016 Peter Amende - Released under The MIT License.
|
||||
Copyright (c) 2016 Arulraj V - Released under The MIT License.
|
||||
|
||||
Some background images used from https://github.com/gilsondev/pelican-clean-blog
|
||||
|
|
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 */
|
1911
static/css/style.css
Normal file
1911
static/css/style.css
Normal file
File diff suppressed because one or more lines are too long
1
static/css/style.min.css
vendored
Normal file
1
static/css/style.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
static/font/icons.eot
Normal file
BIN
static/font/icons.eot
Normal file
Binary file not shown.
22
static/font/icons.svg
Normal file
22
static/font/icons.svg
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Copyright (C) 2015 by original authors @ fontello.com</metadata>
|
||||
<defs>
|
||||
<font id="icons" horiz-adv-x="1000" >
|
||||
<font-face font-family="icons" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
||||
<missing-glyph horiz-adv-x="1000" />
|
||||
<glyph glyph-name="ic-star" unicode="" d="m528 850c0 0 158-333 158-333 0 0 371-45 371-45 0 0-273-251-273-251 0 0 71-361 71-361 0 0-327 178-327 178 0 0-326-178-326-178 0 0 71 361 71 361 0 0-273 251-273 251 0 0 370 45 370 45 0 0 158 333 158 333z" horiz-adv-x="1057" />
|
||||
<glyph glyph-name="ic-rss" unicode="" d="m133 117c-73 0-133-60-133-133 0-74 60-133 133-133 74 0 133 59 133 133 0 73-59 133-133 133z m-133 393c0 0 0-191 0-191 125 0 242-49 331-138 88-88 137-206 137-331 0 0 192 0 192 0 0 364-296 660-660 660z m0 340c0 0 0-192 0-192 446 0 808-362 808-808 0 0 192 0 192 0 0 551-448 1000-1000 1000z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="ic-posts" unicode="" d="m0-150c0 0 0 1000 0 1000 0 0 586 0 586 0 0 0 200-199 200-199 0 0 0-801 0-801 0 0-786 0-786 0z m571 914c0 0 0-128 0-128 0 0 129 0 129 0 0 0-129 128-129 128z m143-200c0 0-214 0-214 0 0 0 0 215 0 215 0 0-429 0-429 0 0 0 0-858 0-858 0 0 643 0 643 0 0 0 0 643 0 643z m-71-178c0 0-500 0-500 0 0 0 0 71 0 71 0 0 500 0 500 0 0 0 0-71 0-71z m0-143c0 0-500 0-500 0 0 0 0 71 0 71 0 0 500 0 500 0 0 0 0-71 0-71z m-143-143c0 0-357 0-357 0 0 0 0 71 0 71 0 0 357 0 357 0 0 0 0-71 0-71z" horiz-adv-x="786" />
|
||||
<glyph glyph-name="ic-location" unicode="" d="m349 850c-192 0-349-156-349-347 0-184 317-615 330-633 0 0 13-17 13-17 1-2 4-3 6-3 3 0 5 1 7 3 0 0 12 17 12 17 14 18 331 449 331 633 0 191-157 347-350 347z m0-223c69 0 125-55 125-124 0-69-56-124-125-124-69 0-125 55-125 124 0 69 56 124 125 124z" horiz-adv-x="698" />
|
||||
<glyph glyph-name="ic-link" unicode="" d="m366 57c0 0-50-51-50-51-44-43-116-43-159 0-21 21-33 49-33 79 0 29 12 57 33 78 0 0 186 185 186 185 38 38 111 94 164 42 24-24 64-24 88 0 24 24 24 64-1 88-90 89-223 72-338-42 0 0-187-185-187-185-44-45-69-104-69-166 0-63 25-122 69-167 46-45 107-68 167-68 61 0 121 23 167 68 0 0 51 51 51 51 24 24 24 63 0 87-24 25-63 25-88 1z m565 717c-97 96-232 102-321 13 0 0-64-63-64-63-24-24-24-63 0-87 24-25 64-25 88-1 0 0 63 63 63 63 46 46 107 27 146-12 22-21 33-49 33-79 0-29-11-57-33-78 0 0-198-197-198-197-91-90-134-48-152-30-24 24-63 24-88 0-24-24-24-64 1-88 41-41 89-62 139-62 61 0 126 31 187 92 0 0 199 197 199 197 44 45 69 104 69 166 0 63-25 122-69 166z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="ic-googleplus" unicode="" d="m978 619c0 0-110 0-110 0-12 0-22-10-22-22 0 0 0-110 0-110 0-12-10-22-22-22 0 0-33 0-33 0-12 0-22 10-22 22 0 0 0 110 0 110 0 12-10 22-22 22 0 0-110 0-110 0-12 0-22 10-22 22 0 0 0 33 0 33 0 12 10 22 22 22 0 0 110 0 110 0 12 0 22 10 22 22 0 0 0 110 0 110 0 12 10 22 22 22 0 0 33 0 33 0 12 0 22-10 22-22 0 0 0-110 0-110 0-12 10-22 22-22 0 0 110 0 110 0 12 0 22-10 22-22 0 0 0-33 0-33 0-12-10-22-22-22z m-359 220c0 0-43-25-43-25-10-7-29-12-41-12 0 0-37 0-37 0-12 0-14-5-4-12 20-17 36-38 48-63 16-33 24-67 24-102 0-29-5-56-14-79-9-23-21-41-34-55-13-14-26-27-40-39-13-12-24-24-33-37-9-12-14-26-14-40 0-11 3-21 10-31 6-10 15-20 26-29 10-9 22-19 35-29 13-10 25-21 38-33 13-12 25-25 35-40 11-14 20-31 26-51 7-20 10-41 10-64 0-64-28-120-84-169-61-53-145-79-252-79-24 0-48 2-72 6-24 4-49 11-73 20-25 10-47 21-66 35-18 14-34 32-46 53-12 22-18 47-18 74 0 24 8 51 22 81 13 25 32 47 58 66 26 19 55 33 87 43 33 10 64 17 93 21 23 4 45 6 68 8 13 0 16 8 10 18-17 27-26 50-26 72 0 5 0 10 1 14 1 5 2 9 3 12 1 3 3 7 5 13 1 2 2 4 2 6 1 4-7 5-19 5-7-1-14-1-21-1-60 0-111 19-153 59-43 39-64 88-64 147 0 56 19 107 57 151 38 44 85 72 140 85 38 8 75 12 113 12 0 0 240 0 240 0 12 0 14-5 3-11z m-326-622c-21-3-43-8-65-15-23-7-42-16-59-27-17-12-31-27-41-45-11-19-17-41-17-65 0-27 7-51 22-73 14-21 32-38 56-50 23-13 47-22 72-28 25-6 51-9 76-9 24 0 46 3 68 8 21 5 41 13 60 23 19 11 34 26 45 44 11 19 16 41 16 67 0 8 0 16-2 24-2 8-4 15-6 22-2 6-5 13-10 20-5 8-10 14-13 19-3 5-9 11-16 17-7 7-13 12-17 16-3 3-10 8-19 15-9 7-15 11-18 14-4 2-10 7-20 14-4 2-7 4-9 6-5 3-16 7-25 7-4 0-9 0-15 0-21 0-42-1-63-4z m151 424c-6 27-16 53-28 79-12 25-29 46-50 62-22 16-46 25-72 25-37 0-66-14-87-42-20-27-30-60-30-99 0-19 2-39 7-59 4-21 11-42 21-63 10-21 21-39 34-56 12-17 28-30 47-41 18-10 37-15 58-15 29 0 52 7 69 20 10 8 21 24 26 35 10 21 15 47 15 78 0 24-3 49-10 76z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="ic-facebook" unicode="" d="m516 493c0 0-186 0-186 0 0 0 0 89 0 89 0 0-10 85 50 85 68 0 122 0 122 0 0 0 0 183 0 183 0 0-208 0-208 0 0 0-174 1-174-172 0-37 0-104 0-185 0 0-120 0-120 0 0 0 0-148 0-148 0 0 119 0 119 0 0-234-1-495-1-495 0 0 212 0 212 0 0 0 0 495 0 495 0 0 141 0 141 0 0 0 45 148 45 148z" horiz-adv-x="516" />
|
||||
<glyph glyph-name="ic-arrow-right" unicode="" d="m103 832c0 0 430-429 430-429 24-23 24-62 0-86 0 0-430-429-430-429-24-24-62-24-86 0-24 24-24 62 0 86 0 0 387 386 387 386 0 0-387 387-387 387-24 23-24 62 0 85 24 24 62 24 86 0z" horiz-adv-x="571" />
|
||||
<glyph glyph-name="ic-arrow-left" unicode="" d="m456-131c0 0-438 438-438 438-25 24-25 64 0 88 0 0 438 438 438 438 24 24 64 24 88 0 24-25 24-64 0-88 0 0-395-394-395-394 0 0 395-394 395-394 24-24 24-64 0-88-24-24-64-24-88 0z" horiz-adv-x="563" />
|
||||
<glyph glyph-name="ic-twitter" unicode="" d="m1195 832c-48-29-102-50-160-62-46 49-111 80-184 80-139 0-252-113-252-252 0-20 2-39 6-58-209 11-395 111-519 264-22-37-34-81-34-127 0-88 44-165 112-210-42 1-80 13-114 32 0 0 0-4 0-4 0-122 86-224 202-247-21-6-44-9-67-9-16 0-32 2-47 4 32-100 125-173 235-175-86-68-195-108-313-108-20 0-40 1-60 3 112-71 244-113 387-113 463 0 717 385 717 718 0 0-1 33-1 33 50 36 92 80 126 131-45-20-94-34-145-40 53 31 92 81 111 140z" horiz-adv-x="1229" />
|
||||
<glyph glyph-name="ic-menu" unicode="" d="m1324 262c0 0-1236 0-1236 0-48 0-88 39-88 88 0 49 40 88 88 88 0 0 1236 0 1236 0 48 0 88-39 88-88 0-49-40-88-88-88z m0 412c0 0-1236 0-1236 0-48 0-88 39-88 88 0 49 40 88 88 88 0 0 1236 0 1236 0 48 0 88-39 88-88 0-49-40-88-88-88z m-1236-647c0 0 1236 0 1236 0 48 0 88-40 88-89 0-49-40-88-88-88 0 0-1236 0-1236 0-48 0-88 39-88 88 0 49 40 89 88 89z" horiz-adv-x="1412" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 6.2 KiB |
BIN
static/font/icons.ttf
Normal file
BIN
static/font/icons.ttf
Normal file
Binary file not shown.
BIN
static/font/icons.woff
Normal file
BIN
static/font/icons.woff
Normal file
Binary file not shown.
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 |
5
static/js/script.js
Normal file
5
static/js/script.js
Normal file
File diff suppressed because one or more lines are too long
47
templates/archives.html
Normal file
47
templates/archives.html
Normal file
|
@ -0,0 +1,47 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Archives{% 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 }} - Archives</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 %}
|
||||
<article class="post">
|
||||
<div class="inner">
|
||||
<dl>
|
||||
{% for article in dates %}
|
||||
<dt>{{ article.locale_date }}</dt>
|
||||
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
</div>
|
||||
</article>
|
||||
{% endblock content %}
|
204
templates/article.html
Normal file
204
templates/article.html
Normal file
|
@ -0,0 +1,204 @@
|
|||
{% 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 %}
|
||||
<!-- Progressbar -->
|
||||
<div class="progress-container">
|
||||
<span class="progress-bar"></span>
|
||||
</div>
|
||||
|
||||
<!-- 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="post-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 bio -->
|
||||
|
||||
</section>
|
||||
|
||||
{% if DISQUS_SITENAME and SITEURL and article.status != "draft" %}
|
||||
<script type="text/javascript">
|
||||
var disqus = '{{ DISQUS_SITENAME }}';
|
||||
var disqus_shortname = '{{ DISQUS_SITENAME }}';
|
||||
{% if article.disqus_identifier %}
|
||||
var disqus_identifier = '{{ article.disqus_identifier }}';
|
||||
{% else %}
|
||||
var disqus_identifier = '/{{ article.url }}';
|
||||
{% endif %}
|
||||
var disqus_url = '{{ SITEURL }}/{{ article.url }}';
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the comments.</noscript>
|
||||
<section class="post-comments">
|
||||
{% if article.disqus_identifier %}
|
||||
<a id="show-disqus" class="post-comments-activate" data-disqus-identifier="{{ article.disqus_identifier }}" >Show Comments</a>
|
||||
{% else %}
|
||||
<a id="show-disqus" class="post-comments-activate" data-disqus-identifier="/{{ article.url }}" >Show Comments</a>
|
||||
{% endif %}
|
||||
<div id="disqus_thread"></div>
|
||||
</section>
|
||||
{% endif %}
|
||||
|
||||
<!-- TODO : Previous and Next post -->
|
||||
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
{% endblock content %}
|
46
templates/author.html
Normal file
46
templates/author.html
Normal file
|
@ -0,0 +1,46 @@
|
|||
{% 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>
|
||||
<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 %}
|
||||
|
||||
<!-- TODO : author bio -->
|
53
templates/authors.html
Normal file
53
templates/authors.html
Normal file
|
@ -0,0 +1,53 @@
|
|||
{% 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 %}
|
||||
|
||||
<!-- TODO : Author bio -->
|
146
templates/base.html
Normal file
146
templates/base.html
Normal file
|
@ -0,0 +1,146 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ DEFAULT_LANG }}">
|
||||
|
||||
<head>
|
||||
{% block head %}
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
|
||||
{% if GOOGLE_SITE_VERIFICATION %}
|
||||
<meta name="google-site-verification" content="{{ GOOGLE_SITE_VERIFICATION }}">
|
||||
{% endif %}
|
||||
|
||||
<title>{% block title %}{{ SITENAME }}{% if SITESUBTITLE and SHOW_SITESUBTITLE_IN_HTML %} - {{ SITESUBTITLE }}{% endif %}{% endblock title %}</title>
|
||||
|
||||
{% if SITE_DESCRIPTION %}
|
||||
<meta name="description" content="{{SITE_DESCRIPTION}}" />
|
||||
{% endif %}
|
||||
|
||||
<meta name="HandheldFriendly" content="True" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="referrer" content="origin" />
|
||||
<meta name="generator" content="Pelican" />
|
||||
<link href="{{ SITEURL }}" rel="canonical" />
|
||||
|
||||
<!-- Feed -->
|
||||
{% for name,link in SOCIAL if name in ['rss', 'rss-square', 'feed'] %}
|
||||
<link href="{{ link }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
|
||||
{% else %}
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Full Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ALL_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Full RSS Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_ATOM }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ FEED_RSS }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} RSS Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_ATOM and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_ATOM|format(category.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Categories Atom Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_RSS and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ CATEGORY_FEED_RSS|format(category.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Categories RSS Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_ATOM and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_ATOM|format(tag.slug) }}" type="application/atom+xml" rel="alternate" title="{{ SITENAME }} Tags Atom Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_RSS and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{{ TAG_FEED_RSS|format(tag.slug) }}" type="application/rss+xml" rel="alternate" title="{{ SITENAME }} Tags RSS Feed" />
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
<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 %}
|
||||
<link href="{{ SITEURL }}/{{ css }}" type="text/css" rel="stylesheet" />
|
||||
{% endfor %}
|
||||
{% 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" 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>
|
44
templates/categories.html
Normal file
44
templates/categories.html
Normal file
|
@ -0,0 +1,44 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Categories{% 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 }} - Categories</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 category, articles in categories |sort %}
|
||||
<article class="post">
|
||||
<div class="inner">
|
||||
<a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a> ({{ articles|count }})
|
||||
</div>
|
||||
</article>
|
||||
{% endfor %}
|
||||
{% endblock content %}
|
35
templates/category.html
Normal file
35
templates/category.html
Normal file
|
@ -0,0 +1,35 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Articles in the {{ category }} category{% 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">Category {{ category }}</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 %}
|
41
templates/index.html
Normal file
41
templates/index.html
Normal file
|
@ -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 %}
|
49
templates/page.html
Normal file
49
templates/page.html
Normal file
|
@ -0,0 +1,49 @@
|
|||
{% extends "index.html" %}
|
||||
|
||||
{% block title %}{{ page.title }}{% endblock title %}
|
||||
|
||||
{% 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">{{ page.title }}</h1>
|
||||
{% if page.header_cover %}
|
||||
<div class="post-cover cover" style="background-image: url('{{ page.header_cover }}')">
|
||||
{% elif HEADER_COVER %}
|
||||
<div class="post-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">
|
||||
{{page.content}}
|
||||
</section>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
{% 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" %}
|
27
templates/partials/navigation.html
Normal file
27
templates/partials/navigation.html
Normal file
|
@ -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>
|
14
templates/partials/pagination.html
Normal file
14
templates/partials/pagination.html
Normal file
|
@ -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 %}
|
47
templates/period_archives.html
Normal file
47
templates/period_archives.html
Normal file
|
@ -0,0 +1,47 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}{{ SITENAME }} - Archives for {{ period | reverse | join (' ') }}{% 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">Archives for {{ period | reverse | join (' ') }}</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 %}
|
||||
<article class="post">
|
||||
<div class="inner">
|
||||
<dl>
|
||||
{% for article in dates %}
|
||||
<dt>{{ article.locale_date }}</dt>
|
||||
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
|
||||
{% endfor %}
|
||||
</dl>
|
||||
</div>
|
||||
</article>
|
||||
{% endblock content %}
|
34
templates/tag.html
Normal file
34
templates/tag.html
Normal file
|
@ -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 %}
|
44
templates/tags.html
Normal file
44
templates/tags.html
Normal file
|
@ -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