Merge pull request #26 from m-r-r/master

Added the `dev-random` theme
This commit is contained in:
Alexis Metaireau
2012-04-25 02:48:37 -07:00
19 changed files with 709 additions and 0 deletions

14
dev-random/LICENSE.txt Normal file
View File

@@ -0,0 +1,14 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

BIN
dev-random/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -0,0 +1,218 @@
@import url("pygments.css");
/******************************************************************************/
/* General Style */
/******************************************************************************/
article, section,
header, footer,
aside, nav {
display: block;
}
html {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
min-width: 750px;
background-color: white;
color: #101010;
font-family: helvetica, arial, freesans, clean, sans-serif;
font-size: 95%;
line-height: 1.35em;
letter-spacing: .1em;
}
h1, h2, h3,
h4, h5, h6 {
color: #333333;
font-family: "Georgia", "FreeSerif", serif;
font-style: italic;
font-weight: bolder;
}
h1 a, h2 a,
h3 a, h4 a,
h5 a, h6 a {
color: inherit;
text-decoration: inherit;
}
h1 a:hover, h2 a:hover,
h3 a:hover, h4 a:hover,
h5 a:hover, h6 a:hover {
text-decoration: inherit;
}
a {
color: #2a6a88;
font-weight: bold;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
pre {
margin: 1em .5em;
padding: .75em;
border: 1px solid silver;
background: #111111;
color: #ffffff;
font-family: monospace;
line-height: 1.15em;
overflow: auto;
}
/******************************************************************************/
/* Specific Styles */
/******************************************************************************/
.page .head h1 {
margin: .7em auto;
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 2.8em;
text-align: center;
}
.widget ul li {
margin: .1em .4em;
font-size: 0.8em;
letter-spacing: 0.2em;
text-decoration: none;
font-variant: small-caps;
}
.content #page-title {
font-size: .9em;
}
.content .post {
clear: both;
margin: 1em 0 3em 0;
}
.post .post-header {
margin: 0;
padding: .1em;
font-family: Georgia, "Times New Roman", Times, serif;
}
.post .post-header time {
margin: 0;
padding: 0;
font-size: .7em;
line-height: 1em;
text-transform: uppercase;
letter-spacing: .2em;
font-weight: lighter;
}
.post .post-header h1 {
margin: 0;
padding: 0;
border-bottom: thin dashed silver;
font-size: 1.5em;
font-weight: bolder;
font-style: normal;
letter-spacing: 0.0em;
line-height: 1em;
}
.post .post-header h1:hover {
border-bottom: thin dashed #333;
}
.post .post-header .meta {
font-size: .9em;
letter-spacing: 0.2em;
text-decoration: none;
}
.post .post-content {
clear: both;
margin: 0;
padding: .5em .1em;
}
.post .post-footer {
clear: both;
margin: 0;
padding: .1em;
font-family: Georgia, "Times New Roman", Times, serif;
}
.post .post-footer .readmore {
font-size: 0.8em;
letter-spacing: 0.2em;
text-decoration: none;
font-variant: small-caps;
}
.page .foot p {
display: block;
width: 60%;
text-align: center;
margin-left: auto;
margin-right: auto;
}
/******************************************************************************/
/* Misc */
/******************************************************************************/
#github-link {
display: block;
position: absolute;
top: 0;
left: 0;
width: 50px;
height: 100px;
background-image: url("../img/corner.png");
margin: 0;
border: none;
text-decoration: none;
color: transparent;
font-size: 0px;
text-decoration: none;
}

View File

@@ -0,0 +1,69 @@
pre .hll { background-color: #333333 }
pre .c { color: #008800; font-style: italic; background-color: #0f140f } /* Comment */
pre .err { color: #ffffff } /* Error */
pre .g { color: #ffffff } /* Generic */
pre .k { color: #fb660a; font-weight: bold } /* Keyword */
pre .l { color: #ffffff } /* Literal */
pre .n { color: #ffffff } /* Name */
pre .o { color: #ffffff } /* Operator */
pre .x { color: #ffffff } /* Other */
pre .p { color: #ffffff } /* Punctuation */
pre .cm { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Multiline */
pre .cp { color: #ff0007; font-weight: bold; font-style: italic; background-color: #0f140f } /* Comment.Preproc */
pre .c1 { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Single */
pre .cs { color: #008800; font-style: italic; background-color: #0f140f } /* Comment.Special */
pre .gd { color: #ffffff } /* Generic.Deleted */
pre .ge { color: #ffffff } /* Generic.Emph */
pre .gr { color: #ffffff } /* Generic.Error */
pre .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
pre .gi { color: #ffffff } /* Generic.Inserted */
pre .go { color: #aaaaaa; } /* Generic.Output */
pre .gp { color: #FFA500; } /* Generic.Prompt */
pre .gs { color: #ffffff } /* Generic.Strong */
pre .gu { color: #ffffff; font-weight: bold } /* Generic.Subheading */
pre .gt { color: #ffffff } /* Generic.Traceback */
pre .kc { color: #fb660a; font-weight: bold } /* Keyword.Constant */
pre .kd { color: #fb660a; font-weight: bold } /* Keyword.Declaration */
pre .kn { color: #fb660a; font-weight: bold } /* Keyword.Namespace */
pre .kp { color: #fb660a } /* Keyword.Pseudo */
pre .kr { color: #fb660a; font-weight: bold } /* Keyword.Reserved */
pre .kt { color: #cdcaa9; font-weight: bold } /* Keyword.Type */
pre .ld { color: #ffffff } /* Literal.Date */
pre .m { color: #0086f7; font-weight: bold } /* Literal.Number */
pre .s { color: #0086d2 } /* Literal.String */
pre .na { color: #ff0086; font-weight: bold } /* Name.Attribute */
pre .nb { color: #ffffff } /* Name.Builtin */
pre .nc { color: #ffffff } /* Name.Class */
pre .no { color: #0086d2 } /* Name.Constant */
pre .nd { color: #ffffff } /* Name.Decorator */
pre .ni { color: #ffffff } /* Name.Entity */
pre .ne { color: #ffffff } /* Name.Exception */
pre .nf { color: #ff0086; font-weight: bold } /* Name.Function */
pre .nl { color: #ffffff } /* Name.Label */
pre .nn { color: #ffffff } /* Name.Namespace */
pre .nx { color: #ffffff } /* Name.Other */
pre .py { color: #ffffff } /* Name.Property */
pre .nt { color: #fb660a; font-weight: bold } /* Name.Tag */
pre .nv { color: #fb660a } /* Name.Variable */
pre .ow { color: #ffffff } /* Operator.Word */
pre .w { color: #888888 } /* Text.Whitespace */
pre .mf { color: #0086f7; font-weight: bold } /* Literal.Number.Float */
pre .mh { color: #0086f7; font-weight: bold } /* Literal.Number.Hex */
pre .mi { color: #0086f7; font-weight: bold } /* Literal.Number.Integer */
pre .mo { color: #0086f7; font-weight: bold } /* Literal.Number.Oct */
pre .sb { color: #0086d2 } /* Literal.String.Backtick */
pre .sc { color: #0086d2 } /* Literal.String.Char */
pre .sd { color: #0086d2 } /* Literal.String.Doc */
pre .s2 { color: #0086d2 } /* Literal.String.Double */
pre .se { color: #0086d2 } /* Literal.String.Escape */
pre .sh { color: #0086d2 } /* Literal.String.Heredoc */
pre .si { color: #0086d2 } /* Literal.String.Interpol */
pre .sx { color: #0086d2 } /* Literal.String.Other */
pre .sr { color: #0086d2 } /* Literal.String.Regex */
pre .s1 { color: #0086d2 } /* Literal.String.Single */
pre .ss { color: #0086d2 } /* Literal.String.Symbol */
pre .bp { color: #ffffff } /* Name.Builtin.Pseudo */
pre .vc { color: #fb660a } /* Name.Variable.Class */
pre .vg { color: #fb660a } /* Name.Variable.Global */
pre .vi { color: #fb660a } /* Name.Variable.Instance */
pre .il { color: #0086f7; font-weight: bold } /* Literal.Number.Integer.Long */

68
dev-random/static/css/skeleton.css vendored Normal file
View File

@@ -0,0 +1,68 @@
.page {
display: block;
margin-top: 5%;
}
.page .head,
.page .main,
.page .foot {
display: block;
width: 100%;
clear: both;
}
.page .main {
display: table;
border-collapse: separate;
border-spacing: .5%;
width: 75%;
margin: .5em auto;
clear: both;
}
.page .main .sidebar {
display: table-cell;
width: 25%;
}
.page .main .content {
display: table-cell;
width: 74%;
}
@media screen and (max-width: 800px) {
.page .main {
width: 100%;
clear: both;
}
}
@media screen and (max-width: 700px) {
.page .main {
display: block;
}
.page .main .sidebar,
.page .main .content {
display: block;
margin: 0 .5em;
width: 100%;
clear: both;
}
.widget {
display: block;
}
.widget ul,
.widget li {
display: inline;
}
.widget h3 { display: none; }
}
@media print {
.sidebar { display: none; }
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,20 @@
window.hex2ascii = {};
window.hex2ascii.init = function() {
var els = document.getElementsByClassName('hex'),
hex, text,
i, j, e;
for(i=0; i < els.length; i++) {
e = els[i];
hex = e.innerHTML.split(' ');
text = "";
for(j=0; j < hex.length; j++) {
text += String.fromCharCode(parseInt(hex[j], 16));
}
e.innerHTML = text;
e.className = e.className.replace('hex','');
}
};

3
dev-random/static/js/html5shiv.js vendored Normal file
View File

@@ -0,0 +1,3 @@
/*! HTML5 Shiv pre3.5 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
Uncompressed source: https://github.com/aFarkas/html5shiv */
(function(a,b){function h(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function i(){var a=l.elements;return typeof a=="string"?a.split(" "):a}function j(a){var b={},c=a.createElement,f=a.createDocumentFragment,g=f();a.createElement=function(a){l.shivMethods||c(a);var f;return b[a]?f=b[a].cloneNode():e.test(a)?f=(b[a]=c(a)).cloneNode():f=c(a),f.canHaveChildren&&!d.test(a)?g.appendChild(f):f},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+i().join().replace(/\w+/g,function(a){return b[a]=c(a),g.createElement(a),'c("'+a+'")'})+");return n}")(l,g)}function k(a){var b;return a.documentShived?a:(l.shivCSS&&!f&&(b=!!h(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),g||(b=!j(a)),b&&(a.documentShived=b),a)}function p(a){var b,c=a.getElementsByTagName("*"),d=c.length,e=RegExp("^(?:"+i().join("|")+")$","i"),f=[];while(d--)b=c[d],e.test(b.nodeName)&&f.push(b.applyElement(q(b)));return f}function q(a){var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(n+":"+a.nodeName);while(d--)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function r(a){var b,c=a.split("{"),d=c.length,e=RegExp("(^|[\\s,>+~])("+i().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),f="$1"+n+"\\:$2";while(d--)b=c[d]=c[d].split("}"),b[b.length-1]=b[b.length-1].replace(e,f),c[d]=b.join("}");return c.join("{")}function s(a){var b=a.length;while(b--)a[b].removeNode()}function t(a){var b,c,d=a.namespaces,e=a.parentWindow;return!o||a.printShived?a:(typeof d[n]=="undefined"&&d.add(n),e.attachEvent("onbeforeprint",function(){var d,e,f,g=a.styleSheets,i=[],j=g.length,k=Array(j);while(j--)k[j]=g[j];while(f=k.pop())if(!f.disabled&&m.test(f.media)){for(d=f.imports,j=0,e=d.length;j<e;j++)k.push(d[j]);try{i.push(f.cssText)}catch(l){}}i=r(i.reverse().join("")),c=p(a),b=h(a,i)}),e.attachEvent("onafterprint",function(){s(c),b.removeNode(!0)}),a.printShived=!0,a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea|object|iframe)$/i,e=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,f,g;(function(){var c=b.createElement("a");c.innerHTML="<xyz></xyz>",f="hidden"in c,f&&typeof injectElementWithStyles=="function"&&injectElementWithStyles("#modernizr{}",function(b){b.hidden=!0,f=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).display=="none"}),g=c.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var l={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:k};a.html5=l,k(b);var m=/^$|\b(?:all|print)\b/,n="html5shiv",o=!g&&function(){var c=b.documentElement;return typeof b.namespaces!="undefined"&&typeof b.parentWindow!="undefined"&&typeof c.applyElement!="undefined"&&typeof c.removeNode!="undefined"&&typeof a.attachEvent!="undefined"}();l.type+=" print",l.shivPrint=t,t(b)})(this,document)

View File

@@ -0,0 +1,31 @@
{% extends "base.html" %}
{% block content_title %}{{ SITENAME }} — Archives{% endblock %}
{%- block content %}
<section class="content">
<h1>Archives</h1>
<dl>
{% for article in articles %}
{% if loop.first or article.date.strftime('%Y %m') != articles[loop.index0-1].date.strftime('%Y %m') %}
<dt>
<h2>{{ article.date.strftime('%B %Y') }}</h2>
<ul>
{% endif %}
<li>
<a rel="bookmark"
href="{{ SITEURL }}/{{ article.url }}"
title="Lien permanent vers «{{ article.title }}»">
{{ article.title }}
</a>
</li>
{% if loop.last or article.date.strftime('%Y %m') != articles[loop.index0+1].date.strftime('%Y %m') %}
</ul>
</dt>
{% endif %}
{% endfor %}
</dl>
</section>
{% endblock content -%}

View File

@@ -0,0 +1,57 @@
{% extends "base.html" %}
{% block headers %}
{{ super() }}
<meta name="author" content="{{ article.author }}" />
<meta name="keywords" content="{{ articles.tags|join(' ')}}" />
{% endblock %}
{% block title %}{{ article.title }} — {{ super() }}{% endblock %}
{%- block content %}
<article class="post content">
<header class="post-header">
<time datetime="{{ article.date.isoformat() }}" pubdate="pubdate">
{{ article.locale_date }}
</time>
<h1>
<a rel="bookmark"
href="{{ SITEURL }}/{{ article.url }}"
title="Lien permanent vers «{{ article.title }}»">
{{ article.title }}
</a>
</h1>
<div class="meta">
Dans «<a href="{{ SITEURL }}/category/{{ article.category }}.html">{{ article.category }}</a>»
par <a href="{{ SITEURL }}/author/{{article.author}}.html">{{ article.author}}</a>
</div>
</header>
<div class="post-content">
{{ article.content}}
</div>
<footer class="post-footer">
<div class="meta">
Posté dans «<a href="{{ SITEURL }}/category/{{ article.category }}.html">{{ article.category }}</a>»
par <a href="{{ SITEURL }}/author/{{article.author}}.html">{{ article.author}}</a><br />
Mots-clés: {% for tag in article.tags %} #<a href="{{ SITEURL }}/tag/{{ tag }}.html">{{ tag }}</a>{% endfor %}
</div>
</footer>
{% if DISQUS_SITENAME %}
<hr />
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = '{{ DISQUS_SITENAME }}'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
{% endif %}
</article>
{% endblock content -%}

View File

@@ -0,0 +1,5 @@
{% extends "index.html" %}
{% block title %}{{ super() }} — Articles de {{ author }}{% endblock %}
{% block index_title %}Articles de <i>{{ author }}</i> :{% endblock %}

View File

@@ -0,0 +1,65 @@
<!DOCTYPE html>
<html lang="{{ DEFAULT_LANG }}">
<head>
{% block headers %}
<meta charset="utf-8" />
<title>{% block title %}{{ SITENAME }}{%endblock%}</title>
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/skeleton.css" />
<link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/main.css" />
<link rel="shortcut icon" type="text/css" href="{{ SITEURL }}/favicon.ico" />
<link rel="alternate" type="application/atom+xml"
title="{{ SITENAME }} — Flux Atom"
href="{{ SITEURL }}/{{ FEED }}" />
{% if FEED_RSS %}
<link rel ="alternate" type="application/rss+xml"
title="{{ SITENAME }} — Flux RSS"
href="{{ SITEURL }}/{{ FEED_RSS }}" />
{% endif %}
<script src="{{ SITEURL }}/theme/js/hex2ascii.js"></script>
<!--[if lte IE 8]><script src="{{ SITEURL }}/theme/js/html5shiv.js"></script><![endif]-->
{% if GOOGLE_ANALYTICS %}
<script type="text/javascript">
// Google analytics:
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
function enableGA() {
try {
var pageTracker = _gat._getTracker("{{ GOOGLE_ANALYTICS }}");
pageTracker._trackPageview();
_gaq.push(['_setCustomVar',
1, // This custom var is set to slot #1. Required parameter.
'User-Agent',
navigator.userAgent
]);
console.log('GA loaded');
} catch(err) {
setTimeout(500,'enableGA()');
console.log('Waiting GA ...');
}
}
setTimeout('enableGA()', 200);
</script>
{% endif %}
{% endblock headers %}
</head>
<body>
<div class="page">
<header class="head">
<h1>
<a href="{{ SITEURL }}/index.html">{{ SITENAME }}</a>
</h1>
</header>
<div class="main">
{% include "includes/sidebar.html" %}
{% block content %}
{% endblock content %}
</div>
<footer class="foot">
<p> {{ FOOTER_TEXT or 'Powered by <a href="http://pelican.readthedocs.org">Pelican</a>' }}</p>
{% if GITHUB_URL %}<p><a id="github-link" href="{{ GITHUB_URL}}">Fork me on Github</a></p>{% endif %}
</footer>
</div>
</body>
</html>

View File

@@ -0,0 +1,14 @@
{% extends "base.html" %}
{% block title %}{{ super() }} — Catégories{% endblock title %}
{%- block content %}
<section class="content">
<h1>Catégories</h1>
<ul id="category-list">
{% for category, n in categories %}
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a> ({{ n|count }} articles)</li>
{% endfor %}
</ul>
</section>
{% endblock content -%}

View File

@@ -0,0 +1,5 @@
{% extends "index.html" %}
{% block title %}{{ super() }} — Articles dans la catégorie «{{ category }}»{% endblock %}
{% block index_title %}Articles dans la catégorie <i>«{{ category }}»</i> :{% endblock %}

View File

@@ -0,0 +1,46 @@
<aside class="sidebar">
<nav class="widget">
<h3>Site</h3>
<ul>
<li><a href="{{ SITEURL }}">Accueil</a></li>
<li><a href="{{ SITEURL }}/archives.html">Archives</a></li>
<li><a href="{{ SITEURL }}/tags.html">Mots-clés</a></li>
{% if MENUITEMS %}
{% for name, uri in MENUITEMS %}
<li><a href="{{ uri|format(SITEURL)|e}}">{{ name }}</a></li>
{% endfor %}
{% endif %}
{% if DISPLAY_PAGES_ON_MENU %}
{% for p in PAGES %}
<li><a href="{{ SITEURL}}/{{ p.url|e }}"{% if p == page %} class="active"{% endif %}>{{ p.title }}</a></li>
{% endfor %}
{% endif %}
</ul>
</nav>
{% if categories %}
<nav class="widget">
<h3>Catégories</h3>
<ul>
{% for cat, null in categories %}
<li><a href="{{ SITEURL }}/{{ cat.url|e }}">{{ cat }}</a></li>
{% endfor %}
</ul>
</nav>
{% endif %}
{% if SOCIAL %}
<nav class="widget">
<h3>Social</h3>
<ul>
{% for url, name in SOCIAL %}
<li><a href="{{ url|e }}">{{ name }}</a></li>
{% endfor %}
<li><a href="{{ SITEURL }}/{{ FEED }}" rel="alternate">Flux Atom</a></li>
{% if FEED_RSS %}
<li><a href="{{ SITEURL }}/{{ FEED_RSS }}" rel="alternate">Flux RSS</a></li>
{% endif %}
</ul>
</nav>
{% endif %}
</aside>

View File

@@ -0,0 +1,64 @@
{% extends "base.html" %}
{%- block content %}
<section class="content">
<h1 id="page-title">{% block index_title %}Tous les articles{% endblock index_title %}</h1>
{% for article in articles_page.object_list %}
<article class="post">
<header class="post-header">
<time datetime="{{ article.date.isoformat() }}" pubdate="pubdate">
{{ article.locale_date }}
</time>
<h1>
<a rel="bookmark"
href="{{ SITEURL }}/{{ article.url }}"
title="Lien permanent vers «{{ article.title }}»">
{{ article.title }}
</a>
</h1>
<div class="meta">
Dans «<a href="{{ SITEURL }}/category/{{ article.category }}.html">{{ article.category }}</a>»
par <a href="{{ SITEURL }}/author/{{article.author}}.html">{{ article.author}}</a>
</div>
</header>
<div class="post-content">
{{ article.summary }}
</div>
<footer class="post-footer">
<a class="readmore" href="{{ SITEURL }}/{{ article.url }}">Lire la suite...</a>
</footer>
</article>
{% endfor %}
{%- if articles_page %}
<nav id="pagination">
{%- if articles_page.has_previous() %}
<a id="first_page" href="{{ SITEURL }}/{{ page_name }}.html">&#60;&#60;</a>
<a id="prev_page" href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() if articles_page.previous_page_number() != 1 else "" }}.html">&#60;</a>
{% else %}
<!-- <span id="first_page" class="a inactive">&#60;&#60;</span>
<span id="first_page" class="a inactive">&#60;</span> -->
{% endif -%}
{%- for i in range(1,articles_paginator.num_pages+1) %}
{%- if articles_page.number - 5 < i < articles_page.number + 5 %}
{%- if i == articles_page.number %}
<span class="a active">{{loop.index}}</span>
{% else %}
<a href="{{SITEURL}}/{{ page_name }}{{ ( i if i != 1 else "" ) }}.html">{{loop.index}}</a>
{% endif -%}
{% endif -%}
{% endfor -%}
{%- if articles_page.has_next() %}
<a id="next_page" href="{{ SITEURL }}/{{ page_name }}{{ articles_page.next_page_number() }}.html">&#62;</a>
<a id="last_page" href="{{ SITEURL }}/{{ page_name }}{{ articles_paginator.num_pages }}.html">&#62;&#62;</a>
{% else %}
<!-- <span id="next_page" class="a inactive">&#62;</span>
<span id="next_page" class="a inactive">&#62;&#62;</span> -->
{% endif -%}
</nav>
{%- endif%}
</section>
{% endblock content -%}

View File

@@ -0,0 +1,10 @@
{% extends "base.html" %}
{% block title %}{{ super() }} — {{ page.url }}{% endblock title %}
{%- block content %}
<section class="content">
<h1>{{ page.title }}</h1>
{{ page.content }}
</section>
{% endblock content -%}

View File

@@ -0,0 +1,6 @@
{% extends "index.html" %}
{% block title %}{{ super() }} — Articles avec le mot clé « {{ tag }} »{% endblock %}
{% block index_title %}Articles avec le mot clé « {{ tag }} » :{% endblock %}

View File

@@ -0,0 +1,14 @@
{% extends "base.html" %}
{% block title %}{{ super() }} — Mots-clés{% endblock title %}
{%- block content %}
<section class="content">
<h1>Mots-clés</h1>
<ul id="tagslist">
{% for tag in tag_cloud %}
<li class="tag-{{ tag.1 }}"><a href="{{ SITEURL }}/tag/{{ tag.0 }}.html">{{ tag.0 }}</a></li>
{% endfor %}
</ul>
</section>
{% endblock content -%}