nano-theme 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/_includes/analytics.html +41 -0
- data/_includes/csp.html +23 -0
- data/_includes/newsroom.html +62 -0
- data/_includes/seo.html +33 -0
- data/_includes/site-footer.html +8 -13
- data/_includes/site-header.html +6 -11
- data/_includes/verifications.html +30 -0
- data/_layouts/default.html +13 -45
- data/_layouts/newsroom.html +1 -10
- data/_layouts/page.html +2 -28
- data/_layouts/post.html +13 -1
- data/_posts/2020-06-04-test.md +1 -0
- data/_posts/2020-07-03-test.md +55 -0
- data/_sass/_theme.scss +124 -99
- metadata +24 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d73f7b1c868a412ca7f2656b02be93472ee3cba6c2d24c089cdd06dfda9710f6
|
4
|
+
data.tar.gz: 7453cc8f392112e4d879cf34c34e97f5b6230e1200b0225a7c57abb494cccd7b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 784a0405646d56051b91e84824c2fcaa0a14e230717387057749157bb75b73bbea3d788131de797d3e2d409b44667a5ab6be7126762ecadb2a94a93539527469
|
7
|
+
data.tar.gz: 3edb32bb57b26380816a8f3064d08a03ea9c6f51e66d7679608158237868767e53e4bf82c82526e2ec6bebcd9a3456aeac0269a2660b7e368ad75e39ff5f595e
|
data/README.md
CHANGED
@@ -14,4 +14,4 @@ Many thanks to the Jekyll and RubyGems community for great documentation, allowi
|
|
14
14
|
|
15
15
|
Big thanks to the StackOverflow community; they helped me find some nice CSS workarounds for some things (like missing images). I quoted the posts I used when I used them.
|
16
16
|
|
17
|
-
Special thanks to [Rishi](https://github.com/rveerepalli) for staying up late on the day before the launch of v0.3.
|
17
|
+
Special thanks to [Rishi](https://github.com/rveerepalli) for staying up late on the day before the launch of v0.3 to help fix some issues.
|
@@ -0,0 +1,41 @@
|
|
1
|
+
<!-- Analytics Start -->
|
2
|
+
{% if site.simpleanalytics == true %}
|
3
|
+
<script src="https://scripts.simpleanalyticscdn.com/latest.js" async defer></script>
|
4
|
+
<noscript>
|
5
|
+
<img class="pxl" src="https://queue.simpleanalyticscdn.com/noscript.gif" alt="">
|
6
|
+
</noscript>
|
7
|
+
{% elsif site.matomoanalytics == true %}
|
8
|
+
<!-- Matomo -->
|
9
|
+
<script>
|
10
|
+
var _paq = window._paq || [];
|
11
|
+
_paq.push(["setDoNotTrack", true]);
|
12
|
+
_paq.push(["disableCookies"]);
|
13
|
+
_paq.push(['trackPageView']);
|
14
|
+
_paq.push(['enableLinkTracking']);
|
15
|
+
(function() {
|
16
|
+
var u="https://{{site.matomourl}}/";
|
17
|
+
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
18
|
+
_paq.push(['setSiteId', '{{site.matomositeid}}']);
|
19
|
+
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
20
|
+
g.type='text/javascript'; g.async=true; g.defer=true; g.src='https://cdn.matomo.cloud/{{site.matomourl}}/matomo.js'; s.parentNode.insertBefore(g,s);
|
21
|
+
})();
|
22
|
+
</script>
|
23
|
+
<noscript>
|
24
|
+
<p>
|
25
|
+
<img class="pxl" src="https://{{site.matomourl}}/matomo.php?idsite=1&rec=1" style="border:0;" alt="">
|
26
|
+
</p>
|
27
|
+
</noscript>
|
28
|
+
{% elsif site.fathomanalytics == true %}
|
29
|
+
{% if site.customfathomurl != "" %}
|
30
|
+
<script src="https://{{site.customfathomurl}}" site="{{site.fathomsite}}" honor-dnt="true" async defer></script>
|
31
|
+
{% else %}
|
32
|
+
<script src="https://cdn.usefathom.com/script.js" site="{{site.fathomsite}}" honor-dnt="true" async defer></script>
|
33
|
+
{% endif %}
|
34
|
+
{% elsif site.plausibleanalytics == true %}
|
35
|
+
{% if site.customplausibleurl != "" %}
|
36
|
+
<script data-domain="{{site.github.url}}" src="https://{{site.customplausibleurl}}/js/index.js" async defer></script>
|
37
|
+
{% else %}
|
38
|
+
<script data-domain="{{site.github.url}}" src="https://plausible.io/js/plausible.js" async defer></script>
|
39
|
+
{% endif %}
|
40
|
+
{% endif %}
|
41
|
+
<!-- Analytics End -->
|
data/_includes/csp.html
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
{% if site.simpleanalytics == true %}
|
2
|
+
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://scripts.simpleanalyticscdn.com/latest.js">
|
3
|
+
{% elsif site.fathomanalytics == true %}
|
4
|
+
{% if site.customfathomurl == "" %}
|
5
|
+
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://cdn.usefathom.com/script.js">
|
6
|
+
{% else %}
|
7
|
+
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://{{site.customfathomurl}}">
|
8
|
+
{% endif %}
|
9
|
+
{% elsif site.matomoanalytics %}
|
10
|
+
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'sha256-qj/jwzjem2sfrDp/CEX8ODDzwfezTtpX43MRAcQTuUQ=' https://cdn.matomo.cloud/{{site.matomourl}}/matomo.js">
|
11
|
+
{% elsif site.plausibleanalytics %}
|
12
|
+
{% if site.customplausibleurl == "" %}
|
13
|
+
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://plausible.io/js/plausible.js">
|
14
|
+
{% else %}
|
15
|
+
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://{{site.customplausibleurl}}/js/index.js">
|
16
|
+
{% endif %}
|
17
|
+
{% endif %}
|
18
|
+
|
19
|
+
{% if site.unsafecontent == false %}
|
20
|
+
<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://*">
|
21
|
+
{% else %}
|
22
|
+
<meta http-equiv="Content-Security-Policy" content="script-src 'self'">
|
23
|
+
{% endif %}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<div class="newsroom">
|
2
|
+
<h3><a href="{{ '/atom.xml' | relative_url }}">Subscribe to the Atom feed.</a></h3>
|
3
|
+
{% if site.disablecategories == false %}
|
4
|
+
<h2 id="categories">Categories</h2>
|
5
|
+
{% endif %}
|
6
|
+
<ul>
|
7
|
+
{% if site.disablecategories == true %}
|
8
|
+
{% for post in site.posts %}
|
9
|
+
<li>
|
10
|
+
{% if site.classicnews == true %}
|
11
|
+
<p>
|
12
|
+
<a href="{{ post.url }}">
|
13
|
+
<b>{{ post.title }} ({{ post.dateS }}). </b>
|
14
|
+
</a>
|
15
|
+
{{ post.excerpt | strip_html }}
|
16
|
+
</p>
|
17
|
+
{% else %}
|
18
|
+
<a href="{{ post.url }}">
|
19
|
+
<b>{{ post.title }} ({{ post.dateS }}). </b>
|
20
|
+
</a>
|
21
|
+
{{ post.excerpt }}
|
22
|
+
{% endif %}
|
23
|
+
</li>
|
24
|
+
{% endfor %}
|
25
|
+
{% else %}
|
26
|
+
{% for category in site.categories %}
|
27
|
+
{% capture category_name %}{{category | first}}{% endcapture %}
|
28
|
+
<li>
|
29
|
+
<p>
|
30
|
+
<a href="#{{category_name | slugize}}">{{category_name}}</a>
|
31
|
+
</p>
|
32
|
+
</li>
|
33
|
+
{% endfor %}
|
34
|
+
{% endif %}
|
35
|
+
</ul>
|
36
|
+
|
37
|
+
{% if site.disablecategories == false %}
|
38
|
+
{% for category in site.categories %}
|
39
|
+
<p id="{{category_name | slugize}}" class="category_name">{{category_name}}</p>
|
40
|
+
<ul>
|
41
|
+
{% capture category_name %}{{ category | first }}{% endcapture %}
|
42
|
+
{% for post in site.categories[category_name] %}
|
43
|
+
<li>
|
44
|
+
{% if site.classicnews == true %}
|
45
|
+
<p>
|
46
|
+
<a href="{{ post.url }}">
|
47
|
+
<b>{{ post.title }} ({{ post.dateS }}). </b>
|
48
|
+
</a>
|
49
|
+
{{ post.excerpt | strip_html }}
|
50
|
+
</p>
|
51
|
+
{% else %}
|
52
|
+
<a href="{{ post.url }}">
|
53
|
+
<b>{{ post.title }} ({{ post.dateS }}). </b>
|
54
|
+
</a>
|
55
|
+
{{ post.excerpt }}
|
56
|
+
{% endif %}
|
57
|
+
</li>
|
58
|
+
{% endfor %}
|
59
|
+
</ul>
|
60
|
+
{% endfor %}
|
61
|
+
{% endif %}
|
62
|
+
</div>
|
data/_includes/seo.html
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
<link rel="canonical" href="{{ site.url }}{{ page.url | replace:'index.html',''}}">
|
2
|
+
{% if page.title %}
|
3
|
+
<title>{{ page.title }} - {{ site.title }}</title>
|
4
|
+
<meta name="twitter:title" content="{{page.title}} - {{site.title}}">
|
5
|
+
<meta property="og:title" content="{{page.title}} - {{site.title}}">
|
6
|
+
{% else %}
|
7
|
+
<title>{{ site.title }}</title>
|
8
|
+
<meta name="twitter:title" content="{{ site.title }}">
|
9
|
+
<meta property="og:title" content="{{ site.title }}">
|
10
|
+
{% endif %}
|
11
|
+
{% if site.lang != "" %}
|
12
|
+
<meta property="og:locale" content="{{site.lang}}">
|
13
|
+
<meta http-equiv="language" content="{{site.lang}}">
|
14
|
+
{% endif %}
|
15
|
+
{% if page.author != nil %}
|
16
|
+
<meta name="author" content="{{site.author}}">
|
17
|
+
<meta name="article:author" content="{{page.author}}">
|
18
|
+
{% elsif site.author != nil %}
|
19
|
+
<meta name="author" content="{{site.author}}">
|
20
|
+
{% endif %}
|
21
|
+
{% if page.excerpt != nil %}
|
22
|
+
<meta name="description" content="{{ page.excerpt | strip_html | strip}}">
|
23
|
+
<meta property="og:description" content="{{page.excerpt | strip_html | strip }}">
|
24
|
+
<meta name="twitter:description" content="{{page.excerpt | strip_html | strip }}">
|
25
|
+
{% elsif page.description != nil %}
|
26
|
+
<meta name="description" content="{{page.description}}">
|
27
|
+
<meta property="og:description" content="{{page.description}}">
|
28
|
+
<meta name="twitter:description" content="{{page.description}}">
|
29
|
+
{% elsif site.description != nil %}
|
30
|
+
<meta name="description" content="{{site.description}}">
|
31
|
+
<meta property="og:description" content="{{site.description}}">
|
32
|
+
<meta name="twitter:description" content="{{site.description}}">
|
33
|
+
{% endif %}
|
data/_includes/site-footer.html
CHANGED
@@ -1,18 +1,13 @@
|
|
1
1
|
<hr class="end">
|
2
2
|
<footer>
|
3
|
-
<p
|
3
|
+
<p>
|
4
4
|
© {% if copyrightYear %}{{copyrightYear}}{% else %}{{ site.time | date: '%Y' }}{% endif %} {{ site.copyrightName }}.
|
5
|
-
<br
|
6
|
-
{%
|
7
|
-
|
8
|
-
|
9
|
-
{%
|
10
|
-
|
11
|
-
|
12
|
-
{% else %}
|
13
|
-
{% assign url = item.url | relative_url %}
|
14
|
-
{% endif %}
|
15
|
-
<a href="{{url}}">{{item.title}}</a>
|
16
|
-
{% endfor %}
|
5
|
+
<br>{% if site.webSource %}
|
6
|
+
<a href="{{site.webSource}}">Contribute to this site.</a><br>{% endif %}{% for item in site.footerLinks %}
|
7
|
+
{% if item.url contains '://' %}
|
8
|
+
{% assign url = item.url %}
|
9
|
+
{% else %}
|
10
|
+
{% assign url = item.url | relative_url %}
|
11
|
+
{% endif %}<a href="{{url}}">{{item.title}}</a>{% endfor %}
|
17
12
|
</p>
|
18
13
|
</footer>
|
data/_includes/site-header.html
CHANGED
@@ -1,23 +1,18 @@
|
|
1
|
-
<header>
|
2
|
-
|
3
|
-
<h1 class="logo">
|
1
|
+
<header>{% if site.logo %}
|
2
|
+
<h1 class="logo">
|
4
3
|
<a href="{{ '/' | relative_url }}">
|
5
4
|
<img src="{{site.logo}}" width="64px" alt="Home">
|
6
5
|
</a>
|
7
|
-
|
8
|
-
{% endif %}
|
6
|
+
</h1>{% endif %}
|
9
7
|
<nav>
|
10
|
-
<ul>
|
11
|
-
{% for item in site.navigation %}
|
8
|
+
<ul>{% for item in site.navigation %}
|
12
9
|
{% if item.url contains '://' %}
|
13
10
|
{% assign url = item.url %}
|
14
11
|
{% else %}
|
15
12
|
{% assign url = item.url | relative_url %}
|
16
|
-
{% endif %}
|
17
|
-
<li>
|
13
|
+
{% endif %}<li>
|
18
14
|
<a href="{{url}}">{{item.title}}</a>
|
19
|
-
</li>
|
20
|
-
{% endfor %}
|
15
|
+
</li>{% endfor %}
|
21
16
|
</ul>
|
22
17
|
</nav>
|
23
18
|
</header>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{% if site.plingverify != "" %}
|
2
|
+
<meta name="ocs-site-verification" content="{{ site.plingverify }}">
|
3
|
+
{% endif %}
|
4
|
+
{% if site.googleverify != "" %}
|
5
|
+
<meta name="google-site-verification" content="{{ site.googleverify }}">
|
6
|
+
{% endif %}
|
7
|
+
{% if site.bingverify != "" %}
|
8
|
+
<meta name="msvalidate.01" content="{{ site.bingverify }}">
|
9
|
+
{% endif %}
|
10
|
+
{% if site.pinverify != "" %}
|
11
|
+
<meta name="p:domain_verify" content="{{ site.pinverify }}">
|
12
|
+
{% endif %}
|
13
|
+
{% if site.dailyverify != "" %}
|
14
|
+
<meta name="dailymotion-domain-verification" content="{{ site.dailyverify }}">
|
15
|
+
{% endif %}
|
16
|
+
{% if site.yandexverify != "" %}
|
17
|
+
<meta name="yandex-verification" content="{{ site.yandexverify }}">
|
18
|
+
{% endif %}
|
19
|
+
{% if site.nortonverify != "" %}
|
20
|
+
<meta name="norton-safeweb-site-verification" content="{{ site.nortonverify }}">
|
21
|
+
{% endif %}
|
22
|
+
{% if site.alexaverify != "" %}
|
23
|
+
<meta name="alexaVerifyID" content="{{ site.alexaverify }}">
|
24
|
+
{% endif %}
|
25
|
+
{% if site.wotverify != "" %}
|
26
|
+
<meta name="wot-verification" content="{{ site.wotverify }}">
|
27
|
+
{% endif %}
|
28
|
+
{% if site.specificverify != "" %}
|
29
|
+
<meta name="specificfeeds-verification-code" content="{{ site.specificverify }}">
|
30
|
+
{% endif %}
|
data/_layouts/default.html
CHANGED
@@ -1,58 +1,26 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
{
|
3
|
-
<html lang="{{site.lang}}">
|
1
|
+
<!doctype html>{% if site.lang != "" %}
|
2
|
+
<html lang="{{site.lang}}">
|
4
3
|
{% else %}
|
5
|
-
|
6
|
-
{% endif %}
|
7
|
-
<head>
|
4
|
+
<html>
|
5
|
+
{% endif %}<head>
|
8
6
|
<meta charset="UTF-8">
|
9
7
|
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
10
8
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
11
|
-
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'">
|
12
9
|
<meta name="referrer" content="no-referrer, same-origin">
|
13
|
-
<title>{{ page.title }} - {{ site.title }}</title>
|
14
|
-
<meta property="og:title" content="{{page.title}} - {{site.title}}">
|
15
|
-
{% if site.lang %}
|
16
|
-
<meta property="og:locale" content="{{site.lang}}">
|
17
|
-
{% endif %}
|
18
|
-
{% if page.description %}
|
19
|
-
<meta name="description" content="{{page.description}}">
|
20
|
-
<meta property="og:description" content="{{page.description}}">
|
21
|
-
<meta name="twitter:description" content="{{page.description}}">
|
22
|
-
{% elsif site.description %}
|
23
|
-
<meta name="description" content="{{site.description}}">
|
24
|
-
<meta property="og:description" content="{{site.description}}">
|
25
|
-
<meta name="twitter:description" content="{{site.description}}">
|
26
|
-
{% endif %}
|
27
10
|
{% for item in site.font-import %}
|
28
|
-
|
11
|
+
<link rel="stylesheet" href="{{item}}">
|
29
12
|
{% endfor %}
|
30
13
|
<link rel="stylesheet" href="{{ '/assets/main.css' | relative_url }}">
|
31
|
-
{% if site.favicon %}
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
{% elsif site.googleverify %}
|
36
|
-
<meta name="google-site-verification" content="{{ site.googleverify }}">
|
37
|
-
{% elsif site.bingverify %}
|
38
|
-
<meta name="msvalidate.01" content="{{ site.bingverify }}">
|
39
|
-
{% elsif site.pinverify %}
|
40
|
-
<meta name="p:domain_verify" content="{{ site.pinverify }}">
|
41
|
-
{% elsif site.dailyverify %}
|
42
|
-
<meta name="dailymotion-domain-verification" content="{{ site.dailyverify }}">
|
43
|
-
{% elsif site.yandexverify %}
|
44
|
-
<meta name="yandex-verification" content="{{ site.yandexverify }}">
|
45
|
-
{% elsif site.nortonverify %}
|
46
|
-
<meta name="norton-safeweb-site-verification" content="{{ site.nortonverify }}">
|
47
|
-
{% elsif site.alexaverify %}
|
48
|
-
<meta name="alexaVerifyID" content="{{ site.alexaverify }}">
|
49
|
-
{% elsif site.wotverify %}
|
50
|
-
<meta name="wot-verification" content="{{ site.wotverify }}">
|
51
|
-
{% elsif site.specificverify %}
|
52
|
-
<meta name="specificfeeds-verification-code" content="{{ site.specificverify }}">
|
14
|
+
{% if site.favicon != "" %}
|
15
|
+
<link rel="shortcut icon" href="{{ site.favicon }}">
|
16
|
+
<link rel="icon" href="{{site.favicon}}">
|
17
|
+
<link rel="apple-touch-icon" href="{{site.favicon}}">
|
53
18
|
{% endif %}
|
19
|
+
{% include verifications.html %}
|
20
|
+
{% include seo.html %}
|
21
|
+
{% include csp.html %}
|
54
22
|
</head>
|
55
23
|
<body>
|
56
24
|
{{ content }}
|
57
25
|
</body>
|
58
|
-
</html>
|
26
|
+
</html>
|
data/_layouts/newsroom.html
CHANGED
@@ -6,16 +6,7 @@ layout: default
|
|
6
6
|
|
7
7
|
<div class="container">
|
8
8
|
{{ content }}
|
9
|
-
|
10
|
-
{% for post in site.posts %}
|
11
|
-
<li>
|
12
|
-
<p>
|
13
|
-
<a class="news-text" href="{{ post.url }}"><b>{{ post.title }} ({{ post.dateS }}).</b></a>
|
14
|
-
{{ post.excerpt }}
|
15
|
-
</p>
|
16
|
-
</li>
|
17
|
-
{% endfor %}
|
18
|
-
</ul>
|
9
|
+
{% include newsroom.html %}
|
19
10
|
</div>
|
20
11
|
|
21
12
|
{% include site-footer.html %}
|
data/_layouts/page.html
CHANGED
@@ -5,35 +5,9 @@ layout: default
|
|
5
5
|
{% include site-header.html %}
|
6
6
|
|
7
7
|
<div class="container">
|
8
|
-
|
8
|
+
{{ content }}
|
9
9
|
</div>
|
10
10
|
|
11
|
-
{%
|
12
|
-
<script async defer src="https://scripts.simpleanalyticscdn.com/latest.js"></script>
|
13
|
-
<noscript><img src="https://queue.simpleanalyticscdn.com/noscript.gif" alt=""></noscript>
|
14
|
-
{% elsif site.matomoanalytics == true %}
|
15
|
-
<!-- Matomo -->
|
16
|
-
<script type="text/javascript">
|
17
|
-
var _paq = window._paq || [];
|
18
|
-
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
19
|
-
_paq.push(["setDoNotTrack", true]);
|
20
|
-
_paq.push(["disableCookies"]);
|
21
|
-
_paq.push(['trackPageView']);
|
22
|
-
_paq.push(['enableLinkTracking']);
|
23
|
-
(function() {
|
24
|
-
var u="https://{{site.matomourl}}/";
|
25
|
-
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
26
|
-
_paq.push(['setSiteId', '{{site.matomositeid}}']);
|
27
|
-
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
28
|
-
g.type='text/javascript'; g.async=true; g.defer=true; g.src='//cdn.matomo.cloud/{{site.matomourl}}/matomo.js'; s.parentNode.insertBefore(g,s);
|
29
|
-
})();
|
30
|
-
</script>
|
31
|
-
<noscript><p><img src="https://{{site.matomourl}}/matomo.php?idsite=1&rec=1" style="border:0;" alt="" /></p></noscript>
|
32
|
-
<!-- End Matomo Code -->
|
33
|
-
{% endif %}
|
34
|
-
|
35
|
-
{% if site.fathomanalytics == true %}
|
36
|
-
<script src="https://cdn.usefathom.com/script.js" site="{{site.fathomsite}}" honor-dnt="true" async defer></script>
|
37
|
-
{% endif %}
|
11
|
+
{% include analytics.html %}
|
38
12
|
|
39
13
|
{% include site-footer.html %}
|
data/_layouts/post.html
CHANGED
@@ -9,7 +9,19 @@ layout: default
|
|
9
9
|
<h2>{{ page.title }}</h2>
|
10
10
|
<h3>{{ page.dateS }} - Written by {{ page.author }}</h3>
|
11
11
|
{{ content }}
|
12
|
-
|
12
|
+
<br>
|
13
|
+
{% if site.disablecategories == false %}
|
14
|
+
<h3>
|
15
|
+
Tags: {{page.categories}}. <a href="{{ '/atom.xml' | relative_url }}">Subscribe to the Atom feed.</a>
|
16
|
+
</h3>
|
17
|
+
{% else %}
|
18
|
+
<h3>
|
19
|
+
<a href="{{ '/atom.xml' | relative_url }}">Subscribe to the Atom feed.</a>
|
20
|
+
</h3>
|
21
|
+
{% endif %}
|
22
|
+
</div>
|
13
23
|
</div>
|
14
24
|
|
25
|
+
{% include analytics.html %}
|
26
|
+
|
15
27
|
{% include site-footer.html %}
|
data/_posts/2020-06-04-test.md
CHANGED
@@ -0,0 +1,55 @@
|
|
1
|
+
---
|
2
|
+
layout: post
|
3
|
+
title: "Another Huge Update. This is v0.4.0."
|
4
|
+
author: doamatto
|
5
|
+
excerpt_separator: ---
|
6
|
+
dateS: "2020/06/04"
|
7
|
+
categories: [Updates]
|
8
|
+
---
|
9
|
+
|
10
|
+
Nano just got a huge amount of features. Because of it, welcome to v0.4.0 of Nano.
|
11
|
+
|
12
|
+
---
|
13
|
+
|
14
|
+
Y'know, the people who use Nano have yet to seize to amaze me. As of writing, the [nano-theme RubyGem](https://rubygems.org/gems/nano-theme) is at over 2,500 downloads. It's awesome to see how so many people are using Nano. Thanks for helping support Nano and (although I'd prefer it in GitHub as issues) for emailing me all your feature requests and bugs.
|
15
|
+
|
16
|
+
Now, enough of the thanks: we all know you're here to see what's the latest and greatest in Nano v0.4.0. And, as every other v0.X.0 update, it's a doozy.
|
17
|
+
|
18
|
+
To start, blogging got a large overhaul. You can now use categories to sort your posts (I plan to add by Month-Year in the future). You can enable this feature in the config file. Amongst that addition were some nice quality of life changes:
|
19
|
+
- Improved readibility of link to Atom feed
|
20
|
+
- Added author meta tags for posts and site-wide, if either are set
|
21
|
+
- Added a 'Subscribe to Atom feed' buttom to posts[^1]
|
22
|
+
|
23
|
+
[^1]: When categories are disabled in the config, this link stays. The tags are normally with it when categories are enabled
|
24
|
+
|
25
|
+
Apart from those changes, support for tables are officially here.
|
26
|
+
|
27
|
+
| Column A | Column B |
|
28
|
+
| -------- | -------- |
|
29
|
+
| Row 1 | Row 1 |
|
30
|
+
| Row 2 | Row 2 |
|
31
|
+
| Row 3 | Row 3 |
|
32
|
+
|
33
|
+
They took me awhile to do as they were a little hard to design to make it look nice on both light and dark theme while keeping a similar colour pallete.
|
34
|
+
|
35
|
+
Apart from tables, support for task lists was added, as well as better support footnotes, definition lists, and images.
|
36
|
+
|
37
|
+
[![https://i.kym-cdn.com/entries/icons/original/000/006/506/pogchamp.png](https://i.kym-cdn.com/entries/icons/original/000/006/506/pogchamp.png)](https://knowyourmeme.com/memes/pogchamp)
|
38
|
+
|
39
|
+
Some smaller peace of minds that were added:
|
40
|
+
- **A LOT** of CSS/SASS minimizations
|
41
|
+
- Inline code blocks are now styled similarly to nested code blocks[^2]
|
42
|
+
- Links outside of lists will have underlines
|
43
|
+
- Hovering over a link in the navigation won't cause it to look like it disappeared (a very minor issue, obviously)
|
44
|
+
- The horizontal rule on the footer is now smaller and properly centres itself
|
45
|
+
- The classic look is back to Nano. On:
|
46
|
+
- **Desktop:** You get the classic look
|
47
|
+
- **Laptop/Tablet:** You get the new look with the bigger margins (size cap to become this size is 992px in width)
|
48
|
+
- **Mobile:** Same good ol' margins
|
49
|
+
- Updated media queries to improve mobile compatibility[^3]
|
50
|
+
- Fixed typo in gemspec that could cause issues
|
51
|
+
|
52
|
+
Apart from that, that was some of the new things in Nano v0.4.0. You can install it today via [RubyGems](https://rubygems.org/gems/nano-theme) or read the full changelog via [GitHub](https://github.com/doamatto/nano/releases/v0.4.0).
|
53
|
+
|
54
|
+
[^2]: Nested code blocks have a padding of `.5vh` on the top and bottom and `1vh` on the left and right. Inline codeblocks go from `.5vh` to `.25vh` and `1vh` goes to `.5vh`.
|
55
|
+
[^3]: Previously, I used `max-device-width` in media queries to set mobile views and desktop views apart. However, [this is discouraged](https://web.dev/responsive-web-design-basics/) and, for that reason, I switched it to the `max-width` instead.
|
data/_sass/_theme.scss
CHANGED
@@ -1,20 +1,3 @@
|
|
1
|
-
// Import configuration
|
2
|
-
@import "config";
|
3
|
-
|
4
|
-
// Typography and Misc.
|
5
|
-
|
6
|
-
.centre {
|
7
|
-
display: flex;
|
8
|
-
flex-direction: row;
|
9
|
-
flex-wrap: nowrap;
|
10
|
-
justify-content: center;
|
11
|
-
width: 100%;
|
12
|
-
|
13
|
-
text-align: center;
|
14
|
-
}
|
15
|
-
|
16
|
-
// ---
|
17
|
-
|
18
1
|
// Document Prep
|
19
2
|
* {
|
20
3
|
margin: 0;
|
@@ -25,12 +8,9 @@ body {
|
|
25
8
|
@supports (font-variation-settings: normal) {
|
26
9
|
font-family: $font-var;
|
27
10
|
}
|
28
|
-
|
29
11
|
background: $LIGHTbgColour;
|
30
12
|
color: $LIGHTtextColour;
|
31
|
-
|
32
13
|
font-family: $font;
|
33
|
-
font-weight: $font-regular;
|
34
14
|
margin: 0 auto;
|
35
15
|
width: 100%;
|
36
16
|
height: 100%;
|
@@ -39,74 +19,51 @@ body {
|
|
39
19
|
}
|
40
20
|
|
41
21
|
// Typography
|
42
|
-
@media only screen and (max-
|
43
|
-
h1 {
|
44
|
-
|
45
|
-
}
|
46
|
-
|
47
|
-
h2 {
|
48
|
-
font-size: 21px !important;
|
49
|
-
}
|
50
|
-
|
51
|
-
h3 {
|
52
|
-
font-size: 19px !important;
|
53
|
-
}
|
54
|
-
|
55
|
-
.post {
|
56
|
-
h3 {
|
57
|
-
font-size: 14px !important;
|
58
|
-
}
|
59
|
-
}
|
60
|
-
|
22
|
+
@media only screen and (max-width: 480px) {
|
23
|
+
h1 { font-size: 28px !important; }
|
24
|
+
h2 { font-size: 21px !important; }
|
25
|
+
h3 { font-size: 19px !important; }
|
26
|
+
.post { h3 { font-size: 14px !important; } }
|
61
27
|
h4, h5, h6 { font-size: 16px !important; }
|
62
|
-
.tagline { font-size: 40px !important; }
|
28
|
+
.tagline, .tagline * { font-size: 40px !important; }
|
29
|
+
b { font-weight: $font-bold !important; } // Keeps bold bold, no matter the scenario
|
63
30
|
}
|
64
31
|
|
65
|
-
.bold { font-weight: $font-bold; } // Jekyll will process bold text to have the "bold" class
|
66
|
-
|
67
32
|
p { margin: 1em 0; }
|
68
|
-
|
69
33
|
h1 {
|
70
34
|
font-size: 48px;
|
71
|
-
letter-spacing: -.05em;
|
72
35
|
font-weight: $font-bold;
|
73
36
|
line-height: 1.1;
|
74
37
|
}
|
75
|
-
|
76
38
|
h2 {
|
77
39
|
font-size: 24px;
|
78
40
|
line-height: 1.35;
|
79
41
|
}
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
margin:
|
42
|
+
h3 { font-size: 16px; }
|
43
|
+
ol, ul { margin: 1em 1em; }
|
44
|
+
.category_name {
|
45
|
+
font-size: 22px;
|
46
|
+
line-height: 1.1;
|
47
|
+
margin: .25em 0;
|
48
|
+
margin-left: 0 !important;
|
87
49
|
}
|
88
50
|
|
89
|
-
a {
|
90
|
-
|
91
|
-
|
92
|
-
:
|
93
|
-
color: $LIGHTlinkHoverColour;
|
94
|
-
transition: color 250ms ease-in-out;
|
95
|
-
}
|
51
|
+
a { color: $LIGHTlinkColour; }
|
52
|
+
a:hover {
|
53
|
+
color: $LIGHTlinkHoverColour;
|
54
|
+
transition: color 250ms ease-in-out;
|
96
55
|
}
|
56
|
+
ul a, ol a { text-decoration: none; }
|
97
57
|
|
98
58
|
// Code blocks
|
99
|
-
.highlight {
|
100
|
-
@supports (font-variation-settings: normal) {
|
101
|
-
font-family: $codeFont-var;
|
102
|
-
}
|
59
|
+
.highlight, code {
|
60
|
+
@supports (font-variation-settings: normal) { font-family: $codeFont-var; }
|
103
61
|
font-family: $codeFont;
|
104
|
-
|
105
62
|
background: $LIGHTcodebgColour;
|
106
63
|
color: $LIGHTcodeColour;
|
107
|
-
|
108
64
|
padding: .5vh 1vh .5vh 1vh;
|
109
65
|
}
|
66
|
+
code { padding: .25vh .5vh .25vh .5vh; }
|
110
67
|
|
111
68
|
// Navigation
|
112
69
|
header {
|
@@ -114,7 +71,6 @@ header {
|
|
114
71
|
display: flex;
|
115
72
|
justify-content: space-between;
|
116
73
|
height: 100px;
|
117
|
-
cursor: default;
|
118
74
|
background: $accentColour;
|
119
75
|
padding-left: 16px;
|
120
76
|
* {
|
@@ -134,7 +90,6 @@ header {
|
|
134
90
|
img {
|
135
91
|
display: block;
|
136
92
|
border: none !important;
|
137
|
-
vertical-align: bottom;
|
138
93
|
}
|
139
94
|
}
|
140
95
|
a {
|
@@ -167,10 +122,10 @@ nav {
|
|
167
122
|
font-size: 1.1em;
|
168
123
|
text-decoration: none;
|
169
124
|
color: $navColour;
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
125
|
+
}
|
126
|
+
a:hover {
|
127
|
+
text-decoration: underline;
|
128
|
+
transition: text-decoration 150ms ease-in-out;
|
174
129
|
}
|
175
130
|
:last-child { a { padding-right: 0; } }
|
176
131
|
}
|
@@ -185,21 +140,20 @@ nav {
|
|
185
140
|
justify-content: center;
|
186
141
|
background: $accentColour;
|
187
142
|
color: $headerTextColour;
|
188
|
-
padding
|
189
|
-
|
190
|
-
max-height: 32.5vh;
|
143
|
+
padding: 1.5em 32px;
|
144
|
+
max-height: 30vh;
|
191
145
|
|
192
|
-
p {
|
146
|
+
p, b {
|
193
147
|
flex: 0 0 auto;
|
194
|
-
margin:
|
148
|
+
margin: auto 16px;
|
195
149
|
display: flex;
|
196
|
-
flex-direction: column;
|
197
150
|
justify-content: center;
|
198
151
|
|
199
152
|
font-size: 80px;
|
200
153
|
letter-spacing: -.05em;
|
201
154
|
font-weight: $font-regular;
|
202
155
|
line-height: 1.1;
|
156
|
+
white-space: nowrap;
|
203
157
|
}
|
204
158
|
}
|
205
159
|
|
@@ -210,14 +164,19 @@ footer {
|
|
210
164
|
flex-wrap: nowrap;
|
211
165
|
justify-content: center;
|
212
166
|
text-align: center;
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
167
|
+
p {
|
168
|
+
font-size: .75em;
|
169
|
+
a {
|
170
|
+
color: $LIGHTlinkColour;
|
171
|
+
@media(prefers-color-scheme: dark) { color: $DARKlinkColour; }
|
172
|
+
text-decoration: underline;
|
173
|
+
}
|
174
|
+
}
|
218
175
|
}
|
219
176
|
|
220
177
|
.end {
|
178
|
+
margin-left: 25%;
|
179
|
+
width: 50vw;
|
221
180
|
border: 0;
|
222
181
|
height: 1px;
|
223
182
|
background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.75), rgba(0, 0, 0, 0));
|
@@ -225,20 +184,37 @@ footer {
|
|
225
184
|
|
226
185
|
// Main Content
|
227
186
|
.container {
|
228
|
-
|
229
|
-
|
187
|
+
width: 50vw;
|
188
|
+
@media(max-width: 992px) {
|
189
|
+
width: 90vw;
|
190
|
+
}
|
191
|
+
margin: 1em auto;
|
192
|
+
img {
|
193
|
+
@media(max-width: 480px) { width: 300px; }
|
194
|
+
@media(max-width: 992px) { width: 80vw; }
|
195
|
+
width: 50vw;
|
196
|
+
}
|
230
197
|
ul, ol {
|
231
|
-
margin-left: 2em
|
198
|
+
margin-left: 2em;
|
232
199
|
margin-right: 24px !important;
|
233
200
|
}
|
234
|
-
|
235
|
-
|
236
|
-
|
201
|
+
@media(prefers-color-scheme: dark) {
|
202
|
+
a { color: $DARKlinkColour; }
|
203
|
+
a:hover, ul a:hover, ol a:hover, p a:hover {
|
204
|
+
color: $DARKlinkHoverColour;
|
205
|
+
transition: color 250ms ease-in-out;
|
206
|
+
}
|
237
207
|
}
|
238
|
-
|
239
|
-
|
240
|
-
margin:
|
208
|
+
.highlight, p, hr {
|
209
|
+
margin-left: 1em;
|
210
|
+
margin-right: 24px;
|
241
211
|
}
|
212
|
+
@media only screen and (max-width: 480px) {
|
213
|
+
max-width: calc(100vw - 1em);
|
214
|
+
margin: 1em 1em 1em 1em;
|
215
|
+
width: auto;
|
216
|
+
}
|
217
|
+
hr { margin-bottom: 1em; }
|
242
218
|
}
|
243
219
|
|
244
220
|
// Images
|
@@ -252,17 +228,12 @@ img {
|
|
252
228
|
|
253
229
|
// Blog Posts
|
254
230
|
.post {
|
255
|
-
h3 {
|
256
|
-
|
257
|
-
}
|
231
|
+
h3 { font-size: 14px !important; }
|
232
|
+
a { text-decoration: underline; }
|
258
233
|
}
|
259
234
|
|
260
235
|
// Auto Dark Theme as Declared by Browser/OS
|
261
236
|
@media (prefers-color-scheme: dark) {
|
262
|
-
a {
|
263
|
-
color: $DARKlinkColour;
|
264
|
-
:hover { color: $DARKlinkHoverColour; }
|
265
|
-
}
|
266
237
|
.highlight {
|
267
238
|
background: $DARKcodebgColour;
|
268
239
|
color: $DARKcodeColour;
|
@@ -276,4 +247,58 @@ img {
|
|
276
247
|
background: $DARKcodebgColour;
|
277
248
|
color: $DARKcodeColour;
|
278
249
|
}
|
279
|
-
}
|
250
|
+
}
|
251
|
+
|
252
|
+
// Make pixel trackers invisible
|
253
|
+
.pxl {
|
254
|
+
width: 1px;
|
255
|
+
height: 1px;
|
256
|
+
border: none;
|
257
|
+
}
|
258
|
+
|
259
|
+
// Table Formatting
|
260
|
+
table {
|
261
|
+
display: block;
|
262
|
+
overflow: auto;
|
263
|
+
height: 200px;
|
264
|
+
border-collapse: collapse;
|
265
|
+
table-layout: fixed;
|
266
|
+
padding: .5em .5em;
|
267
|
+
margin: 0 auto;
|
268
|
+
width: 100%;
|
269
|
+
@media(max-width: 480px) { width: 300px; }
|
270
|
+
thead {
|
271
|
+
background: #353230;
|
272
|
+
color: #fff;
|
273
|
+
@media(prefers-color-scheme: dark) {
|
274
|
+
background: #d3d3d3;
|
275
|
+
color: #000;
|
276
|
+
}
|
277
|
+
}
|
278
|
+
th { @media(min-width: 481px) { padding: .25em 2em; } }
|
279
|
+
th, td { padding: .5em .5em; }
|
280
|
+
tbody {
|
281
|
+
td {
|
282
|
+
@media(prefers-color-scheme: light) { border: 1px solid #000; }
|
283
|
+
border: 1px solid #fff;
|
284
|
+
}
|
285
|
+
}
|
286
|
+
}
|
287
|
+
|
288
|
+
// Footnotes
|
289
|
+
.footnote { text-decoration: none !important; }
|
290
|
+
.footnotes {
|
291
|
+
border-top: 1px solid #000;
|
292
|
+
@media(prefers-color-scheme: dark) { border-top: 1px solid #fff; }
|
293
|
+
}
|
294
|
+
|
295
|
+
// Definition lists
|
296
|
+
dt { font-weight: $font-bold; }
|
297
|
+
dd { margin: .25em 1em; }
|
298
|
+
|
299
|
+
// Checklists
|
300
|
+
.task-list {
|
301
|
+
list-style-type: none;
|
302
|
+
margin-left: 1em !important;
|
303
|
+
}
|
304
|
+
.task-list-item-checkbox { margin-right: .5em; }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nano-theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- doamatto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '4.
|
19
|
+
version: '4.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '4.
|
26
|
+
version: '4.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: jekyll-sitemap
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.4'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: jekyll-feed
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.13'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.13'
|
41
55
|
description:
|
42
56
|
email:
|
43
57
|
- hello@doamatto.xyz
|
@@ -47,13 +61,19 @@ extra_rdoc_files: []
|
|
47
61
|
files:
|
48
62
|
- LICENSE
|
49
63
|
- README.md
|
64
|
+
- _includes/analytics.html
|
65
|
+
- _includes/csp.html
|
66
|
+
- _includes/newsroom.html
|
67
|
+
- _includes/seo.html
|
50
68
|
- _includes/site-footer.html
|
51
69
|
- _includes/site-header.html
|
70
|
+
- _includes/verifications.html
|
52
71
|
- _layouts/default.html
|
53
72
|
- _layouts/newsroom.html
|
54
73
|
- _layouts/page.html
|
55
74
|
- _layouts/post.html
|
56
75
|
- _posts/2020-06-04-test.md
|
76
|
+
- _posts/2020-07-03-test.md
|
57
77
|
- _sass/_config.scss
|
58
78
|
- _sass/_theme.scss
|
59
79
|
- assets/logo.svg
|