Primi aggiustamenti con il tema pelican-blue sistemato.

This commit is contained in:
Emiliano Vavassori 2020-11-26 01:52:42 +01:00
parent c1dddffa44
commit cdc6531c16
31 changed files with 965 additions and 20 deletions

View File

@ -26,27 +26,14 @@ MENUITEMS = ( ("2020", "/2020/"), )
DISPLAY_PAGES_ON_MENU = False DISPLAY_PAGES_ON_MENU = False
DISPLAY_CATEGORIES_ON_MENU = False DISPLAY_CATEGORIES_ON_MENU = False
# Pelican Blue theme
THEME = 'themes/pelican-blue'
DISPLAY_FOOTER = False
# Blue Penguin theme # Blue Penguin theme
THEME = 'themes/blue-penguin' #THEME = 'themes/blue-penguin'
DISPLAY_HOME = False #DISPLAY_HOME = False
FOOTER = "Contenuti rilasciati con licenza CC-SA-BY 4.0" #FOOTER = "Contenuti rilasciati con licenza CC-SA-BY 4.0"
# Gum theme
#THEME = 'themes/gum'
# Foundation theme
#THEME = 'themes/foundation'
#FOUNDATION_FOOTER_TEXT = " "
# Buruma theme
#THEME = 'themes/buruma'
#JINJA_ENVIRONMENT = {
# "extensions": ["jinja2.ext.i18n"],
#}
#PLUGINS = ["i18n_subsites", "pelican_alias", ]
#CATS_NOT_DROPDOWN = True
#MENUITEMS_NAVBAR = ( ("2020", "/2020/"), )
#FOOTER = ()
# Feed generation is usually not desired when developing # Feed generation is usually not desired when developing
FEED_ALL_ATOM = None FEED_ALL_ATOM = None

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 Parbhat Puri
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,110 @@
# Pelican-Blue
Responsive theme for [Pelican](http://blog.getpelican.com/) Static Site Generator, Powered by [Python](https://www.python.org/) Programming language.
## Demo
You can see the theme in action at https://parbhatpuri.com
### Screenshots
![homepage-mobile](screenshot-mobile.png)
![homepage-web](screenshot-web.png)
![article](screenshot-article.png)
## Features
* Responsive (Mobile Friendly Test on [Google](https://www.google.com/webmasters/tools/mobile-friendly/?url=https%3A%2F%2Fparbhatpuri.com%2F))
* Fast (Load time tested on [Pingdom](http://tools.pingdom.com/fpt/#!/bT0Pry/https://parbhatpuri.com/): 540ms)
* Syntax highlighting for code blocks
* [Disqus](https://disqus.com/) for Comments
* Google Analytics
* RSS/ATOM feeds
* Easy to install
## Installation
You can install Pelican-Blue theme to your earlier Pelican project or create a new project from the Pelican [Quickstart](http://docs.getpelican.com/en/3.6.3/quickstart.html) guide.
* Clone the repository
```
$ git clone https://github.com/Parbhat/pelican-blue.git
```
* Create a `THEME` variable in your `pelicanconf.py` file and set its value to the location of pelican-blue theme.
```python
THEME = 'path-to-pelican-blue-theme'
```
If you have placed the `pelican-blue` theme inside your project's pelican-themes folder, change the `THEME` variable in `pelicanconf.py` to
```python
THEME = 'pelican-themes/pelican-blue'
```
* Add the following code to your `pelicanconf.py` file to display the social icons.
```python
SOCIAL = (('linkedin', 'https://www.linkedin.com/in/username'),
('github', 'https://github.com/username'),
('twitter', 'https://twitter.com/username'),
)
```
* That's it! You have installed `pelican-blue`. To see the Theme in action run the devserver
```
make devserver
```
**Note:** If you are new to Pelican Static Site Generator, you can read the Pelican [Docs](http://docs.getpelican.com/en/3.6.3/) to learn the working of Pelican. You can also customize the theme after reading the documentation.
## Settings
### pelicanconf.py
Pelican-Blue theme use the following settings. You can add the following to your `pelicanconf.py` to get the site shown in the screenshots.
```python
SIDEBAR_DIGEST = 'Programmer and Web Developer'
FAVICON = 'url-to-favicon'
DISPLAY_PAGES_ON_MENU = True
TWITTER_USERNAME = 'twitter-user-name'
MENUITEMS = (('Blog', SITEURL),)
```
When developing locally, set the following variable:
```
SITEURL = 'http://localhost:8000'
```
### publishconf.py
When you are ready to publish your site add the following settings to `publishconf.py` file
```python
SITEURL = 'http://your-domain-address'
FEED_ALL_ATOM = 'feeds/all.atom.xml'
CATEGORY_FEED_ATOM = 'feeds/%s.atom.xml'
MENUITEMS = (('Blog', SITEURL),)
DISQUS_SITENAME = ""
GOOGLE_ANALYTICS = ""
```
For more information on publishing your site, read the publishing [docs](http://docs.getpelican.com/en/3.6.3/publish.html)
## Contributing
Your contributions are welcome to improve the `pelican-blue` theme.

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

View File

@ -0,0 +1,64 @@
.highlight .hll { background-color: #49483e }
.highlight { background: #272822; color: #f8f8f2 }
.highlight .c { color: #75715e } /* Comment */
.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #f92672 } /* Operator */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .cm { color: #75715e } /* Comment.Multiline */
.highlight .cp { color: #75715e } /* Comment.Preproc */
.highlight .c1 { color: #75715e } /* Comment.Single */
.highlight .cs { color: #75715e } /* Comment.Special */
.highlight .gd { color: #f92672 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gi { color: #a6e22e } /* Generic.Inserted */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #75715e } /* Generic.Subheading */
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kn { color: #f92672 } /* Keyword.Namespace */
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .m { color: #ae81ff } /* Literal.Number */
.highlight .s { color: #e6db74 } /* Literal.String */
.highlight .na { color: #a6e22e } /* Name.Attribute */
.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
.highlight .nc { color: #a6e22e } /* Name.Class */
.highlight .no { color: #66d9ef } /* Name.Constant */
.highlight .nd { color: #a6e22e } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #a6e22e } /* Name.Exception */
.highlight .nf { color: #a6e22e } /* Name.Function */
.highlight .nl { color: #f8f8f2 } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #a6e22e } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #f92672 } /* Name.Tag */
.highlight .nv { color: #f8f8f2 } /* Name.Variable */
.highlight .ow { color: #f92672 } /* Operator.Word */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mb { color: #ae81ff } /* Literal.Number.Bin */
.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
.highlight .sc { color: #e6db74 } /* Literal.String.Char */
.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
.highlight .se { color: #ae81ff } /* Literal.String.Escape */
.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
.highlight .si { color: #e6db74 } /* Literal.String.Interpol */
.highlight .sx { color: #e6db74 } /* Literal.String.Other */
.highlight .sr { color: #e6db74 } /* Literal.String.Regex */
.highlight .s1 { color: #e6db74 } /* Literal.String.Single */
.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */

View File

@ -0,0 +1,303 @@
html {
font-family: 'Open Sans', 'helvetica', sans-serif;
background: white;
font-size: 14px;
}
/* Titles */
h1 { text-transform: uppercase }
h1, h2 {
font-weight: normal;
margin-top: 10px;
margin-bottom: 10px;
}
.title
{
font-size: 2.5em;
text-align: center;
margin-bottom: 50px;
text-transform: none;
color: #3a7c78;
line-height: 1;
font-weight: 600;
}
.latest
{-
padding: 10px 10px;
border-bottom: 1px solid #eee;
}
.post_detail
{
font-size: 2em;
line-height: 1em;
}
.entry-content
{
margin-top: 50px;
margin-bottom: 50px;
text-align: justify;
color: #333;
}
article section .about
{
font-size: 18px;
color: #444;
text-align: justify;
}
article section .blog-post
{
font-size: 16px;
}
/* Body */
body {margin: 0}
body > article, footer {
/*line-height: 1.6em;
display: block;
max-width: 700px;
margin: 40px auto auto 355px;
padding: 20px 80px 10px;*/
line-height: 1.6em;
display: block;
margin: auto 5px auto 285px;
padding: 10px 5px 10px;*/
}
article ol.posts
{
padding-left: 0;
}
/* Articles */
p.post_entry {
}
article > header {
list-style-type: none;
padding: 0px 10px;
box-shadow: 0 0 0 2px #3a7c78;
-moz-border-radius: 5px 0;
-webkit-border-radius: 5px 0;
border-radius: 5px 5px;
}
.article_left > h1 {
font-size: 20px;
}
.article_right {
background-color: white;
}
.post_list {
list-style-type: none;
padding: 10px 10px;
-moz-border-radius: 5px 0;
-webkit-border-radius: 5px 0;
border-radius: 5px 5px;
}
/* Links */;
a { color: #3a7c78; text-decoration:none; }
a:visited { color: #3a7c78; text-decoration:none; }
a:link { color:#3a7c78; text-decoration:none; }
a:active { color:#3a7c78; text-decoration:none; }
a:hover { text-decoration: underline; }
/* Code */
.highlight pre {
font-size: 14px;
overflow: auto;
padding: 8px;
}
/* Sidebar */
aside {
font-size: 14px;
width: 220px; height: 100%;
position: fixed;
top: 0; left: 0;
padding: 30px;
/*background-color: #2980b9;*/
background-color: #3a7c78;
color: white;
box-shadow: 0 0 3px black;
text-align: center;
padding-top: 8%;
background-size: cover;
}
aside > ul {
list-style-type: none;
padding: 0px 10px;
margin-top: 0px;
}
aside > h2 {
text-transform: uppercase;
font-size: 14px;
margin-bottom: 5px;
}
#avatar {
width: 100px;
border-radius: 50%;
display: block;
margin: 0 10px 20px 0;
box-shadow: 0px 0px 5px 3px #3a7c78;
-webkit-transition: 200ms;
-moz-transition: 200ms;
-ms-transition: 200ms;
-o-transition: 200ms;
transition: 200ms;
}
#avatar:hover {
box-shadow: 0px 0px 5px 3px white;
}
.social
{
display: inline-block;
margin-top: 40px;
}
.nav
{
display: block;
margin-left: -30px;
margin-right: -30px;
border: 1px solid #73d08a;
margin-top: 40px;
}
.nav > ul > li
{
font-size: 15px;
}
.nav a
{
color: #fff;
text-decoration: none;
transition: all .3s ease-in-out;
}
.nav a:hover
{
background-color: #73d08a;
}
.list-bare
{
list-style: none;
padding: 0;
margin: 0;
}
.nav__link
{
display: block;
padding: 0.77273rem 0;
border-bottom: 1px solid #73d08a;
}
.blog_roll_link
{
display: block;
padding: 0.33147rem 0;
border-bottom: 3px solid #73d08a;
}
/*--------Responsive------------*/
@media (max-width: 800px) {
aside {
left: 0;
max-width: none;
position: relative;
top: 0;
width: 100%;
padding: 0;
padding-top: 1px;
}
.nav
{
margin-left: 0;
margin-right: 0;
}
body > article {
margin: 0 auto;
padding-top: 5px;
padding: 1em;
}
footer
{
padding: 1em;
margin-left: 1em;
margin-top: 0;
}
#avatar {
height: 50px;
width: 50px;
margin: 10px auto;
}
}
img {
max-width: 100%;
}
#license {
font-size: small;
text-align: center;
position: relative;
bottom: -43vh;
}
#license p {
margin-bottom: 5px;
}
#license a {
color: #ffffff;
text-decoration: underline;
}
#license img {
width: 85%;
}
#live {
border: 1px dotted teal;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: stretch;
height: 75vh;
}
#embedded-video {
display: flex;
flex: 7;
}
#embedded-chat {
display: flex;
flex: 2;
}
#live iframe {
border: 0px;
flex: 1;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

View File

@ -0,0 +1,23 @@
{% extends "base.html" %}
{% block head %}
{{ super() }}
<meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:url" content="{{ SITEURL }}/archives.html">
<meta name="twitter:title" content="{{ SITENAME }} ~ Archives">
<meta name="twitter:description" content="{{ SITENAME }} ~ Archives du site">
<!-- Facebook Meta Data -->
<meta property="og:title" content="{{ SITENAME }} ~ Archives"/>
<meta property="og:description" content="{{ SITENAME }} ~ Archives"/>
<meta property="og:image" content="{{ AVATAR }}"/>
{% endblock head %}
{% block content %}
<h1>Archives</h1>
<dl>
{% for article in dates %}
<dt>{{ article.locale_date }}</dt>
<dd><a href="{{ SITEURL }}/{{ article.url }}">{{ article.title }}</a></dd>
{% endfor %}
</dl>
{% endblock %}

View File

@ -0,0 +1,87 @@
{% extends "base.html" %}
{% block head %}
{{ super() }}
<meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:url" content="{{ SITEURL }}/{{ article.url }}">
<meta name="twitter:title" content="{{ SITENAME }} ~ {{ article.title|striptags }}">
<meta name="twitter:description" content="{{ article.summary|striptags|escape }}">
<!-- Facebook Meta Data -->
<meta property="og:title" content="{{ SITENAME }} ~ {{ article.title|striptags }}"/>
<meta property="og:description" content="{{ article.summary|striptags|escape }}"/>
<meta property="og:image" content=""/>
{% endblock head %}
{% block title %}{{ article.title|striptags }}{% endblock %}
{% block content %}
<section id="content">
<article>
<h2 class="post_title post_detail"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2>
<div class="entry-content blog-post">
{{ article.content }}
</div>
<div class="post_list">
<span>By </span>
<a href="{{ SITEURL }}/{{ article.author.url }}">@{{ article.author }}</a>
<span> in </span>
<span class="post_category"><a href="{{ SITEURL }}/{{ article.category.url }}" rel="bookmark"
title="Permalink to {{ article.category|striptags }}">[ {{ article.category }} ]</a></span>
<span class="post_date">{{ article.locale_date }}</span>
<div><span>Tags : </span>
{% if article.tags %}
{% for tag in article.tags %}
<span><a href="{{ SITEURL }}/{{ tag.url }}">#{{ tag }}, </a></span>
{% endfor %}
{% endif %}
</div>
<div class="entry-social">
<span class="twitter"><a target="_blank" rel="nofollow"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=700');return false;"
title="Twitter"
href="https://twitter.com/share?url={{ SITEURL }}/{{ article.url }}&text={{ article.title|striptags }}&via={{ TWITTER_USERNAME }}"><img
src="{{ SITEURL }}/theme/images/icons/twitter-s.png"></a></span>
<span class="gplus"><a target="_blank" title="Google +"
href="https://plus.google.com/share?url={{ SITEURL }}/{{ article.url }}&hl=fr"
rel="nofollow"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650');return false;"><img
src="{{ SITEURL }}/theme/images/icons/google-s.png"></a></span>
<span class="facebook"><a target="_blank" title="Facebook" rel="nofollow"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=500,width=700');return false;"
href="https://www.facebook.com/sharer.php?u={{ SITEURL }}/{{ article.url }}&t={{ article.title|striptags }}"><img
src="{{ SITEURL }}/theme/images/icons/facebook-s.png"></a></span>
<a target="_blank" title="Linkedin"
href="https://www.linkedin.com/shareArticle?mini=true&url={{ SITEURL }}/{{ article.url }}&title={{ article.title|striptags }}"
rel="nofollow"
onclick="javascript:window.open(this.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=450,width=650');return false;"><img
src="{{ SITEURL }}/theme/images/icons/linkedin-s.png"></a>
<span class="mail"><a
href="mailto:?subject={{ article.title|striptags }}&amp;body=Viens découvrir un article à propos de [{{ article.title|striptags }}] sur le site de {{ AUTHOR }}. {{ SITEURL }}/{{ article.url }}"
title="Share by Email" target="_blank"><img
src="{{ SITEURL }}/theme/images/icons/mail-s.png"></a></span>
</div>
</div>
{% if DISQUS_SITENAME %}
<div class="comments">
<h2>Comments !</h2>
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_identifier = "{{ article.url }}";
(function () {
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.src = 'https://{{ DISQUS_SITENAME }}.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
</div>
{% endif %}
</article>
</section>
{% endblock %}

View File

@ -0,0 +1,18 @@
{% extends "index.html" %}
{% block head %}
{{ super() }}
<meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:url" content="{{ SITEURL }}/{{ author.url }}">
<meta name="twitter:title" content="{{ SITENAME }} ~ {{ author }}">
<meta name="twitter:description" content="Articles de {{ author }}">
<!-- Facebook Meta Data -->
<meta property="og:title" content="{{ SITENAME }} ~ {{ author }}"/>
<meta property="og:description" content="Articles de {{ author }}"/>
<meta property="og:image" content="{{ AVATAR }}"/>
{% endblock head %}
{% block title %}{{ SITENAME }} - {{ author }}{% endblock %}
{% block heading %}
<h2 class="latest">Author: {{ author }}</h2>
{% endblock %}

View File

@ -0,0 +1,165 @@
<!doctype html>
<html lang="{{ DEFAULT_LANG }}" itemscope itemtype="http://schema.org/Person">
<head>
{% block head %}
<meta charset="utf-8">
<!-- Site Meta Data -->
<title>{% block title %} {{ SITENAME }} | {{ SIDEBAR_DIGEST }} {% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="{{ AUTHOR_DESCRIPTION }}">
<meta name="author" content="{{ AUTHOR }}">
<link rel="shortcut icon" href="{{ FAVICON }}">
<!-- schema.org -->
<meta itemprop="name" content="{{ SITENAME }}">
<meta itemprop="image" content="{{ AVATAR }}">
<meta itemprop="description" content="{{ AUTHOR_DESCRIPTION }}">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,600,700' rel='stylesheet' type='text/css'>
<!-- Style Meta Data -->
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/style.css" type="text/css"/>
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/pygments.css" type="text/css"/>
<!-- Feed Meta Data -->
{% if FEED_ALL_ATOM %}
<link href="{{ SITEURL }}/{{ FEED_ALL_ATOM }}" type="application/atom+xml" rel="alternate"
title="{{ SITENAME }} ATOM Feed"/>
{% endif %}
{% if FEED_ALL_RSS %}
<link href="{{ SITEURL }}/{{ FEED_RSS }}" type="application/atom+xml" rel="alternate"
title="{{ SITENAME }} RSS Feed"/>
{% endif %}
<!-- Twitter Feed -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:image" content="">
{% endblock %}
<script src="https://kit.fontawesome.com/0a2f7dbe4a.js" crossorigin="anonymous"></script>
</head>
<body>
<!-- Sidebar -->
<aside>
<!--<center><a href="{{ SITEURL }}"><img id="avatar" src="{{ AVATAR }}"></a></center>-->
<h1>{{ SITENAME }}</h1>
{% if SIDEBAR_DIGEST %}
<p>{{ SIDEBAR_DIGEST }}</p>
{% endif %}
<br>
{% if TWITTER_USERNAME %}
<a class="twitter-follow-button"
href="https://twitter.com/{{ TWITTER_USERNAME }}"
data-show-count="false"
data-lang="en">
Follow @twitterdev
</a>
<script type="text/javascript">
window.twttr = (function (d, s, id) {
var t, js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src = "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
return window.twttr || (t = {
_e: [], ready: function (f) {
t._e.push(f)
}
});
}(document, "script", "twitter-wjs"));
</script>
{% endif %}
<nav class="nav">
<ul class="list-bare">
{% for title, link in MENUITEMS %}
<li><a class="nav__link" href="{{ link }}">{{ title }}</a></li>
{% endfor %}
{% if DISPLAY_PAGES_ON_MENU and pages %}{% for p in pages %}
<li><a class="nav__link" href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
{% endfor %}{% endif %}
</ul>
</nav>
<p class="social">
{% if SOCIAL %}
{% for name, link in SOCIAL %}
<a href="{{ link }}" target="_blank"><img
src="{{ SITEURL }}/theme/images/icons/{{ name|lower }}.png"></a>
{% endfor %}
{% endif %}
{% if FEED_ALL_ATOM %}
<a href="{{ SITEURL }}/{{ FEED_ALL_ATOM }}" rel="alternate">
<img src="{{ SITEURL }}/theme/images/icons/rss.png"></a>
{% endif %}
{% if FEED_ALL_RSS %}
<a href="{{ SITEURL }}/{{ FEED_ALL_RSS }}" rel="alternate">
<img src="{{ SITEURL }}/theme/images/icons/rss.png"></a>
{% endif %}
</p>
{% if DISPLAY_CATEGORIES_ON_MENU and categories %}
<h2>Categories</h2>
<ul class="navbar">
{% for cat, null in categories %}
<li{% if cat == category %} class="active"{% endif %}><a
href="{{ SITEURL }}/{{ cat.url }}">{{ cat }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% if LINKS %}
<h2 class="blog_roll_link"><br/>BLOGROLLS</h2>
<ul class="navbar">
{% for name, link in LINKS %}
<li><a href="{{ link }}">{{ name }}</a></li>
{% endfor %}
</ul>
{% endif %}
<div id="license" style="text-align: center;">
<p>I contenuti del sito sono tutti rilasciati con licenza <a href="https://creativecommons.org/licenses/by/3.0/it/" title="Creative Commons - Attiribuzione 3.0">CC BY 3.0</a></p>
<p><a href="https://creativecommons.org/licenses/by/3.0/it/" title="Creative Commons - Attiribuzione 3.0"><img src="https://i0.wp.com/www.libreitalia.org/wp-content/uploads/2017/11/by.png?fit=249%2C87&amp;ssl=1" alt="Creative Commons BY Logo" /></a></p>
</div>
</aside>
<!-- Content -->
<article>
{% block content %}
{% endblock %}
</article>
<!-- Footer -->
{% if DISPLAY_FOOTER or DISPLAY_FOOTER is not defined %}
<footer>
<p>I contenuti del sito sono tutti rilasciati con licenza <a href="https://creativecommons.org/licenses/by/3.0/it/" title="Creative Commons - Attiribuzione 3.0">CC BY 3.0</a><br/>
<a href="https://creativecommons.org/licenses/by/3.0/it/" title="Creative Commons - Attiribuzione 3.0"><img src="https://i0.wp.com/www.libreitalia.org/wp-content/uploads/2017/11/by.png?fit=249%2C87&amp;ssl=1" alt="Creative Commons BY Logo" /></a>
</p>
</footer>
{% endif %}
{% if GOOGLE_ANALYTICS %}
<!-- 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 %}
</body>
</html>

View File

@ -0,0 +1,21 @@
{% extends "base.html" %}
{% block head %}
{{ super() }}
<meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:url" content="{{ SITEURL }}/categories.html">
<meta name="twitter:title" content="{{ SITENAME }} ~ Catégories">
<meta name="twitter:description" content="{{ SITENAME }} ~ Catégories du site">
<!-- Facebook Meta Data -->
<meta property="og:title" content="{{ SITENAME }} ~ Catégories"/>
<meta property="og:description" content="{{ SITENAME }} ~ Catégories"/>
<meta property="og:image" content="{{ AVATAR }}"/>
{% endblock head %}
{% block content %}
<h2>Categories</h2>
<ul class="category_folder">
{% for category, articles in categories %}
<li><a href="{{ category.url }}">{{ category }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -0,0 +1,17 @@
{% extends "index.html" %}
{% block head %}
{{ super() }}
<meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:url" content="{{ SITEURL }}/{{ category.url }}">
<meta name="twitter:title" content="{{ SITENAME }} ~ {{ category }}">
<meta name="twitter:description" content="Articles de {{ category }}">
<!-- Facebook Meta Data -->
<meta property="og:title" content="{{ SITENAME }} ~ {{ category }}"/>
<meta property="og:description" content="Articles de {{ category }}"/>
<meta property="og:image" content="{{ AVATAR }}"/>
{% endblock head %}
{% block title %}{{ SITENAME }} - {{ category }}{% endblock %}
{% block heading %}
<h2 class="latest">Category: {{ category }}</h2>
{% endblock %}

View File

@ -0,0 +1,42 @@
{% extends "base.html" %}
{% block head %}
{{ super() }}
<meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:url" content="{{ SITEURL }}">
<meta name="twitter:title" content="{{ SITENAME }}">
<meta name="twitter:description" content="{{ SIDEBAR_DIGEST }}">
<!-- Facebook Meta Data -->
<meta property="og:title" content="{{ SITENAME }}"/>
<meta property="og:description" content="{{ SIDEBAR_DIGEST }}"/>
<meta property="og:image" content=""/>
{% endblock head %}
{% block content_title %}{% endblock %}
{% block content %}
<h1 class="title">Hi, I'm {{ AUTHOR }}</h1>
{% if articles %}
<ol class="posts">
{% block heading %}<h2 class="latest">Latest Posts</h2>{% endblock %}
{% for article in (articles_page.object_list if articles_page else articles) %}
<li class="post_list"><p class="post_entry">
<h2 class="post_title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark"
title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
</h2>
{% if DISPLAY_SUMMARY and article.summary|length > 0 %}
<p>{{ article.summary }}</p>
{% endif %}
<a href="{{ SITEURL }}/{{ article.author.url }}">@{{ article.author }}</a>
<span> in </span>
<span class="post_category"><a href="{{ SITEURL }}/{{ article.category.url }}" rel="bookmark"
title="Permalink to {{ article.category|striptags }}">[ {{ article.category }} ]</a></span>
<span class="post_date">{{ article.locale_date }}</span>
</li>
{% endfor %}
</ol>
{% endif %}
{% if articles_page and articles_paginator.num_pages > 1 %}
{% include 'pagination.html' %}
{% endif %}
{% endblock content %}

View File

@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block title %}{{ page.title }}{% endblock %}
{% block content %}
<section id="content" class="body">
{% if PDF_PROCESSOR %}
<a href="{{ SITEURL }}/pdf/{{ page.slug }}.pdf">
get the pdf
</a>
{% endif %}
{{ page.content }}
</section>
{% endblock %}

View File

@ -0,0 +1,13 @@
{% extends "base.html" %}
{% block title %}{{ page.title }}{% endblock %}
{% block content %}
<section id="content" class="body">
{% if PDF_PROCESSOR %}
<a href="{{ SITEURL }}/pdf/{{ page.slug }}.pdf">
get the pdf
</a>
{% endif %}
{{ page.content }}
</section>
{% endblock %}

View File

@ -0,0 +1,16 @@
{% if DEFAULT_PAGINATION %}
<p class="paginator">
{% if articles_page.has_previous() %}
{% if articles_page.previous_page_number() == 1 %}
<a href="{{ SITEURL }}/{{ page_name }}.html">~:)</a>
{% else %}
<a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.previous_page_number() }}.html">~:)</a>
{% endif %}
{% endif %}
{{ articles_page.number }} ~ {{ articles_paginator.num_pages }}
{% if articles_page.has_next() %}
<a href="{{ SITEURL }}/{{ page_name }}{{ articles_page.next_page_number() }}.html">(:~</a>
{% endif %}
</p>
{% endif %}

View File

@ -0,0 +1,18 @@
{% extends "index.html" %}
{% block head %}
{{ super() }}
<meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:url" content="{{ SITEURL }}/{{ tag.url }}">
<meta name="twitter:title" content="{{ SITENAME }} ~ {{ tag }}">
<meta name="twitter:description" content="Articles de {{ tag }}">
<!-- Facebook Meta Data -->
<meta property="og:title" content="{{ SITENAME }} ~ {{ tag }}"/>
<meta property="og:description" content="Articles de {{ tag }}"/>
<meta property="og:image" content="{{ AVATAR }}"/>
{% endblock head %}
{% block title %}{{ SITENAME }} - {{ tag }}{% endblock %}
{% block heading %}
<h2 class="latest">Tag: {{ tag }}</h2>
{% endblock %}

View File

@ -0,0 +1,21 @@
{% extends "base.html" %}
{% block head %}
{{ super() }}
<meta name="twitter:creator" content="{{ TWITTER_USERNAME }}">
<meta name="twitter:url" content="{{ SITEURL }}/tags.html">
<meta name="twitter:title" content="{{ SITENAME }} ~ Tags">
<meta name="twitter:description" content="{{ SITENAME }} ~ Tags du site">
<!-- Facebook Meta Data -->
<meta property="og:title" content="{{ SITENAME }} ~ Tags"/>
<meta property="og:description" content="{{ SITENAME }} ~ Tags"/>
<meta property="og:image" content="{{ AVATAR }}"/>
{% endblock head %}
{% block content %}
<h2>Tags</h2>
<ul>
{% for tag, articles in tags %}
<li><a href="{{ SITEURL }}/{{ tag.url }}">{{ tag }}</a></li>
{% endfor %}
</ul>
{% endblock %}

View File

@ -0,0 +1,6 @@
{% if article.translations %}
<span class="label">Languages</span>
{% for translation in article.translations %}
<a href="{{ SITEURL }}/{{ translation.url }}"><i class="icon-edit"></i>{{ translation.lang }}</a>
{% endfor %}
{% endif %}