nano-theme 0.3.4.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 04cf8c237bc6e81caf8599adf4eaa2327e64c40cd6131a3c3e1f8ad383fd4cc2
4
- data.tar.gz: 1a215c23fa7a10f920aab325126c3ec9d45f97d7fd87989af18c7d57215cbb56
3
+ metadata.gz: d73f7b1c868a412ca7f2656b02be93472ee3cba6c2d24c089cdd06dfda9710f6
4
+ data.tar.gz: 7453cc8f392112e4d879cf34c34e97f5b6230e1200b0225a7c57abb494cccd7b
5
5
  SHA512:
6
- metadata.gz: eecaef6a892128edce640b3aaee1f3399bcbc3651e3c7f5472143906ee53f8805b17894f89465ca7bad0ec7cca0f121b6c8add1dbc109dcc3ee3b74d61423df3
7
- data.tar.gz: e9ff534f43b5bd2560da3478d8d2d6e8be5796a7d415d64973fcf5eec28089aed8655ddac5b4d99dc7a508bbaed04322a1b954e892c8ddb8675c14777308597c
6
+ metadata.gz: 784a0405646d56051b91e84824c2fcaa0a14e230717387057749157bb75b73bbea3d788131de797d3e2d409b44667a5ab6be7126762ecadb2a94a93539527469
7
+ data.tar.gz: 3edb32bb57b26380816a8f3064d08a03ea9c6f51e66d7679608158237868767e53e4bf82c82526e2ec6bebcd9a3456aeac0269a2660b7e368ad75e39ff5f595e
@@ -1,20 +1,62 @@
1
- <h2><a href="{{ '/atom.xml' | | relative_url }}">Subscribe to the Feed.</a></h2>
2
- <ul>
3
- {% for post in site.posts %}
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 %}
4
9
  <li>
5
10
  {% if site.classicnews == true %}
6
11
  <p>
7
12
  <a href="{{ post.url }}">
8
- <b>{{ post.title }} ({{ post.dateS }}). </b>
13
+ <b>{{ post.title }} ({{ post.dateS }}). </b>
9
14
  </a>
10
15
  {{ post.excerpt | strip_html }}
11
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>
12
51
  {% else %}
13
52
  <a href="{{ post.url }}">
14
- <b>{{ post.title }} ({{ post.dateS }}). </b>
53
+ <b>{{ post.title }} ({{ post.dateS }}). </b>
15
54
  </a>
16
55
  {{ post.excerpt }}
17
56
  {% endif %}
18
57
  </li>
58
+ {% endfor %}
59
+ </ul>
19
60
  {% endfor %}
20
- </ul>
61
+ {% endif %}
62
+ </div>
@@ -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 %}
@@ -1,13 +1,13 @@
1
- <hr class="end">
2
- <footer>
3
- <p class="copyright">
4
- &copy; {% if copyrightYear %}{{copyrightYear}}{% else %}{{ site.time | date: '%Y' }}{% endif %} {{ site.copyrightName }}.
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 %}
12
- </p>
1
+ <hr class="end">
2
+ <footer>
3
+ <p>
4
+ &copy; {% if copyrightYear %}{{copyrightYear}}{% else %}{{ site.time | date: '%Y' }}{% endif %} {{ site.copyrightName }}.
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 %}
12
+ </p>
13
13
  </footer>
@@ -6,26 +6,19 @@
6
6
  <meta charset="UTF-8">
7
7
  <meta http-equiv="x-ua-compatible" content="ie=edge">
8
8
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
- {% include csp.html %}
10
9
  <meta name="referrer" content="no-referrer, same-origin">
11
- <title>{{ page.title }} - {{ site.title }}</title>
12
- <meta name="twitter:title" content="{{page.title}} - {{site.title}}">
13
- <meta property="og:title" content="{{page.title}} - {{site.title}}">{% if site.lang != "" %}
14
- <meta property="og:locale" content="{{site.lang}}">
15
- <meta http-equiv="language" content="{{site.lang}}">
16
- {% endif %}{% if page.description != nil %}
17
- <meta name="description" content="{{page.description}}">
18
- <meta property="og:description" content="{{page.description}}">
19
- <meta name="twitter:description" content="{{page.description}}">{% elsif site.description != nil %}<meta name="description" content="{{site.description}}">
20
- <meta property="og:description" content="{{site.description}}">
21
- <meta name="twitter:description" content="{{site.description}}">{% endif %}{% for item in site.font-import %}
22
- <link rel="stylesheet" href="{{item}}">{% endfor %}
23
- <link rel="canonical" href="{{ site.url }}{{ page.url | replace:'index.html',''}}">
10
+ {% for item in site.font-import %}
11
+ <link rel="stylesheet" href="{{item}}">
12
+ {% endfor %}
24
13
  <link rel="stylesheet" href="{{ '/assets/main.css' | relative_url }}">
25
- {% if site.favicon != "" %}<link rel="shortcut icon" href="{{ site.favicon }}">
14
+ {% if site.favicon != "" %}
15
+ <link rel="shortcut icon" href="{{ site.favicon }}">
26
16
  <link rel="icon" href="{{site.favicon}}">
27
- <link rel="apple-touch-icon" href="{{site.favicon}}">{% endif %}
17
+ <link rel="apple-touch-icon" href="{{site.favicon}}">
18
+ {% endif %}
28
19
  {% include verifications.html %}
20
+ {% include seo.html %}
21
+ {% include csp.html %}
29
22
  </head>
30
23
  <body>
31
24
  {{ content }}
data/_layouts/post.html CHANGED
@@ -9,7 +9,17 @@ layout: default
9
9
  <h2>{{ page.title }}</h2>
10
10
  <h3>{{ page.dateS }} - Written by {{ page.author }}</h3>
11
11
  {{ content }}
12
- </div>
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
 
15
25
  {% include analytics.html %}
@@ -4,6 +4,7 @@ title: "Blogging Support is Here"
4
4
  author: doamatto
5
5
  excerpt_separator: ---
6
6
  dateS: "2020/06/04"
7
+ categories: [Updates]
7
8
  ---
8
9
 
9
10
  Nano v0.3.0 is here and now, among many other things, has support for blogging!
@@ -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,7 +19,7 @@ body {
39
19
  }
40
20
 
41
21
  // Typography
42
- @media only screen and (max-device-width: 480px) {
22
+ @media only screen and (max-width: 480px) {
43
23
  h1 { font-size: 28px !important; }
44
24
  h2 { font-size: 21px !important; }
45
25
  h3 { font-size: 19px !important; }
@@ -52,7 +32,6 @@ body {
52
32
  p { margin: 1em 0; }
53
33
  h1 {
54
34
  font-size: 48px;
55
- letter-spacing: -.05em;
56
35
  font-weight: $font-bold;
57
36
  line-height: 1.1;
58
37
  }
@@ -61,29 +40,30 @@ h2 {
61
40
  line-height: 1.35;
62
41
  }
63
42
  h3 { font-size: 16px; }
64
- ol, ul { margin: 2em 1em; }
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;
49
+ }
65
50
 
66
- a, ul a, ol a, p a {
67
- color: $LIGHTlinkColour;
68
- text-decoration: none;
69
- :hover {
70
- color: $LIGHTlinkHoverColour;
71
- transition: color 250ms ease-in-out;
72
- }
51
+ a { color: $LIGHTlinkColour; }
52
+ a:hover {
53
+ color: $LIGHTlinkHoverColour;
54
+ transition: color 250ms ease-in-out;
73
55
  }
56
+ ul a, ol a { text-decoration: none; }
74
57
 
75
58
  // Code blocks
76
- .highlight {
77
- @supports (font-variation-settings: normal) {
78
- font-family: $codeFont-var;
79
- }
59
+ .highlight, code {
60
+ @supports (font-variation-settings: normal) { font-family: $codeFont-var; }
80
61
  font-family: $codeFont;
81
-
82
62
  background: $LIGHTcodebgColour;
83
63
  color: $LIGHTcodeColour;
84
-
85
64
  padding: .5vh 1vh .5vh 1vh;
86
65
  }
66
+ code { padding: .25vh .5vh .25vh .5vh; }
87
67
 
88
68
  // Navigation
89
69
  header {
@@ -91,7 +71,6 @@ header {
91
71
  display: flex;
92
72
  justify-content: space-between;
93
73
  height: 100px;
94
- cursor: default;
95
74
  background: $accentColour;
96
75
  padding-left: 16px;
97
76
  * {
@@ -143,10 +122,10 @@ nav {
143
122
  font-size: 1.1em;
144
123
  text-decoration: none;
145
124
  color: $navColour;
146
- :hover {
147
- text-decoration: underline;
148
- transition: text-decoration 150ms ease-in-out;
149
- }
125
+ }
126
+ a:hover {
127
+ text-decoration: underline;
128
+ transition: text-decoration 150ms ease-in-out;
150
129
  }
151
130
  :last-child { a { padding-right: 0; } }
152
131
  }
@@ -185,14 +164,19 @@ footer {
185
164
  flex-wrap: nowrap;
186
165
  justify-content: center;
187
166
  text-align: center;
188
- }
189
-
190
- .copyright {
191
- font-size: .75em;
192
- a { text-decoration: underline; }
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
+ }
193
175
  }
194
176
 
195
177
  .end {
178
+ margin-left: 25%;
179
+ width: 50vw;
196
180
  border: 0;
197
181
  height: 1px;
198
182
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.75), rgba(0, 0, 0, 0));
@@ -200,20 +184,35 @@ footer {
200
184
 
201
185
  // Main Content
202
186
  .container {
203
- width: 75vw;
187
+ width: 50vw;
188
+ @media(max-width: 992px) {
189
+ width: 90vw;
190
+ }
204
191
  margin: 1em auto;
192
+ img {
193
+ @media(max-width: 480px) { width: 300px; }
194
+ @media(max-width: 992px) { width: 80vw; }
195
+ width: 50vw;
196
+ }
205
197
  ul, ol {
206
- margin-left: 2em !important;
198
+ margin-left: 2em;
207
199
  margin-right: 24px !important;
208
200
  }
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
+ }
207
+ }
209
208
  .highlight, p, hr {
210
- margin-left: 1em !important;
211
- margin-right: 24px !important;
209
+ margin-left: 1em;
210
+ margin-right: 24px;
212
211
  }
213
- @media only screen and (max-device-width: 480px) {
214
- max-width: 100% !important;
212
+ @media only screen and (max-width: 480px) {
213
+ max-width: calc(100vw - 1em);
215
214
  margin: 1em 1em 1em 1em;
216
- width: auto !important;
215
+ width: auto;
217
216
  }
218
217
  hr { margin-bottom: 1em; }
219
218
  }
@@ -228,15 +227,13 @@ img {
228
227
  }
229
228
 
230
229
  // Blog Posts
231
- .post { h3 { font-size: 14px !important; } }
230
+ .post {
231
+ h3 { font-size: 14px !important; }
232
+ a { text-decoration: underline; }
233
+ }
232
234
 
233
235
  // Auto Dark Theme as Declared by Browser/OS
234
236
  @media (prefers-color-scheme: dark) {
235
- a, ul a, ol a, p a { color: $DARKlinkColour;}
236
- a:hover, ul a:hover, ol a:hover, p a:hover {
237
- color: $DARKlinkHoverColour;
238
- transition: color 250ms ease-in-out;
239
- }
240
237
  .highlight {
241
238
  background: $DARKcodebgColour;
242
239
  color: $DARKcodeColour;
@@ -257,4 +254,51 @@ img {
257
254
  width: 1px;
258
255
  height: 1px;
259
256
  border: none;
260
- }
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,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nano-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - doamatto
@@ -64,6 +64,7 @@ files:
64
64
  - _includes/analytics.html
65
65
  - _includes/csp.html
66
66
  - _includes/newsroom.html
67
+ - _includes/seo.html
67
68
  - _includes/site-footer.html
68
69
  - _includes/site-header.html
69
70
  - _includes/verifications.html
@@ -72,6 +73,7 @@ files:
72
73
  - _layouts/page.html
73
74
  - _layouts/post.html
74
75
  - _posts/2020-06-04-test.md
76
+ - _posts/2020-07-03-test.md
75
77
  - _sass/_config.scss
76
78
  - _sass/_theme.scss
77
79
  - assets/logo.svg