premier commit
This commit is contained in:
parent
9b7a4c0714
commit
5a05f8c50d
|
@ -1,3 +1,7 @@
|
|||
# didactique
|
||||
|
||||
Un thème didactique pour Pelican.
|
||||
|
||||
Il se repose sur le thème `simple` pour les fichier `.html` qui manqueraient.
|
||||
|
||||
… la suite un de ces jours.
|
2733
static/css/fork-awesome.css
Normal file
2733
static/css/fork-awesome.css
Normal file
File diff suppressed because it is too large
Load Diff
78
static/css/highlight.css
Normal file
78
static/css/highlight.css
Normal file
|
@ -0,0 +1,78 @@
|
|||
/* Fichier généré avec pygmentize
|
||||
*
|
||||
* pygmentize -S default -f html -a .highlight > highlight.css
|
||||
*/
|
||||
pre { line-height: 125%; }
|
||||
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #f8f8f8; }
|
||||
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .gr { color: #E40000 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #008400 } /* Generic.Inserted */
|
||||
.highlight .go { color: #717171 } /* Generic.Output */
|
||||
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
||||
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #B00040 } /* Keyword.Type */
|
||||
.highlight .m { color: #666666 } /* Literal.Number */
|
||||
.highlight .s { color: #BA2121 } /* Literal.String */
|
||||
.highlight .na { color: #687822 } /* Name.Attribute */
|
||||
.highlight .nb { color: #008000 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #880000 } /* Name.Constant */
|
||||
.highlight .nd { color: #AA22FF } /* Name.Decorator */
|
||||
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #0000FF } /* Name.Function */
|
||||
.highlight .nl { color: #767600 } /* Name.Label */
|
||||
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #19177C } /* Name.Variable */
|
||||
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
|
||||
.highlight .mf { color: #666666 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
|
||||
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #008000 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #19177C } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #19177C } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
|
||||
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
|
414
static/css/latest.css
Normal file
414
static/css/latest.css
Normal file
|
@ -0,0 +1,414 @@
|
|||
/* Couleurs
|
||||
Pour éviter de chercher dans le code les couleurs utilisées
|
||||
sont sous forme de variables CSS.
|
||||
Si aucune couleur n'est définie, tout le site sera en noir&blanc.
|
||||
*/
|
||||
|
||||
/* Europe
|
||||
:root {
|
||||
--fond: white;
|
||||
--primaire: #039;
|
||||
--liens: rgb(18, 116, 207);
|
||||
--deco: #FC0;
|
||||
}
|
||||
*/
|
||||
|
||||
/* Belgique
|
||||
:root {
|
||||
--fond: black;
|
||||
--primaire: white;
|
||||
--liens: gold;
|
||||
--deco: red;
|
||||
}
|
||||
*/
|
||||
|
||||
/* compuThings inversé
|
||||
:root {
|
||||
--fond: #222;
|
||||
--primaire: #EEE;
|
||||
--liens: #96D321;
|
||||
--deco: #fe1976;
|
||||
}
|
||||
*/
|
||||
|
||||
/* compuThings
|
||||
*/
|
||||
:root {
|
||||
--fond: #EEE;
|
||||
--primaire: #222;
|
||||
--liens: #fe1976;
|
||||
--deco: #96D321;
|
||||
}
|
||||
|
||||
|
||||
/* Expériences
|
||||
*/
|
||||
|
||||
|
||||
/* Pour « toute » la page.
|
||||
*/
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: sans-serif;
|
||||
background-color: var(--fond);
|
||||
color: var(--primaire);
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: var(--liens);
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 90vw;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: red;
|
||||
}
|
||||
|
||||
/* pour les images en Markdown.
|
||||
* En markdown : ![alt](path/file.png#class "titre")
|
||||
* Sauf si leur nom est trop similaire, plusieurs classes peuvent se succéder.
|
||||
* ex qui ne fonctionnerait pas : #small et #smaller
|
||||
* ex en markown: ![alt](path/file.png#verysmall#right "titre")
|
||||
*/
|
||||
img[src*="#left"] {
|
||||
float: left;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
img[src*="#right"] {
|
||||
float: right;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
img[src*="#center"] {
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
img[src*="#verysmall"] {
|
||||
max-width: 10vw;
|
||||
}
|
||||
|
||||
img[src*="#small"] {
|
||||
max-width: 30vw;
|
||||
}
|
||||
|
||||
img[src*="#medium"] {
|
||||
max-width: 60vw;
|
||||
}
|
||||
|
||||
img[src*="#round"] {
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
/* Pour la balise header.
|
||||
* Elle est utilisée une seule fois sur la page.
|
||||
* Pour y afficher les deux menus, le principal et le social.
|
||||
*/
|
||||
header {
|
||||
background-color: var(--primaire);
|
||||
color: var(--fond);
|
||||
position: -webkit-sticky; /* Safari */
|
||||
position: sticky;
|
||||
top: 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
header a {
|
||||
color: var(--fond);
|
||||
padding: .5em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
header a::first-letter {
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
header a:hover{
|
||||
background: var(--liens);
|
||||
}
|
||||
|
||||
header a:hover::first-letter{
|
||||
color: unset;
|
||||
}
|
||||
|
||||
header a.current {
|
||||
text-decoration: underline .2em;
|
||||
text-decoration-color: var(--liens);
|
||||
}
|
||||
|
||||
header a.current::first-letter{
|
||||
color: unset;
|
||||
}
|
||||
|
||||
.social {
|
||||
background-color: var(--deco);
|
||||
}
|
||||
|
||||
.social a:hover {
|
||||
color: var(--fond);
|
||||
}
|
||||
|
||||
/* Contenu principal
|
||||
*/
|
||||
main {
|
||||
margin-left: 2em;
|
||||
margin-right: 2em;
|
||||
}
|
||||
|
||||
main a:hover {
|
||||
text-decoration: underline;
|
||||
text-decoration-color: var(--deco);
|
||||
color: unset;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: sticky;
|
||||
top:auto;
|
||||
}
|
||||
|
||||
.pagination p {
|
||||
margin: .5em;
|
||||
}
|
||||
|
||||
.pagination a:hover {
|
||||
color: var(--primaire);
|
||||
}
|
||||
|
||||
.pagination a {
|
||||
padding-left: 2em;
|
||||
padding-right: 3em;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
/* Le tire et des infos
|
||||
*/
|
||||
|
||||
hgroup h1 {
|
||||
margin-bottom: 0em;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
hgroup p{
|
||||
margin-top: 0em;
|
||||
color: color-mix(in srgb, var(--primaire), transparent);
|
||||
}
|
||||
|
||||
hgroup a {
|
||||
color: color-mix(in srgb, var(--liens) 70%, transparent);
|
||||
}
|
||||
|
||||
/* un article ou une page
|
||||
*/
|
||||
article p {
|
||||
padding-left: 1em;
|
||||
line-height: 1.5em;
|
||||
|
||||
}
|
||||
|
||||
article footer {
|
||||
text-align: center;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
article blockquote {
|
||||
border-left-style: dotted;
|
||||
border-left-color: gray;
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
/* tires coquets
|
||||
*/
|
||||
article h1 {
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
article h2::after {
|
||||
content: " ··";
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
article h3::after {
|
||||
content: " ···";
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
article h4::after {
|
||||
content: " ··· ·";
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
article h5::after {
|
||||
content: " ··· ··";
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
article h6::after {
|
||||
content: " ··· ···";
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
|
||||
/* listes
|
||||
*/
|
||||
li {
|
||||
line-height: 1.8em;
|
||||
}
|
||||
ul li {
|
||||
/* pour écarter les fa-icons du texte
|
||||
*/
|
||||
padding-left: .5em;
|
||||
}
|
||||
|
||||
ul li::marker {
|
||||
content: "ɷ";
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
li>ul {
|
||||
padding-left: .7em;
|
||||
}
|
||||
|
||||
li>ul li::marker {
|
||||
color: color-mix(in srgb, var(--primaire) 60%, transparent);
|
||||
}
|
||||
|
||||
/* tables
|
||||
*/
|
||||
table {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
th {
|
||||
border-bottom: solid var(--deco) 1px;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {
|
||||
/*background-color: var(--secondaire);*/
|
||||
background-color: color-mix(in srgb, var(--primaire) 20%, var(--fond));
|
||||
}
|
||||
|
||||
/* coloration du code (highlight)
|
||||
* voir aussi highlight.css
|
||||
*/
|
||||
.highlight {
|
||||
margin-left: 2em;
|
||||
width: auto;
|
||||
height: auto;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.highlighttable {
|
||||
/* Sinon le code avec numérotation des lignes
|
||||
* se retrouve centré parcequ'il est fait avec une table.
|
||||
*/
|
||||
margin-left: unset;
|
||||
margin-right: unset;
|
||||
}
|
||||
|
||||
/* notes en bas de page
|
||||
*/
|
||||
|
||||
.footnote hr {
|
||||
color: var(--fond);
|
||||
}
|
||||
|
||||
.footnote p {
|
||||
font-size: 1em;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
/* Pied de page
|
||||
*/
|
||||
footer {
|
||||
text-align: center;
|
||||
font-size: smaller;
|
||||
border-top: .1em dashed color-mix(in srgb, var(--primaire), transparent);;
|
||||
padding: .5em;
|
||||
}
|
||||
footer a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
footer a:hover {
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Pour ne pas imprimer le menu.
|
||||
*/
|
||||
@media print {
|
||||
header
|
||||
{
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Pour un minimum de responsivenessitude…
|
||||
*/
|
||||
@media screen and (max-width: 800px) {
|
||||
|
||||
img {
|
||||
min-width: 30vw;
|
||||
}
|
||||
|
||||
header {
|
||||
position: unset;
|
||||
top: unset;
|
||||
}
|
||||
|
||||
nav:last-child {
|
||||
width: min-content;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-left: unset;
|
||||
margin-right: unset;
|
||||
}
|
||||
|
||||
hgroup, article, article>div.highlight, blockquote, table {
|
||||
margin-left: .5em;
|
||||
margin-right: .5em;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
hgroup {
|
||||
border-bottom: dashed var(--deco) 10px;
|
||||
border-width: 50%;
|
||||
}
|
||||
|
||||
footer {
|
||||
color: var(--fond);
|
||||
background-color: var(--primaire);
|
||||
border-top: unset;
|
||||
}
|
||||
|
||||
footer a {
|
||||
color: var(--deco);
|
||||
}
|
||||
|
||||
.pagination p {
|
||||
margin: 0em;
|
||||
}
|
||||
|
||||
.pagination a {
|
||||
padding-left: 1.5em;
|
||||
padding-right: 1.5em;
|
||||
font-size: 1em;
|
||||
}
|
||||
}
|
BIN
static/fonts/forkawesome-webfont.eot
Normal file
BIN
static/fonts/forkawesome-webfont.eot
Normal file
Binary file not shown.
3232
static/fonts/forkawesome-webfont.svg
Normal file
3232
static/fonts/forkawesome-webfont.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 547 KiB |
BIN
static/fonts/forkawesome-webfont.ttf
Normal file
BIN
static/fonts/forkawesome-webfont.ttf
Normal file
Binary file not shown.
BIN
static/fonts/forkawesome-webfont.woff
Normal file
BIN
static/fonts/forkawesome-webfont.woff
Normal file
Binary file not shown.
BIN
static/fonts/forkawesome-webfont.woff2
Normal file
BIN
static/fonts/forkawesome-webfont.woff2
Normal file
Binary file not shown.
BIN
static/img/favicon.png
Normal file
BIN
static/img/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
50
templates/article.html
Normal file
50
templates/article.html
Normal file
|
@ -0,0 +1,50 @@
|
|||
{# article sert aux pages ET aux articles #}
|
||||
{% extends "base.html" %}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ article.title|striptags }}{% endblock %}
|
||||
{% block head %}
|
||||
{{ super() }}
|
||||
{% if article.description %}
|
||||
<meta name="description" content="{{article.subtitle}} {{article.description}}" />
|
||||
{% endif %}
|
||||
{% for tag in article.tags %}
|
||||
<meta name="tags" content="{{tag}}" />
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<article>
|
||||
<hgroup>
|
||||
<h1>
|
||||
{{ article.title }}
|
||||
</h1>
|
||||
<p>
|
||||
{% if article.modified %}
|
||||
Modifié le <time datetime="{{ article.modified.isoformat() }}">{{ article.modified|strftime('%A %d %B %Y') }}</time>
|
||||
{% else %}
|
||||
Publié le <time datetime="{{ article.date.isoformat() }}">{{ article.date|strftime('%A %d %B %Y') }}</time>
|
||||
{% endif %}
|
||||
|
||||
{% if DISPLAY_AUTHORS %}
|
||||
{% if article.authors %}
|
||||
par
|
||||
{% for author in article.authors %}
|
||||
<a href="{{ SITEURL }}/{{ author.url }}">{{ author }}</a>{% if loop.last %} {% else %},{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if article.category %}
|
||||
dans la catégorie <a href="{{ SITEURL }}/{{ article.category.url }}">{{ article.category }} </a>
|
||||
{% endif %}
|
||||
|
||||
{% if article.tags %}
|
||||
avec le(s) mot(s) clé(s)
|
||||
{% for tag in article.tags %}
|
||||
<a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a>{% if loop.last %}.{% else %},{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</p>
|
||||
</hgroup>
|
||||
{{ article.content }}
|
||||
</article>
|
||||
{% endblock %}
|
2
templates/author.html
Normal file
2
templates/author.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
{% extends "listing.html" %}
|
||||
{% block title %}{{ SITENAME|striptags }} - Articles de {{ author }} {% endblock %}
|
98
templates/base.html
Normal file
98
templates/base.html
Normal file
|
@ -0,0 +1,98 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{% block html_lang %}{{ DEFAULT_LANG }}{% endblock html_lang %}">
|
||||
<head>
|
||||
{% block head %}
|
||||
|
||||
<title>{% block title %}{{ SITENAME|striptags }}{% endblock title %}</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="Pelican" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
{% if FEED_ALL_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_ATOM_URL %}{{ FEED_ALL_ATOM_URL }}{% else %}{{ FEED_ALL_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Full Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ALL_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_ALL_RSS_URL %}{{ FEED_ALL_RSS_URL }}{% else %}{{ FEED_ALL_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} Full RSS Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_ATOM %}
|
||||
<link href="{{ FEED_DOMAIN }}/{%if FEED_ATOM_URL %}{{ FEED_ATOM_URL }}{% else %}{{ FEED_ATOM }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Atom Feed" />
|
||||
{% endif %}
|
||||
{% if FEED_RSS %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if FEED_RSS_URL %}{{ FEED_RSS_URL }}{% else %}{{ FEED_RSS }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} RSS Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_ATOM and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_ATOM_URL %}{{ CATEGORY_FEED_ATOM_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_ATOM.format(slug=category.slug) }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Categories Atom Feed" />
|
||||
{% endif %}
|
||||
{% if CATEGORY_FEED_RSS and category %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_RSS_URL %}{{ CATEGORY_FEED_RSS_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_RSS.format(slug=category.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} Categories RSS Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_ATOM and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_ATOM_URL %}{{ TAG_FEED_ATOM_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_ATOM.format(slug=tag.slug) }}{% endif %}" type="application/atom+xml" rel="alternate" title="{{ SITENAME|striptags }} Tags Atom Feed" />
|
||||
{% endif %}
|
||||
{% if TAG_FEED_RSS and tag %}
|
||||
<link href="{{ FEED_DOMAIN }}/{% if TAG_FEED_RSS_URL %}{{ TAG_FEED_RSS_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_RSS.format(slug=tag.slug) }}{% endif %}" type="application/rss+xml" rel="alternate" title="{{ SITENAME|striptags }} Tags RSS Feed" />
|
||||
{% endif %}
|
||||
<link rel="stylesheet" href="{% if SITEURL %}{{ SITEURL }}{% endif %}/theme/css/fork-awesome.css">
|
||||
<link rel="stylesheet" href="{% if SITEURL %}{{ SITEURL }}{% endif %}/theme/css/highlight.css">
|
||||
<link rel="stylesheet" href="{% if SITEURL %}{{ SITEURL }}{% endif %}/theme/css/latest.css">
|
||||
<link rel="icon" type="image/png" href="{% if SITEURL %}{{ SITEURL }}{% endif %}/theme/img/favicon.png" />
|
||||
{%- endblock head %}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<header>
|
||||
{% block nav %}
|
||||
<nav>
|
||||
{% if DISPLAY_PAGES_ON_MENU %}
|
||||
{% for p in pages %}
|
||||
{% if loop.first %}
|
||||
<a href="{{ SITEURL }}/"{% if p==page %} aria-current="page" class="current"{% endif %}>{{ p.title }}</a>
|
||||
{% else %}
|
||||
<a href="{{ SITEURL }}/{{ p.url }}"{% if p==page %} aria-current="page" class="current"{% endif %}>{{ p.title }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if DISPLAY_CATEGORIES_ON_MENU %} |
|
||||
{% for cat, null in categories %}
|
||||
{% if cat!="author" %}
|
||||
<a href="{{ SITEURL }}/{{ cat.url }}"{% if cat==category %} aria-current="page" class="current"{% endif %}>{{ cat}}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if DISPLAY_LINKS_ON_MENU %} |
|
||||
{% for title, link in LINKS %}
|
||||
<a href="{{ link }}">{{ title }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</nav>
|
||||
{% if SOCIAL %}
|
||||
<nav class="social">
|
||||
{% for text, link, icon in SOCIAL %}
|
||||
<a href="{{ link }}" title="{{ text }}"><i class="fa {{ icon }}"></i></a>
|
||||
{% endfor %}
|
||||
{% if CATEGORY_FEED_ATOM and category %}
|
||||
<a href="{{ FEED_DOMAIN }}/{% if CATEGORY_FEED_ATOM_URL %}{{ CATEGORY_FEED_ATOM_URL.format(slug=category.slug) }}{% else %}{{ CATEGORY_FEED_ATOM.format(slug=category.slug) }}{% endif %}" title="Flux pour {{ category }}" target="_blank"><i class="fa fa-rss"></i></a>
|
||||
{% endif %}
|
||||
{% if TAG_FEED_ATOM and tag %}
|
||||
<a href="{{ FEED_DOMAIN }}/{% if TAG_FEED_ATOM_URL %}{{ TAG_FEED_ATOM_URL.format(slug=tag.slug) }}{% else %}{{ TAG_FEED_ATOM.format(slug=tag.slug) }}{% endif %}" type="application/atom+xml" title="Flux pour {{ tag }}" target="_blank"><i class="fa fa-rss"></i></a>
|
||||
{% endif %}
|
||||
</nav>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
</header>
|
||||
|
||||
{% block pagination %}
|
||||
{% endblock %}
|
||||
|
||||
<main>
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
{% include "footer.html" %}
|
||||
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
11
templates/categories.html
Normal file
11
templates/categories.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}{{ SITENAME|striptags }} - Categories{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>Toutes les catégories sur {{ SITENAME }}</h2>
|
||||
<ul>
|
||||
{% for category, articles in categories|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ category.url }}">{{ category }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
2
templates/category.html
Normal file
2
templates/category.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
{% extends "listing.html" %}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ category }} (Catégorie){% endblock %}
|
26
templates/footer.html
Normal file
26
templates/footer.html
Normal file
|
@ -0,0 +1,26 @@
|
|||
<a href="{{ SITEURL }}/">{{ SITENAME }}</a>{% if SITESUBTITLE %} ({{ SITESUBTITLE }}){%- endif %}.
|
||||
|
||||
{%- if DISPLAY_LEGAL %}
|
||||
{%- if LEGAL_LICENCE %}
|
||||
<a target="_blank" rel="license" href="{{ LEGAL_LICENCE_URL }}">{{ LEGAL_LICENCE }}</a>
|
||||
{%- endif %}
|
||||
{%- if LEGAL_NAME %}
|
||||
{{ LEGAL_NAME}}
|
||||
{%- endif %}
|
||||
{% if LEGAL_ID %}
|
||||
, <a href="{{ LEGAL_URL }}" target="_blank">{{ LEGAL_ID }}</a>.
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
{%- if DISPLAY_INFO %}
|
||||
{%- if INFO_ENGINE_NAME %}
|
||||
Générateur: <a target="_blank" href="{{ INFO_ENGINE_URL }}">{{ INFO_ENGINE_NAME }}</a>
|
||||
{%- endif %}
|
||||
{%- if INFO_THEME_NAME %}
|
||||
, thème: <a href="{{ INFO_THEME_URL }}" target="_blank">{{ INFO_THEME_NAME }}</a>
|
||||
{%- endif %}
|
||||
{%- if INFO_HOSTING_NAME %}
|
||||
et auto-hébergé avec <a href="{{ INFO_HOSTING_URL }}">{{ INFO_HOSTING_NAME }}</a>
|
||||
{%- endif %}
|
||||
.
|
||||
{%- endif %}
|
45
templates/listing.html
Normal file
45
templates/listing.html
Normal file
|
@ -0,0 +1,45 @@
|
|||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
{% for article in articles_page.object_list %}
|
||||
<article>
|
||||
<h1>
|
||||
{{ article.title }}
|
||||
</h1>
|
||||
<p>
|
||||
{{ article.subtitle }}<br/>
|
||||
{{ article.description }} <br/>
|
||||
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">Lire la suite…</a>
|
||||
</p>
|
||||
</article>
|
||||
{% endfor %}
|
||||
{% endblock content %}
|
||||
|
||||
{% if articles_page.has_other_pages() %}
|
||||
{% if DEFAULT_PAGINATION %}
|
||||
{% block pagination %}
|
||||
{% set first_page = articles_paginator.page(1) %}
|
||||
{% set last_page = articles_paginator.page(articles_paginator.num_pages) %}
|
||||
{% if articles_paginator.num_pages >1 %}
|
||||
<nav class="pagination">
|
||||
<a href="{{ SITEURL }}/{{ first_page.url }}"
|
||||
{%- if articles_page.has_previous() %}
|
||||
{%- else %}class="hidden"{% endif %}>
|
||||
<i class="fa fa-angle-double-left"></i></a>
|
||||
<a href="{{ SITEURL }}/{{ articles_previous_page.url }}"
|
||||
{%- if articles_page.has_previous() %}
|
||||
{%- else %}class="hidden"{% endif %}>
|
||||
<i class="fa fa-angle-left"></i></a>
|
||||
<p><strong>{{ category }}{{ tag }}</strong> | {{ articles_page.number }} de {{ articles_paginator.num_pages }}</p>
|
||||
<a href="{{ SITEURL }}/{{ articles_next_page.url }}"
|
||||
{%- if articles_page.has_next() %}
|
||||
{%- else %}class="hidden"{% endif %}>
|
||||
<i class="fa fa-angle-right"></i></a>
|
||||
<a href="{{ SITEURL }}/{{ last_page.url }}"
|
||||
{%- if articles_page.has_next() %}
|
||||
{%- else %}class="hidden"{% endif %}>
|
||||
<i class="fa fa-angle-double-right"></i></a>
|
||||
</nav>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
{% endif %}
|
13
templates/page.html
Normal file
13
templates/page.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ page.title|striptags }}{%endblock%}
|
||||
|
||||
{% block head %}
|
||||
{{ super() }}
|
||||
<meta name="description" content="{{ page.subtitle }} {{ page.description }}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<article>
|
||||
{{ page.content }}
|
||||
</article>
|
||||
{% endblock %}
|
2
templates/tag.html
Normal file
2
templates/tag.html
Normal file
|
@ -0,0 +1,2 @@
|
|||
{% extends "listing.html" %}
|
||||
{% block title %}{{ SITENAME|striptags }} - {{ tag }} (Mot clé){% endblock %}
|
11
templates/tags.html
Normal file
11
templates/tags.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
{% extends "base.html" %}
|
||||
{% block title %}{{ SITENAME|striptags }} - Mots clés{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h2>Tous les mots clés <em>(tags)</em> sur {{ SITENAME }}</h2>
|
||||
<ul>
|
||||
{% for tag, articles in tags|sort %}
|
||||
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a> ({{ articles|count }})</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endblock %}
|
Loading…
Reference in New Issue
Block a user