linus 1.1 → 1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d21bd83ff0aefc3c22487dae931923f6bd0086bc101da47c91693abaeb43fcf
4
- data.tar.gz: 5011e04fc10847ff4c9863cad25323fd56931b0f629b4146e7b867d754ec9444
3
+ metadata.gz: e6ef61bce272b57806979abeda05d1dd895f435e939bc6fe640c6936e594cf1f
4
+ data.tar.gz: 17382c845e534a4dc595d655c5d78c3344b3e6f6bbee6116901b1f1eb5d9772f
5
5
  SHA512:
6
- metadata.gz: a427484ba636c1be648574c0380cb1fa5ee4a07bb4713262497c84c411041ed3c2bb8f53da2010206f9eb07299ffd33723913887d6e89a372ba3a75b5aa85a75
7
- data.tar.gz: b3660dd87b1116e9d6811e8b22c498855cd6a31e57df47ec4ce5270e79d31fd72dbba99bcd0f6aeb7e08b02933849ff5a6475d8887d6830de6a0df80d038a5c0
6
+ metadata.gz: 563603f3cb23ade2ac523e356c544c01ea1da28ba77c933c5ff25418c0b0de7fb8947b8d5a4ae07fcd0d0cd3b6e4fbf938f9f7e979ae893a7191a5ea49fbf6f9
7
+ data.tar.gz: 4cc9fa4f54df10650fe5c585064c070d8c391f53b58a98caaf4959a6eb52544205b230964f271f80978ca4e7a544f90e7d293e63986627e9764e162c834b48ce
@@ -57,6 +57,10 @@
57
57
  {%- endif -%}
58
58
  {%- else -%}
59
59
  <div class="post-content e-content">
60
+ {% if post.title != "" and post.source %}
61
+ {%- include link-preview.html url=post.source -%}
62
+ {% endif %}
63
+
60
64
  {{ include.post.content }}
61
65
  </div>
62
66
  {%- endif -%}
@@ -0,0 +1,30 @@
1
+ {%- if include.url -%}
2
+
3
+ {%- assign preview = include.url | metadata -%}
4
+ <blockquote class="link-preview h-cite u-in-reply-to">
5
+ <cite class="preview-title p-name">
6
+ <a class="preview-link u-url" href="{{ include.url }}" rel="nofollow">
7
+ {{- preview['og:title'] | default: preview.title | default: include.url }} ↦
8
+ </a>
9
+ </cite>
10
+ <div class="preview-details">
11
+ {%- if preview['article:author'] -%}
12
+ <span class="preview-author p-author h-card">
13
+ {{ preview['article:author'] }}
14
+ </span>
15
+ {%- endif -%}
16
+
17
+ {%- if preview['article:published_time'] -%}
18
+ <time class="preview-date dt-published" datetime="{{ preview['og:publication_date'] | date_to_xmlschema }}">
19
+ {{ preview['article:published_time'] | date: site.date_formats.day }}
20
+ </time>
21
+ {%- endif -%}
22
+
23
+ {% assign preview_domain = include.url | remove: "http://" | remove: "https://" | split: "/" | first | remove: "/" %}
24
+
25
+ <a class="preview-website u-url" href="{{- preview_domain -}}" rel="nofollow">
26
+ {{ preview["og:site_name"] | default: preview_domain }}
27
+ </a>
28
+ </div>
29
+ </blockquote>
30
+ {%- endif -%}
data/_layouts/post.html CHANGED
@@ -54,6 +54,11 @@ layout: default
54
54
  </header>
55
55
 
56
56
  <div class="post-content e-content">
57
+
58
+ {% if page.title != "" and page.source %}
59
+ {%- include link-preview.html url=page.source -%}
60
+ {% endif %}
61
+
57
62
  {{ page.content }}
58
63
  </div>
59
64
 
data/assets/css/base.css CHANGED
@@ -6,6 +6,11 @@ q {
6
6
  blockquote {
7
7
  padding-inline-start: 1lh;
8
8
  border-left: 1px solid var(--color-border);
9
+ margin-right: 0;
10
+
11
+ blockquote {
12
+ margin-left: 1lh;
13
+ }
9
14
  }
10
15
 
11
16
  blockquote > *:not(:last-child) {
@@ -119,7 +124,7 @@ input[type="submit"],
119
124
  padding: calc(var(--spacing) / 4) calc(var(--spacing) / 2);
120
125
  background-color: var(--color-support);
121
126
  border: 2px solid var(--color-border);
122
- box-shadow: 5px 2px 0 var(--color-shadows);
127
+ box-shadow: var(--shadow);
123
128
  color: var(--color-background) !important;
124
129
  font-weight: 700;
125
130
  text-decoration: none !important;
@@ -128,11 +133,11 @@ input[type="submit"],
128
133
  transition-timing-function: ease;
129
134
 
130
135
  &:hover {
131
- box-shadow: 4px 2px 0 var(--color-shadows-hover);
136
+ box-shadow: var(--shadow-hover);
132
137
  }
133
138
 
134
139
  &:active {
135
- box-shadow: 2px 2px 0 var(--color-shadows-hover);
140
+ box-shadow: var(--shadow-active);
136
141
  }
137
142
 
138
143
  ~ & {
@@ -173,10 +178,23 @@ del, ins {
173
178
  /* Details */
174
179
 
175
180
  details {
176
- border: 1px solid var(--color-border);
181
+ outline: 1px solid var(--color-border);
182
+ outline-offset: -1px;
177
183
  border-radius: .3rem;
178
184
  padding: calc(var(--spacing) / 2);
179
- box-shadow: 1rem .5rem 0 var(--color-shadows);
185
+ box-shadow: var(--shadow);
186
+ transform: scale(1);
187
+ transform-origin: center center;
188
+ transition: transform var(--transition-duration) ease;
189
+
190
+ &:hover,
191
+ &:focus {
192
+ transform: scale(1.025)
193
+ }
194
+
195
+ &:active {
196
+ transform: scale(0.98);
197
+ }
180
198
 
181
199
  summary + * {
182
200
  border-top: 1px solid var(--color-border);
@@ -194,7 +212,9 @@ summary {
194
212
 
195
213
  img, video, audio, iframe {
196
214
  border-radius: .3rem;
197
- box-shadow: 1rem .5rem 0 var(--color-shadows);
215
+ box-shadow: var(--shadow);
216
+ outline: 1px solid var(--color-border);
217
+ outline-offset: -1px;
198
218
  }
199
219
 
200
220
  video, audio, iframe {
@@ -219,24 +239,29 @@ figcaption {
219
239
  /* Tables */
220
240
 
221
241
  table {
222
- border: 1px solid var(--color-shadows);
242
+ outline: 1px solid var(--color-border);
243
+ outline-offset: -1px;
223
244
  border-radius: .3rem;
224
245
  border-collapse: collapse;
225
246
  border-spacing: 0;
226
- box-shadow: 1rem .5rem 0 var(--color-shadows);
247
+ box-shadow: var(--shadow);
227
248
 
228
249
  td, th {
229
250
  padding-block: calc(var(--spacing) / 2);
230
251
  padding-inline: calc(var(--spacing) / 2);
252
+ border-bottom: 1px solid var(--color-border);
253
+ }
254
+
255
+ th {
256
+ background-color: var(--color-border);
231
257
  }
232
258
  }
233
259
 
234
260
  /* Horizontal rule */
235
261
  hr {
236
- margin-block: calc(var(--spacing) * 2);
237
- background: var(--color-border);
238
262
  border: none;
239
- height: 1px;
263
+ height: var(--spacing);
264
+ width: 100%;
240
265
  }
241
266
 
242
267
  /* Footnotes */
@@ -244,7 +269,7 @@ hr {
244
269
  .footnotes {
245
270
  padding-top: var(--spacing);
246
271
  margin-top: calc(var(--spacing) * 2);
247
- border-top: 1px solid var(--color-shadows);
272
+ border-top: 1px solid var(--color-border);
248
273
  font-size: 1.2rem;
249
274
  }
250
275
 
@@ -254,6 +279,8 @@ hr {
254
279
  background-color: var(--color-shadows);
255
280
  padding: .3rem;
256
281
  border-radius: .3rem;
282
+ outline: 1px solid var(--color-border);
283
+ outline-offset: -1px;
257
284
  font-size: 1.2rem;
258
285
  }
259
286
 
@@ -261,5 +288,5 @@ pre {
261
288
  font-size: 1.2rem;
262
289
  padding: calc(var(--spacing) / 2);
263
290
  border-radius: .3rem;
264
- box-shadow: 1rem .5rem 0 var(--color-shadows);
291
+ box-shadow: var(--shadow);
265
292
  }
data/assets/css/fonts.css CHANGED
@@ -7,7 +7,7 @@
7
7
  font-style: italic;
8
8
  font-weight: 200 800;
9
9
  font-display: swap;
10
- src: url('/assets/fonts/next.woff2') format('woff2');
10
+ src: url('/assets/fonts/atkinson.woff2') format('woff2');
11
11
  }
12
12
 
13
13
  @font-face {
@@ -15,7 +15,7 @@
15
15
  font-style: normal;
16
16
  font-weight: 200 800;
17
17
  font-display: swap;
18
- src: url('/assets/fonts/next.woff2') format('woff2');
18
+ src: url('/assets/fonts/atkinson.woff2') format('woff2');
19
19
  }
20
20
 
21
21
  @font-face {
@@ -26,7 +26,12 @@
26
26
  --color-support: #D9634E;
27
27
  --color-shadows: color-mix(in srgb, var(--color-text), transparent 85%);
28
28
  --color-shadows-hover: color-mix(in srgb, var(--color-text), transparent 75%);
29
- --color-border: color-mix(in srgb, currentcolor, transparent 50%);
29
+ --color-border: color-mix(in srgb, currentcolor, transparent 90%);
30
+
31
+ --shadow:
32
+ 0px 0px 0px 1px var(--color-shadows),
33
+ 0px 1px 2px -1px var(--color-shadows),
34
+ 0px 2px 4px 0px var(--color-shadows);
30
35
  }
31
36
 
32
37
  @media (prefers-color-scheme: dark) {
@@ -63,6 +68,8 @@
63
68
  dl, dd, ol, ul,
64
69
  figure, picture, audio, video,
65
70
  table, iframe {
71
+ -webkit-font-smoothing: antialiased
72
+ font-variant-numeric: tabular-nums
66
73
  margin: 0;
67
74
  padding: 0;
68
75
  }
@@ -70,6 +77,7 @@
70
77
  img, video, audio, figure, picture,
71
78
  table {
72
79
  max-width: 100%;
80
+ margin-right: 0;
73
81
  }
74
82
 
75
83
  iframe {
@@ -200,12 +208,25 @@ body {
200
208
  display: inline-flex;
201
209
  padding-inline: 8px;
202
210
  border-radius: 3px;
203
- box-shadow: 0.5rem 0.2rem 0 var(--color-shadows);
211
+ box-shadow: var(--shadow);
212
+ outline: 1px solid var(--color-border);
213
+ outline-offset: -1px;
204
214
  color: var(--color-text) !important;
205
215
  font-size: var(--text-size);
206
216
  line-height: 1.85;
207
217
  text-decoration: none !important;
208
- transition: box-shadow var(--transition-duration) ease;
218
+ transform: scale(1);
219
+ transform-origin: center center;
220
+ transition: transform var(--transition-duration) ease;
221
+
222
+ &:hover,
223
+ &:focus {
224
+ transform: scale(1.025)
225
+ }
226
+
227
+ &:active {
228
+ transform: scale(0.98);
229
+ }
209
230
  }
210
231
 
211
232
  @media (prefers-color-scheme: dark) {
@@ -214,15 +235,6 @@ body {
214
235
  }
215
236
  }
216
237
 
217
- .category:hover,
218
- .category:focus {
219
- box-shadow: 0.4rem 0.2rem 0 var(--color-shadows-hover);
220
- }
221
-
222
- .category:active {
223
- box-shadow: 0.1rem 0.1rem 0 var(--color-shadows-hover);
224
- }
225
-
226
238
  .blog-categories {
227
239
  margin-bottom: calc(var(--spacing) * 2);
228
240
  }
@@ -340,6 +352,29 @@ body {
340
352
  }
341
353
  }
342
354
 
355
+ .link-preview {
356
+ border: none;
357
+ border-radius: .3rem;
358
+ outline: 1px solid var(--color-border);
359
+ outline-offset: -1px;
360
+ box-shadow: var(--shadow);
361
+ padding: 1lh;
362
+
363
+ .preview-title {
364
+ display: block;
365
+ font-size: 1.6rem;
366
+ font-weight: bold;
367
+ font-style: normal;
368
+ margin-bottom: 0;
369
+ }
370
+
371
+ .preview-details {
372
+ display: inline-flex;
373
+ flex-flow: row wrap;
374
+ gap: 1ch;
375
+ }
376
+ }
377
+
343
378
  /*
344
379
  Site Footer
345
380
  */
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linus
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.1'
4
+ version: '1.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arthur Freitas
@@ -136,6 +136,7 @@ files:
136
136
  - _includes/blog/post.html
137
137
  - _includes/end.html
138
138
  - _includes/head.html
139
+ - _includes/link-preview.html
139
140
  - _includes/site/footer.html
140
141
  - _includes/site/header.html
141
142
  - _layouts/archive.html