Changed Jekyll theme.

dev
Franco Masotti 4 years ago
parent ff40d86339
commit 86daea84ce
  1. 6
      _assets/core.scss
  2. BIN
      _assets/fonts/HiLo-Deco.ttf
  3. 201
      _assets/rodentia-icons_application-x-feed.svg
  4. 5
      _config.yml
  5. 77
      _includes/comments.html
  6. 31
      _includes/footer.html
  7. 5
      _includes/head.html
  8. 37
      _includes/header.html
  9. 16
      _includes/image.html
  10. 10
      _includes/page_navigation.html
  11. 36
      _includes/post_navigation.html
  12. 59
      _includes/tag_list.html
  13. 15
      _layouts/default.html
  14. 17
      _layouts/page.html
  15. 57
      _layouts/post.html
  16. 57
      _pages/about.md
  17. 63
      _pages/index.html
  18. 20
      _pages/sitemap.html
  19. 4
      _pages/tags.md
  20. 708
      _sass/main.scss

@ -10,12 +10,6 @@
#};
---
@font-face {
font-style: normal;
font-weight: normal;
font-family: 'HiLo-DecoRegular';
src: url('{{ site.baseurl }}/assets/fonts/HiLo-Deco.ttf');
};
@import 'main';
@import 'syntax';

Binary file not shown.

@ -1,201 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--part of the rodentia icon theme by sixsixfive released under CC0 (https://creativecommons.org/publicdomain/zero/1.0/) on openclipart-->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="48"
height="48"
version="1.1"
id="svg110"
sodipodi:docname="rodentia-icons_application-x-feed.svg"
inkscape:version="0.92.1 r">
<metadata
id="metadata114">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1080"
id="namedview112"
showgrid="false"
inkscape:zoom="18.604167"
inkscape:cx="24"
inkscape:cy="24"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg110" />
<defs
id="0">
<linearGradient
id="A">
<stop
id="L"
stop-color="#fff"
stop-opacity="0.8" />
<stop
id="M"
offset="1"
stop-color="#fff"
stop-opacity="0" />
</linearGradient>
<linearGradient
id="B">
<stop
id="N"
stop-color="#fcaf3e" />
<stop
id="O"
offset="1"
stop-color="#f57900" />
</linearGradient>
<linearGradient
id="C">
<stop
id="P"
stop-color="#2e3436" />
<stop
id="Q"
offset="1"
stop-color="#2e3436"
stop-opacity="0" />
</linearGradient>
<radialGradient
cx="25.712"
cy="48.735"
r="21.856"
id="D"
xlink:href="#C"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.09243698,0,44.229759)" />
<radialGradient
cx="13.559"
cy="12.06"
r="16.219"
id="E"
xlink:href="#B"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.6174379,2.5604989,-3.7886681,0.9135993,49.367351,-37.86865)" />
<linearGradient
y1="2.438"
x2="0"
y2="43.34"
id="F"
xlink:href="#A"
gradientUnits="userSpaceOnUse" />
<radialGradient
cx="34.13"
cy="8.609"
r="3.03"
id="G"
xlink:href="#B"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.9999999,2.0717464e-7,-2.1678585e-7,2.0927836,-34.124995,-9.2675658)" />
<linearGradient
x1="34.13"
y1="8.75"
x2="36.533"
y2="6.363"
id="H"
xlink:href="#A"
gradientUnits="userSpaceOnUse" />
<filter
x="-0.16"
y="-0.151"
width="1.321"
height="1.302"
color-interpolation-filters="sRGB"
id="I">
<feGaussianBlur
stdDeviation="0.5327"
id="R" />
</filter>
</defs>
<path
d="m 47.568058,48.734642 a 21.855595,2.0202651 0 1 1 -43.7111893,0 21.855595,2.0202651 0 1 1 43.7111893,0 z"
transform="matrix(1.0944165,0,0,0.9661277,-4.1401442,-2.4030967)"
id="1"
opacity="0.54"
fill="url(#D)" />
<path
d="M 9.84375,1.367375 C 8.1263501,1.367375 6.75,2.7437253 6.75,4.461125 l 0,37.15625 c 0,1.7174 1.3763496,3.093751 3.09375,3.09375 l 28.3125,0 c 1.7174,0 3.09375,-1.376351 3.09375,-3.09375 l 0,-33.21875 -6.75,-7.03125 -24.65625,0 z"
id="2"
fill="#a64a00"
style="fill:#333333" />
<path
d="m 9.84375,2.25 c -1.1586131,0 -2.0625,0.903887 -2.0625,2.0625 l 0,37.15625 c 0,1.158614 0.9038868,2.062501 2.0625,2.0625 l 28.3125,0 c 1.158613,0 2.0625,-0.903888 2.0625,-2.0625 l 0,-32.78125 L 34.0625,2.25 9.84375,2.25 z"
id="3"
fill="url(#E)"
transform="translate(4.4958504e-8,0.148625)"
style="fill:#808080" />
<path
d="m 9.84375,2.75 c -0.8977312,0 -1.5625,0.6647689 -1.5625,1.5625 l 0,37.15625 c 0,0.897732 0.6647689,1.562501 1.5625,1.5625 l 28.3125,0 c 0.897731,0 1.5625,-0.66477 1.5625,-1.5625 l 0,-32.625 -5.875,-6.09375 -24,0 z"
transform="translate(4.4958504e-8,0.148625)"
id="4"
opacity="0.8"
fill="none"
stroke="url(#F)"
stroke-linejoin="round"
stroke-linecap="square" />
<path
d="m 32.25,2.40625 0,6.875 c 0,0.956611 0.676661,1.593751 1.71875,1.59375 l 6.25,0 0,-1.8125 -6.9375,-6.65625 -1.03125,0 z"
id="5"
opacity="0.16"
fill="#2e3436"
filter="url(#I)" />
<path
d="m 33.125,1.375 0,6.3125 c -2e-6,1.158614 0.903887,2.062501 2.0625,2.0625 l 6.0625,0 0,-1.34375 -6.75,-7.03125 -1.375,0 z"
id="6"
fill="#a64a00"
style="fill:#333333" />
<path
d="m 34.125,2.40625 0,5.28125 c -10e-7,0.6407004 0.421799,1.0625006 1.0625,1.0625 l 5,0 -6.0625,-6.34375 z"
id="7"
fill="url(#G)"
style="fill:#b3b3b3" />
<path
d="m 34.625,3.6875 0,4 c -10e-7,0.3773049 0.185194,0.5625003 0.5625,0.5625 l 3.84375,0 L 34.625,3.6875 z"
id="8"
opacity="0.8"
fill="none"
stroke="url(#H)"
stroke-linecap="square" />
<g
transform="translate(-4.5504149e-7,0.5000625)"
id="9"
style="fill:#f9f9f9">
<path
d="m 12.05193,10.539 0,4.128016 c 10.918435,0.327483 19.704262,9.507854 19.977836,20.860833 L 35.948071,35.539 C 35.696275,22.994276 26.792197,12.666583 15.230717,10.792863 14.194316,10.624911 13.128369,10.566416 12.05193,10.539 z m 0,8.785833 0,3.995567 c 6.33782,0.310289 11.395139,5.606924 11.666618,12.185374 l 3.785849,0.01115 C 27.251573,27.373894 21.465165,20.697249 13.950376,19.479356 13.330764,19.378933 12.692621,19.350039 12.05193,19.324833 z m 2.891819,10.099293 c -1.589737,-0.0044 -2.891819,1.330334 -2.891819,3.024267 0,1.693933 1.300575,3.03092 2.891819,3.035307 1.589737,0.0044 2.891818,-1.330336 2.891818,-3.02427 0,-1.588475 -1.146794,-2.8781 -2.593807,-3.035304 -0.07003,-0.0076 -0.173265,3.42e-4 -0.298011,0 l 0,0 z"
id="J"
opacity="0.5"
fill="#fff"
style="fill:#f9f9f9" />
<path
d="m 12.05193,9.539375 0,4.128016 c 10.918435,0.327483 19.704262,9.507854 19.977836,20.860833 l 3.918305,0.01115 C 35.696275,21.994651 26.792197,11.666958 15.230717,9.793238 14.194316,9.625286 13.128369,9.566791 12.05193,9.539375 z m 0,8.785833 0,3.995567 c 6.33782,0.310289 11.395139,5.606924 11.666618,12.185374 l 3.785849,0.01115 C 27.251573,26.374269 21.465165,19.697624 13.950376,18.479731 13.330764,18.379308 12.692621,18.350414 12.05193,18.325208 z m 2.891819,10.099293 c -1.589737,-0.0044 -2.891819,1.330334 -2.891819,3.024267 0,1.693933 1.300575,3.03092 2.891819,3.035307 1.589737,0.0044 2.891818,-1.330336 2.891818,-3.02427 0,-1.588475 -1.146794,-2.8781 -2.593807,-3.035304 -0.07003,-0.0076 -0.173265,3.42e-4 -0.298011,0 l 0,0 z"
id="K"
fill="#a64a00"
style="fill:#f9f9f9" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.3 KiB

@ -5,8 +5,6 @@ description: "A blog about libre software experiences and everything else
# Author Info
author_name: "Franco Masotti"
author_email: franco.masotti@student.unife.it
github_username: frnmst
avatar_path: avatar.jpg
# Site Settings
baseurl: "" # Base URL must end WITHOUT a slash, default: ""
@ -36,6 +34,9 @@ excerpt_enabled: true
excerpt_separator: "<!--more-->"
excerpt_words: 20
# Tags
min_tag_score: 2
# Meta tag options
meta_description_words: 140
meta_excerpt_words: 140

@ -1,10 +1,4 @@
<article><div class="divider"></div></article>
<div class="comment-environment">
<article>
<div class="comment">
<div class="title"><h2>Comments</h2></div>
<div class="comment">
{% capture mail %}{{ site.author_email }}{% endcapture %}
{% assign mail_substring = mail | split: '@' %}
{% assign mail_username = mail_substring[0] %}
@ -14,54 +8,39 @@
{% else %}
{% capture mailto_prefix %}{{ mail_username }}+{{ page.path | remove: ".html" | remove: ".md" | remove: "_pages/" }}{% endcapture %}
{% endif %}
<div class="title">
<h3>
<a href="mailto:{{ mailto_prefix }}@{{ mail_domain }}">
Post a new comment</a>
</h3>
</div>
{% for comment in site.comments %}
<div class="title">
<h3>
<a href="mailto:{{ mailto_prefix }}@{{ mail_domain }}">
Post a new comment</a>
</h3>
</div>
<div class="comment-content">
{% assign comment_counter = 0 %}
{% assign comments = site.comments | sort | reverse %}
{% for comment in comments %}
{% assign page_path = page.path | replace: "_posts/", "" | remove: ".md" %}
{% assign comment_fullpath = comment.path | replace: "_comments/", "" | split: "/" %}
{% assign comment_path = comment_fullpath[0] %}
{% assign comment_id = comment_fullpath[1] | remove: ".md" %}
{% if comment_path == page_path %}
{% if forloop.first %}
<div class="divider"></div>
{% endif %}
<div class="comment-headers">
<table>
<tr>
<td>Subject</td>
{% comment %}
<!-- Link to single comment -->
{% endcomment %}
<td><a href="#{{ comment_id }}" id={{ comment_id }}>{{ comment.subject }}</a></td>
</tr>
<tr>
<td>From</td>
<td>{{ comment.from }}</td>
</tr>
<tr>
<td>Date</td>
<td>{{ comment.date | date: "%c, %:z GMT" }}</td>
</tr>
</table>
</div>
{{ comment.content | markdownify }}
{% comment %}
<!-- Don't print the divider after the last comment -->
{% endcomment %}
{% if forloop.last == false %}
<div class="divider"></div>
{% assign parity_check = comment_counter | modulo: 2 %}
{% if parity_check == 0 %}
{% assign parity = "even" %}
{% else %}
{% assign parity = "odd" %}
{% endif %}
{% endif %}
{% endfor %}
<a href="#{{ comment_id }}" id="{{ comment_id }}" class="{{ parity }}">
<div class="text">
<div class="from">{{ comment.from }}</div>
<div class="date">{{ comment.date | date: "%b %e %Y, %R %Z" }}</div>
<div class="hr"></div>
<div class="subject"><h3>{{ comment.subject }}</h3></div>
{{ comment.content | markdownify }}
</div>
</article>
</a>
{% assign comment_counter = comment_counter | plus: 1 %}
{% endif %}
{% endfor %}
</div>
</div>

@ -1,29 +1,14 @@
<div class="footer">
<span class="block">
<span class="rss">
<!--The feed svg image is a modified version of
https://publicdomainvectors.org/download.php?file=rodentia-icons_application-x-feed.svg
which is released under public domain-->
<a href="{{ site.baseurl }}/feed.xml">
<img src="{{ site.baseurl }}/assets/rodentia-icons_application-x-feed.svg"
alt="RSS"></a>
</span>
</span>
<span class="block">
<div class="jekyll-theme-note">
Made using <a href="http://jekyllrb.com/">Jekyll</a> &amp;
<a href="https://github.com/frnmst/the-plain-libre" title="The
Plain Libre theme by Franco Masotti">The Plain Libre</a>
</span>
<span class="block">
<a href="https://github.com/frnmst/the-flux-of-thought" title="The Flux Of Thought theme by Franco Masotti">The Flux Of Thought</a>
</div>
<div class="license">
Website content is released under the
<span class="copyright">
<img src="{{ site.baseurl }}/assets/by-sa.svg" alt="CC-BY-SA">
</span>
<a href="https://creativecommons.org/licenses/by-sa/4.0/"><img src="{{ site.baseurl }}/assets/by-sa.svg" alt="CC-BY-SA"></a>
license
</span>
<span class="block">
</div>
<div class="copyright">
&copy; {{ site.time | date: '%Y' }} {{ site.author_name }}
</span>
</div>
</div>

@ -1,4 +1,4 @@
{% comment %}<!--Seo metas -->{% endcomment %}
{% comment %}<!--SEO metas -->{% endcomment %}
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@ -9,8 +9,7 @@
<title>{{ site.title }}</title>
{% endif %}
<meta name="description"
content="{% if page.description %}{{ page.description | truncate: site.meta_description_words }}{% else if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: site.meta_excerpt_words }}{% else %}{{ site.description | truncate: site.meta_description_words }}{% endif %}">
<meta name="description" content="{% if page.description %}{{ page.description | truncate: site.meta_description_words }}{% else if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: site.meta_excerpt_words }}{% else %}{{ site.description | truncate: site.meta_description_words }}{% endif %}">
<link rel="icon" href="{{ site.baseurl }}/assets/favicon.png">
<link rel="stylesheet" href="{{ site.baseurl }}/assets/core.css">

@ -1,22 +1,17 @@
<div class="main">
<a href="#main">skip to main content</a>
{% if page.url != '/sitemap/' %}
<a href="{{ site.baseurl }}/sitemap/">sitemap</a>
{% endif %}
<div class="top">
<ul>
<li><a href="#main">Main content</a></li>
{% if page.url != '/sitemap/' %}
<li><a href="{{ site.baseurl }}/sitemap/">Sitemap</a></li>
{% endif %}
{% if page.url == '/index.html' or page.url == '/' %}
{% assign link = '/about' %}
{% assign prompt = 'About' %}
{% else %}
{% assign link = '/' %}
{% assign prompt = 'Home' %}
{% endif %}
<li><a href="{{ link | prepend: site.baseurl }}">{{ prompt }}</a></li>
<li class="rss"><a href="{{ site.baseurl }}/feed.xml">RSS</a></li>
</ul>
</div>
<aside class="logo">
{% if page.url == '/index.html' or page.url == '/' %}
{% assign link = '/about' %}
{% assign prompt = 'About' %}
{% else %}
{% assign link = '/' %}
{% assign prompt = 'Back to Home' %}
{% endif %}
<a href="{{ link | prepend: site.baseurl }}">
<img src="{{ site.baseurl }}/assets/{{ site.avatar_path }}" width="80px" height="80px" alt="avatar" class="avatar">
</a>
<span class="logo-prompt">{{ prompt }}</span>
</aside>

@ -5,14 +5,16 @@
{% endif %}
{% if include.caption %}
<figure>
<a href="{{ url | prepend: site.baseurl }}" target="_blank" class="image">
<img src="{{ url | prepend: site.baseurl }}" alt="{% if include.alt %}{{ include.alt }}{% else %}Image{% endif %}">
</a>
<caption>{{ include.caption }}</caption>
</figure>
<div class="figure">
<a href="{{ url | prepend: site.baseurl }}" target="_blank">
<img src="{{ url | prepend: site.baseurl }}" alt="{% if include.alt %}{{ include.alt }}{% else %}Image{% endif %}">
<div class="text">{{ include.caption }}</div>
</a>
</div>
{% else %}
<a href="{{ url | prepend: site.baseurl }}" target="_blank" class="image">
<div class="img">
<a href="{{ url | prepend: site.baseurl }}" target="_blank">
<img src="{{ url | prepend: site.baseurl }}" alt="{% if include.alt %}{{ include.alt }}{% else %}Image{% endif %}">
</a>
</div>
{% endif %}

@ -1,8 +1,12 @@
<div class="page-navigation">
<ul>
{% if page.is_home != true %}
<li>
<a class="home" href="{{ site.baseurl }}/" title="Back to
Homepage">Home</a>
<span>&middot;</span>
Homepage">Home</a></li>
{% endif %}
<a href="#main" title="Back to top">Top</a></span>
<li>
<a href="#top" title="Back to top">Top</a></span>
</li>
</ul>
</div>

@ -1,17 +1,29 @@
<div class="page-navigation">
<ul>
{% if page.previous.url %}
<li>
<a href="{{ site.baseurl }}{{ page.previous.url }}.html"
title="PREV: {{ page.previous.title }}">&lt;&lt;</a>
</li>
{% endif %}
<li>
<a href="{{ site.baseurl }}/" title="Back to Homepage">Home</a>
</li>
<li>
<a href="#top" title="Back to top">Top</a>
</li>
{% if page.next.url %}
<li>
<a href="{{ site.baseurl }}{{ page.next.url }}.html" title="NEXT:
{{page.next.title}}">&lt;&lt;</a>
<span> &middot; </span>
{% endif %}
<a href="{{ site.baseurl }}/" title="Back to
Homepage">Home</a>
<span> &middot; </span>
<a href="#main" title="Back to top">Top</a>
{% if page.previous.url %}
<span> &middot; </span>
<a href="{{ site.baseurl }}{{ page.previous.url }}.html"
title="PREV: {{ page.previous.title }}">&gt;&gt;</a>
{% endif %}
{{page.next.title}}">&gt;&gt;</a>
</li>
{% endif %}
</ul>
</div>

@ -1,19 +1,46 @@
{% assign site_tags = site.tags | sort %}
{% comment %} This is pure madness: an O(n^2) loop is not acceptable but
there is no other solution I am aware of using this templating
language. Using uniq to filter different frequencies should
lead to a better best case (if all frequencies are equal
we get O(n) with n being the number of tags, otherwise
if all freqencies are different we get O(n^2) {% endcomment %}
{% comment %}
<!--Tags summary with links as pararaphs -->
{% endcomment %}
{% comment %} Get all unique tags {% endcomment %}
{% for t in site.tags %}
{% assign tag_frequency = tag_frequency | append: t[1].size | append: '#' %}
{% endfor %}
{% assign tag_frequency = tag_frequency | split: '#' %}
{% assign tag_frequency_iterator = tag_frequency | sort | reverse %}
{% assign tag_frequency = tag_frequency_iterator | uniq %}
<article>
<div class="tag-list">
{% for tag in site_tags %}
{% assign tagg = tag[0] | slugify %}
{% if page.is_home %}
{% capture link %}{{ site.baseurl }}/tags/#{{ tagg }}{% endcapture %}
<a href="{{ link }}">{{ tag[0] }}</a>&nbsp;
{% else %}
<a href="#{{ tagg }}">{{ tag[0] }}</a>&nbsp;
{% endif %}
{% for f in tag_frequency %}
{% comment %} Nice: srt to int: {% endcomment %}
{% assign freq = f | plus: 0 %}
{% for t in site.tags %}
{% if freq == t[1].size %}
{% assign sorted_tags_by_freq = sorted_tags_by_freq | append: t[0] | append: '#' %}
{% endif %}
{% endfor %}
{% endfor %}
</div>
</article>
{% assign sorted_tags_by_freq = sorted_tags_by_freq | split: '#' %}
<div class="tag-list">
<ul>
{% for tag in sorted_tags_by_freq %}
<li>
{% assign tagg = tag | slugify %}
{% if page.is_home %}
{% assign freq = tag_frequency_iterator[forloop.index0] | plus: 0 %}
{% if freq >= site.min_tag_score %}
{% capture link %}{{ site.baseurl }}/tags/#{{ tagg }}{% endcapture %}
<a href="{{ link }}">{{ tag }} [{{ freq }}]</a>
{% endif %}
{% else %}
<a href="#{{ tagg }}">{{ tag }}</a>
{% endif %}
</li>
{% endfor %}
</ul>
</div>

@ -2,7 +2,7 @@
layout: compress
---
<!DOCTYPE html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
{% include head.html %}
@ -10,14 +10,17 @@ layout: compress
<body>
{% include header.html %}
{% if page.is_home %}
{% if page.is_home or page.is_tags %}
{% include tag_list.html %}
{% endif %}
<main>
{{ content | replace: '&#8617;', '&#8617;&#xfe0e;' }}
</main>
{% comment %}<!--Can't use == false since page.is_home might be undefined.-->{% endcomment %}
{% if page.is_post != true %}
<div id="main"></div>
{% endif %}
{{ content | replace: '&#8617;', '&#8617;&#xfe0e;' }}
{% comment %}Can't use == false since page.is_home might be undefined{% endcomment %}
{% if page.is_home != true and page.is_404 != true and page.is_tags != true and page.is_sitemap != true %}
{% include comments.html %}
{% endif %}

@ -2,18 +2,9 @@
layout: default
---
<article>
<div class="page-metadata">
<h1 class="title">{{ page.title }}</h1>
</div>
<h1 class="title">{{ page.title }}</h1>
<div class="divider"></div>
{% if page.is_tags %}
{% include tag_list.html %}
{% endif %}
<div id="main"></div>
{{ content }}
</article>
{{ content }}

@ -2,35 +2,30 @@
layout: default
---
<article>
{% if page.tags %}
{% assign page_tags = page.tags | sort %}
<div class="tag-list">
<ul>
{% for tag in page_tags %}
<li>
{% assign tagg = tag | slugify %}
{% capture link %}{{ site.baseurl }}/tags/#{{ tagg }}{% endcapture %}
<a href="{{ link }}">{{ tag }}</a>&nbsp;
</li>
{% endfor %}
</ul>
</div>
{% endif %}
<div class="post-metadata">
<h1>{{ page.title }}</h1>
<div class="written-on">First written on {{ page.date | date: '%B %-d, %Y' }}</div>
{% assign page_date = page.date | date: '%F' %}
{% assign page_updated = page.updated | date: '%F' %}
{% if page_date != page_updated %}
<div class="updated-on">Last updated on {{ page.updated | date: '%B %-d, %Y' }}</div>
{% endif %}
</div>
<div class="center">
<h1>{{ page.title }}</h1>
<time>First written on {{ page.date | date: '%B %-d, %Y' }}</time>
{% assign page_date = page.date | date: '%F' %}
{% assign page_updated = page.updated | date: '%F' %}
{% if page_date != page_updated %}
<br />
<br />
<time>Last updated on {{ page.updated | date: '%B %-d, %Y' }}</time>
{% endif %}
{% if page.tags %}
<br />
<br />
{% assign page_tags = page.tags | sort %}
<div class="tag-list">
{% for tag in page_tags %}
{% assign tagg = tag | slugify %}
{% capture link %}{{ site.baseurl }}/tags/#{{ tagg }}{% endcapture %}
<a href="{{ link }}">{{ tag }}</a>&nbsp;
{% endfor %}
</div>
{% endif %}
</div>
<div class="divider"></div>
<div id="main"></div>
{{ content }}
</article>
<div class="post" id="main">
{{ content }}
</div>

@ -4,61 +4,10 @@ title: About
permalink: /about/
---
## Presentation
Hello.
Hello web world.
The main purpose of this theme is to be as simple as it could be, so you can focus on writing your stuffs. This is your About page. You may describe about yourself here; who you are, what are you currently doing, share some of your projects, your social links and how people can contact you, etc.
This blog tells my experiences with software, computing, "hacks",
hardware, technology and whatever comes to my mind I want to share.
Usually, when I talk about software I mean
[free software](https://www.gnu.org/philosophy/free-sw.en.html). This means
that most probably I won't talk about proprietary software and operating
systems like Windows, MacOs, etc... but only about GNU/Linux, GNU/Linux-libre
distributions or whatever fully free computing environments will come up. Who
knows what the future will hold us...
At the moment I am a proud [Parabola GNU/Linux-libre](https://parabola.nu)
user running a very lightweight desktop environment like
[spectrwm](http://www.spectrwm.org) after going through years of
[OpenBox](http://openbox.org). I use [Replicant](http://www.replicant.us/) for
the mobile phone.
I hope that this turns out to be a useful blog for anyone that encouters
similar problems I have solved.
**Just write things that matter...**
Enjoy!
P.S: I also hope my use of english is correct. If that is not the case don't
hesitate to mail me.
## Comment rules
Every post (and some other pages like this one) contain a comment section which
is just a `mailto` link to my private mail containing an id to that post or
comment. You can just click or copy that link and send me an email.
When you send me an email I will moderate it. By default I will report
verbatim:
- the subject
- the sending date
- your name, if present, or your email if you request so in the comment. If
none is available I will simply use `anonymous` in this field.
- the content which can be written in krmarkdown (the one used on GitHub and
GitLab)
## Contacts
You will find me on [GitHub](https://github.com/frnmst),
[GitLab](https://gitlab.com/frnmst), [GNU Social](https://quitter.no/frnmst),
[mail one](mailto://franco.masotti@student.unife.it),
[mail two](mailto://franco.masotti@live.com),
[Tox](tox:9D855839E4BB0ADBF4F49063BF2ABC1479A7728011F20B563EA104B2EE10FF19DC8C255D8F3D),
[XMPP](xmpp://franco.masotti@xabber.de) and other
less relevant web locations.
You won't find me on Facebook, Whatsapp, Twitter, and similar.
If you want to see another similar blog wich I co-autor have a
look at [Linux Difficile](https://linuxdifficile.wordpress.com/).

@ -3,39 +3,32 @@ layout: default
permalink: index.html
---
<section>
<div id="main"></div>
{% for post in site.posts %}
{% unless post.next %}
<h3>{{ post.date | date: '%Y' }} ~</h3>
{% else %}
{% capture year %}{{ post.date | date: '%Y' }}{% endcapture %}
{% capture nyear %}{{ post.next.date | date: '%Y' }}{% endcapture %}
{% if year != nyear %}
<h3>{{ post.date | date: '%Y' }} ~</h3>
{% endif %}
{% endunless %}
<ul>
<li>
<div class="post-date">
<span>{{ post.date | date: "%b %d" }}</span>
</div>
<div class="title">
<a href="{{ post.url | prepend: site.baseurl }}.html">{{ post.title }}</a>
</div>
{% if site.excerpt_enabled %}
<div class="excerpt">
{% if post.content contains site.excerpt_separator %}
{{ post.excerpt | strip_html }}
{% else %}
{{ post.excerpt | strip_html | truncatewords: site.excerpt_words }}
{% endif %}
</div>
<div class="index">
{% for post in site.posts %}
{% unless post.next %}
<h3>Year {{ post.date | date: '%Y' }}</h3>
{% else %}
{% capture year %}{{ post.date | date: '%Y' }}{% endcapture %}
{% capture nyear %}{{ post.next.date | date: '%Y' }}{% endcapture %}
{% if year != nyear %}
<h3>Year {{ post.date | date: '%Y' }}</h3>
{% endif %}
{% endunless %}
<a href="{{ post.url | prepend: site.baseurl }}">
<div class="post-list-metadata">
<span class="post-list-title">{{ post.title }}</span>
<span class="post-list-date">{{ post.date | date: "%b %d" }}</span>
<div class="post-list-div"></div>
{% if site.excerpt_enabled %}
<div class="post-list-excerpt">
{% if post.content contains site.excerpt_separator %}
{{ post.excerpt | strip_html }}
{% else %}
{{ post.excerpt | strip_html | truncatewords: site.excerpt_words }}
{% endif %}
</li>
</ul>
{% endfor %}
</section>
</div>
{% endif %}
</div>
</a>
{% endfor %}
</div>

@ -16,12 +16,14 @@ permalink: /sitemap/
{% endfor %}
</ul>
{% assign site_posts = site.posts | sort %}
<h3>Posts</h3>
<ul>
{% for post in site_posts %}
<li>
<a href="{{ post.url | prepend: site.baseurl }}.html">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
{% if site.posts %}
{% assign site_posts = site.posts | sort %}
<h3>Posts</h3>
<ul>
{% for post in site_posts %}
<li>
<a href="{{ post.url | prepend: site.baseurl }}.html">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
{% endif %}

@ -6,8 +6,6 @@ permalink: /tags/
<div class="tag-posts">
<article>
{% assign site_tags = site.tags | sort %}
{% for tag in site_tags %}
@ -22,7 +20,5 @@ permalink: /tags/
</ul>
{% endfor %}
</article>
</div>

@ -1,485 +1,365 @@
body {
background-color: #e6e6e6;
font-style: normal;
font-weight: 400;
font-size: 1.5em;
font-family: 'HiLo-DecoRegular';
padding: 20px;
margin: 0;
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
@media (min-width: 992px) {
padding: 35px 50px;
}
/* For mobile phones */
@media only screen and (max-width: 700px) {
body {
margin-left: 0.40625em;
margin-right: 0.40625em;
}
.post {
pre {
font-size:0.8125em;
line-height: 2em;
padding-left: 0.8125em;
padding-right: 0.8125em;
}
}
}
h2,
h3,
h4,
h5 {
margin: 45px 0 25px;
/* For desktops */
@media only screen and (min-width: 700px) {
body {
margin-left: 5%;
margin-right: 5%;
@media only screen and (max-width: 1375px) {
margin-left: 10%;
margin-right: 10%;
}
@media only screen and (min-width: 1920px) {
margin-left: 25%;
margin-right: 25%;
}
}
.post {
pre {
font-size: 1.1375em;
line-height: 2em;
padding-left: 1.625em;
padding-right: 1.625em;
}
}
}
img {
max-width: 100%;
body {
text-align: left;
text-rendering: optimizeLegibility;
background-color: #dadada;
line-height: 1.625em; /* 16×1.625=26pt */
font-family: "Arial Black", Gadget, sans-serif;
font-size: 1.080625em;
word-spacing: 0em;
}
a {
outline: none;
color: inherit;
text-decoration: none;
border-bottom: 1px solid #555;
&.image {
display: block;
text-align: center;
border: 0;
border-radius: 5px;
margin: 30px 0;
}
a:hover {
transition: 0.3s;
}
mark {
background: #fffc76;
padding: 0 5px;
/* Use for abbreviations only. */
abbr {
letter-spacing: 0.1em;
}
blockquote {
border-left: 5px solid #ccc;
margin: 40px 0;
padding: 5px 30px;
background: #eee;
font-size: 1.08625em;
line-height: 1.08625em;
font-family: "Comic Sans MS", cursive, serif;
background-color: #ffffff;
box-shadow: inset 0 0 0.40625em grey;
border-radius: 0.8125em;
padding-left: 1.625em;
padding-top: 0.8125em;
padding-bottom: 0.8125em;
margin: 0;
}
.logo {
position: relative;
margin: 0 auto 35px;
text-align: center;
animation-duration: 0.7s;
animation-fill-mode: both;
animation-name: bounce;
-webkit-animation-duration: 0.7s;
-webkit-animation-fill-mode: both;
-webkit-animation-name: bounce;
a {
background: #e6e6e6 url("gravatar_wrapper.svg");
text-decoration: none;
font-weight: 700;
height: 100px;
width: 100px;
font-size: 2.25em;
border-radius: 100%;
display: inline-block;
text-align: center;
line-height: 100px;
border: 5px solid #e6e6e6;
box-sizing: border-box;
-webkit-transition-duration: 0.8s;
transition-duration: 0.8s;
&:hover,
&:focus {
background: #f14e32;
}
&:hover + .logo-prompt,
&:focus + .logo-prompt {
display: inline-block !important;
}
.avatar {
margin-top: 5px;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 50%;
}
@media (max-width : 480px) {&:hover + .logo-prompt,
&:focus + .logo-prompt {
display: none !important;
}
}
}
.logo-prompt {
position: absolute;
display: none;
vertical-align: middle;
padding: 5px;
border-radius: 3px;
background: #666;
background: rgba(0,0,0,0.5);
margin-left: 15px;
color: #fff;
font-size: 1.23525em;
h1 {
line-height: 1.625em;
margin-top: 0.40625em;
margin-bottom: 0.40625em;
}
h2 {
line-height: 1.263157em;
margin-top: 1.263157em;
margin-bottom: 1.263157em;
}
p {
text-indent: 0;
line-height: 1.625em;
margin-top: 1.625em;
margin-bottom: 1.625em;
}
a {
text-decoration: underline;
text-decoration-color: #d9d9d9;
text-align: center;
line-height: 1.2;
top: 50%;
margin-top: -10px;
&:before {
content: "";
border-width: 5px 5px 5px 0;
border-style: solid;
border-color: transparent #666;
border-color: transparent rgba(0,0,0,.5);
position: absolute;
top: 50%;
left: -5px;
margin-top: -5px;
}
}
color: #666666;
}
iframe {
margin: 45px 0 !important;
a:hover {
text-decoration: underline;
}
ul {
list-style-type: circle;
margin: 40px 0;
padding-left: 50px;
li {
word-wrap: break-word;
}
img {
margin: 40px 0;
border-radius: 5px;
}
list-style-type: circle;
}
ol {
margin: 40px 0;
padding-left: 50px;
li {
word-wrap: break-word;
}
img {
margin: 40px 0;
border-radius: 5px;
}
.post {
pre {
border: none;
border-radius: 1.625em;
box-shadow: inset 0 0 0.8125em grey;
background-color: #e6e6e6;
white-space: pre-wrap;
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}
}
sup {
vertical-align: top;
position: relative;
top: -0.5em;
margin-left: 1px;
.post-metadata, .page-metadata, .footer, .comment {
box-shadow: inset 0 0 0.40625em grey;
background-color: #ffffff;
}
time {
color: #555;
.post-metadata, .page-metadata, .footer, .comment, .index .post-list-metadata {
border-radius: 1.625em;
padding-left: 1.625em;
padding-bottom: 0.40625em;
}
code,
pre {
font-family: Consolas, monospace, x;
.post-metadata, .page-metadata, .footer, .comment, .comment-content, .index .post-list-metadata {
margin-bottom: 1.625em;
}
code {
color: #f14e32;
background: #eee;
padding: 2px 6px;
font-size: 15.0px;
.page-metadata, .footer, .comment, .index .post-list-metadata {
padding-top: 0.40625em;
}
pre {
display: block;
margin-top: 0;
margin-bottom: 1rem;
font-size: 1.6rem;
line-height: 1.4;
white-space: pre;
overflow-x: auto;
background-color: #f9f9f9;
border: 1px solid #ddd;
padding: 1rem;
code {
/* font-size: 100%; */
color: inherit;
background-color: transparent;
padding: 0;
}
.post-metadata, .page-metadata, .footer, .comment, .index .post-list-metadata {
padding-right: 1.625em;
}
table {
width: 100%;
table-layout: fixed;
margin: 45px 0;
thead {
background: #f2f2f2;
}
th {
text-align: left;
padding: 8px 10px;
border-bottom: 15px solid #fff;
}
td {
padding: 4px 0;
}
.top, .page-navigation, .tag-list {
ul {
margin: 0;
padding: 0;
overflow: hidden;
}
li {
display: block;
float: left;
}
a {
text-decoration: none;
}
}
iframe {
width: 100%;
.top, .page-navigation {
ul {
font-size: 0.8125em;
margin-bottom: 1.625em;
background-color: #666666;
border-radius: 0.8125em;
}
li {
border-right: 0.05em solid #ffffff;
}
a {
display: block;
color: #ffffff;
text-align: center;
padding: 0.8125em 0.8125em;
}
li a:hover {
background-color: #000000;
}
.rss {
border-left: 0.05em solid #ffffff;
border-right: none;
float:right
}
}
article {
max-width: 500px;
margin: 0 auto;
.title {
line-height: 1.4em;
text-align: center;
}
.divider {
background: #ddd;
background: -webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),color-stop(#ccc),to(rgba(255,255,255,0)));
background: -webkit-linear-gradient(left,rgba(255,255,255,0),#ccc,rgba(255,255,255,0));
background: linear-gradient(to right,rgba(255,255,255,0),#ccc,rgba(255,255,255,0));
height: 1px;
margin: 2em 0;
}
.center {
text-align: center;
margin: 0 auto;
}
hr {
border: 0;
border-bottom: 1px solid #000;
margin: 30px 0;
}
p {
font-size: 22.5px;
line-height: 1.9em;
word-wrap: break-word;
}
.comment {
font-size: 22.5px;
line-height: 1.9em;
word-wrap: break-word;
padding-top: 5px;
padding-bottom: 5px;
.comment-headers {
font-style: italic;
font-weight: bold;
.index {
.post-list-div {
margin-top: 0.8125em;
margin-bottom: 0.8125em;
}
.post-list-date {
float: right;
}
.post-list-excerpt {
font-family: serif;
font-size: 0.8125em;
}
}
.tag-list {
font-size: 20px;
color: #555;
a {
-webkit-transition-duration: 0.4s;
transition-duration: 0.4s;
white-space: nowrap;
text-decoration: none;
width: 30px;
height: 15px;
border-radius: 8px;
text-align: left;
color: #000000;
border: none;
background-color: #d6d6d6;
text-align: center;
}
a:hover {
background: #ffffff;
}
}
.footnote {
border: 0;
color: #0087BE;
}
.footnotes {
margin: 50px auto;
display: block;
p {
line-height: 1rem;
font-weight: normal;
}
ol {
margin: 0;
padding-left: 15px;
li {
font-weight: bold;
}
.post-list-metadata {
background-color: #ffffff;
box-shadow: 0 0.203125em 0.203125em 0 grey, 0 0.203125em 0.203125em 0 grey;
}
.reversefootnote {
border: 0;
color: #0087BE;
.post-list-metadata:hover {
background-color: #404040;
transition: 0.3s;
color: #ffffff;
}
}
}
.tag-posts {
.tag-list {
ul {
margin-top: 0em;
margin-bottom: 0.40625em;
}
li {
margin-top: 0.203125em;
margin-bottom: 0.40625em;
}
a {
text-decoration: none;
border: none;
margin-top: 0em;
margin-left: 0.8125em;
padding: 0.40625em;
font-size: 0.8125em;
background-color: #ffffff;
border-radius: 0.8125em;
}
color: #000000;
}
.back {
text-align: center;
a {
text-decoration: none;
margin: 40px auto 0;
display: inline-block;
padding: 10px;
border: 0;
&:before {
content: "<<";
margin-right: 5px;
color: #000;
}
}
li a:hover {
background-color: #404040;
color: #ffffff;
}