@rathnasgala/theme 0.0.18 → 0.0.19
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.
package/package.json
CHANGED
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"themePackage": {
|
|
4
4
|
"name": "@rathnasgala/theme",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.19",
|
|
6
6
|
"availableDesignThemes": [
|
|
7
7
|
"editorial"
|
|
8
8
|
],
|
|
9
9
|
"securityAdvisories": []
|
|
10
10
|
},
|
|
11
|
+
"requiredBudgets": {
|
|
12
|
+
"managedJavaScriptBytes": 65536,
|
|
13
|
+
"managedCssBytes": 32768
|
|
14
|
+
},
|
|
11
15
|
"files": {
|
|
12
16
|
".gala/publish.yml.template": "73080241d89bd09964b797a8bcc8e18471412e11bc873efad76305b60f497d08",
|
|
13
17
|
".gitignore": "b5fa24e10155097a0d372926fd2e59e6072e7cc2cb6399bbfb4beb8b33ea315b",
|
|
@@ -31,7 +35,7 @@
|
|
|
31
35
|
"src/_data/languages.js": "1358748f7fa2f74406d3295a030827d6229a53e94da72cf712e719d7a356aeac",
|
|
32
36
|
"src/_data/site.js": "d9c001f4cc12a34027dd92303530b11b5402d47613459bb997e22c4bcbea326d",
|
|
33
37
|
"src/_includes/components/ui.njk": "23eb647d8658868449ec6bb809e965a85302124a97639f94d5d28af72df56e4c",
|
|
34
|
-
"src/_includes/layouts/base.njk": "
|
|
38
|
+
"src/_includes/layouts/base.njk": "e73be30738535902599e1c060c11afbd128c86332913114f643dc56dea99fcba",
|
|
35
39
|
"src/_includes/layouts/post.njk": "1accd2832064ad19ee7bf18daf5fa1e60569f32c9b7a547934a6361f747d7eb7",
|
|
36
40
|
"src/assets/embed-codepen.svg": "e9def697f38c466fb2b6652535c4c814e8cbbbefc6e052a69f335aeb27e8356b",
|
|
37
41
|
"src/assets/embed-gist.svg": "fcd9bc2bf29a5c118492b853c0a01390b7539c38ddb985da3c2a6e2f246a39f7",
|
|
@@ -39,11 +43,12 @@
|
|
|
39
43
|
"src/assets/embed-youtube.svg": "10d192f2b14b67664fea88c8cf246321d20190def51d59fad5762e552219b067",
|
|
40
44
|
"src/assets/engagement-comments.js": "b20d9268c9d908b4453a42188eaca25349f25534fb04a9293c9e688a982cd8f8",
|
|
41
45
|
"src/assets/engagement-transport.js": "4f9ca0cd669bf8abc25f2909104e3e4b231657ef97d36a17d06e53454d711786",
|
|
46
|
+
"src/assets/favicon.svg": "8615e3d96fe37ae9ed14afb1886e7c0e690eef5b10be66ca91cccfd085a74bb6",
|
|
42
47
|
"src/assets/interactions.js": "dd4e343505e528d89596ca67db679b52c989e022f93399193e4377db01fc8a08",
|
|
43
48
|
"src/assets/preferences.js": "789127bee013ed6a1bbf8cefd7b9109291c16220e7a6e09314e3c93c54731d1d",
|
|
44
49
|
"src/assets/search.js": "df425f0239277792ad39f2138bc89cb66cc4ecda5ed59042d46abc2f05372088",
|
|
45
50
|
"src/assets/theme-mode.js": "944b29db11a577961a60ddcfa52f07ef2411f3f3631bea85bd79be16428c08be",
|
|
46
|
-
"src/assets/theme.css": "
|
|
51
|
+
"src/assets/theme.css": "cdd41ddb670fb8c823b3490efa2a887d11dd6a1931afa0264deee53283b684d3",
|
|
47
52
|
"src/assets/vendor/hooks.js": "ae6ec58592683ca64fa4d65b20d40b103df62a673bcc4712515cf165950b07f3",
|
|
48
53
|
"src/assets/vendor/htm.js": "e4dac9bc40a6f2ec590413d787ae30bbcfdfcde4f28971ee65d9578271b7aad4",
|
|
49
54
|
"src/assets/vendor/preact.js": "712517dd2a42c3c22b5ab0264ad7e9a2b1e8be6cf97fa00dbedd98203617e616",
|
|
@@ -58,7 +63,6 @@
|
|
|
58
63
|
"src/redirects.11ty.js": "3c163246a59f5364861db6a6f05ae88afc938a5379d86cf42776d8d49b0031f3",
|
|
59
64
|
"src/search-index.11ty.js": "700dc2a2be0ef20de3a828a4612fcf7a082691eade29c6e1d75f09c24b6c6024",
|
|
60
65
|
"src/search.njk": "63f2e8aeebb63c90da2e375eece639ce096cad1eff7f28628cafc46faf7ceee6",
|
|
61
|
-
"src/settings.njk": "9e6babf4d2774687558618c4fbd109ddfc0f479f52ec2e5d00c373c44ad16676",
|
|
62
66
|
"src/sitemap.11ty.js": "4f233e94fb4a913ad5659116518432ed264984a7b622eba3558c77b4ec6435dc",
|
|
63
67
|
"static/robots.txt": "16ceb5ee3e0dc13aa9adf31a3ebbe45a1d965b8c2b9f72eaf84e5911e140ed95"
|
|
64
68
|
},
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
<link rel="stylesheet" href="{{ '/custom.css' | url }}">
|
|
27
27
|
<script src="{{ '/assets/theme-mode.js' | url }}" defer></script>
|
|
28
28
|
<script src="{{ '/assets/preferences.js' | url }}" defer></script>
|
|
29
|
+
<link rel="icon" href="{{ '/assets/favicon.svg' | url }}" type="image/svg+xml">
|
|
29
30
|
<script src="{{ '/assets/interactions.js' | url }}" defer></script>
|
|
30
31
|
<script type="module" src="{{ '/assets/engagement-comments.js' | url }}"></script>
|
|
31
32
|
<script src="{{ '/assets/search.js' | url }}" defer></script>
|
|
@@ -69,17 +70,12 @@
|
|
|
69
70
|
<dialog id="gala-settings-dialog" class="gala-dialog" aria-labelledby="gala-settings-title">
|
|
70
71
|
<form method="dialog" class="gala-dialog__close"><button type="submit" aria-label="Close settings">Close</button></form>
|
|
71
72
|
<h2 id="gala-settings-title">Reader settings</h2>
|
|
72
|
-
<section aria-labelledby="gala-dialog-theme-setting">
|
|
73
|
-
<h3 id="gala-dialog-theme-setting">Appearance</h3>
|
|
74
|
-
<button type="button" data-theme-mode-toggle aria-label="Color mode: system. Activate for light."><span data-theme-mode-label>Theme: system</span></button>
|
|
75
|
-
</section>
|
|
76
73
|
<section aria-labelledby="gala-dialog-language-setting">
|
|
77
74
|
<h3 id="gala-dialog-language-setting">Language preference</h3>
|
|
78
75
|
<label>Preferred language
|
|
79
76
|
<select data-language-preference>{% for language in languages %}<option value="{{ language | escape }}">{{ language }}</option>{% endfor %}</select>
|
|
80
77
|
</label>
|
|
81
78
|
</section>
|
|
82
|
-
<p><a href="{{ '/settings/' | url }}">Open settings page</a></p>
|
|
83
79
|
</dialog>
|
|
84
80
|
<dialog id="gala-search-dialog" class="gala-dialog" aria-labelledby="gala-search-title">
|
|
85
81
|
<form method="dialog" class="gala-dialog__close"><button type="submit" aria-label="Close search">Close</button></form>
|
|
@@ -98,7 +94,7 @@
|
|
|
98
94
|
{% if site.site.id and site.site.id != "unavailable" %}
|
|
99
95
|
<dialog id="gala-account-dialog" class="gala-dialog gala-account-dialog" aria-labelledby="gala-account-title">
|
|
100
96
|
<form method="dialog" class="gala-dialog__close"><button type="submit" aria-label="Close account">Close</button></form>
|
|
101
|
-
<h2 id="gala-account-title">Gala account</h2>
|
|
97
|
+
<h2 id="gala-account-title" class="gala-visually-hidden">Gala account</h2>
|
|
102
98
|
<iframe data-gala-session-frame title="Gala account and sign in" allow="identity-credentials-get" src="{{ site.platform.apiBaseUrl or 'https://api.gala67.com' }}/v1/widget/session?siteId={{ site.site.id | escape }}"></iframe>
|
|
103
99
|
</dialog>
|
|
104
100
|
{% endif %}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="7" fill="#8a4b2a"/><path d="M22 11.5c-1.1-1.3-2.8-2-4.6-2-3.6 0-6.4 2.9-6.4 6.5s2.8 6.5 6.4 6.5c3.2 0 5.6-2 6-5h-5.6" fill="none" stroke="#fdfcfb" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -235,13 +235,29 @@ blockquote {
|
|
|
235
235
|
color: var(--gala-color-muted);
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
+
/*
|
|
239
|
+
* Stays with the reader. It used to scroll away, so on a long post the only way back to the site
|
|
240
|
+
* — or to sign in — was to scroll to the top. The negative inline margin lets the bar's background
|
|
241
|
+
* reach the edge of the viewport while its contents stay on the page's own measure.
|
|
242
|
+
*/
|
|
238
243
|
.gala-site-header {
|
|
244
|
+
position: sticky;
|
|
245
|
+
inset-block-start: 0;
|
|
246
|
+
z-index: 10;
|
|
239
247
|
display: flex;
|
|
240
248
|
align-items: center;
|
|
241
249
|
justify-content: space-between;
|
|
250
|
+
gap: var(--gala-space-md);
|
|
242
251
|
max-inline-size: var(--gala-content-width);
|
|
243
252
|
margin-inline: auto;
|
|
244
|
-
margin-block-end:
|
|
253
|
+
margin-block-end: var(--gala-space-xl);
|
|
254
|
+
padding-block: var(--gala-space-xs);
|
|
255
|
+
background: color-mix(in srgb, var(--gala-color-background) 88%, transparent);
|
|
256
|
+
backdrop-filter: blur(8px);
|
|
257
|
+
border-block-end: 1px solid var(--gala-color-hairline);
|
|
258
|
+
}
|
|
259
|
+
@supports not (backdrop-filter: blur(8px)) {
|
|
260
|
+
.gala-site-header { background: var(--gala-color-background); }
|
|
245
261
|
}
|
|
246
262
|
|
|
247
263
|
.gala-site-header__actions { display: flex; gap: 0.5rem; }
|
|
@@ -279,8 +295,16 @@ blockquote {
|
|
|
279
295
|
box-shadow: var(--gala-shadow-high);
|
|
280
296
|
}
|
|
281
297
|
.gala-dialog::backdrop { background: rgb(0 0 0 / 65%); }
|
|
282
|
-
.
|
|
283
|
-
.gala-account-dialog
|
|
298
|
+
/* Sized to what it holds. 22rem was a box for a name and one button, and it showed. */
|
|
299
|
+
.gala-account-dialog { inline-size: min(26rem, calc(100% - 2rem)); }
|
|
300
|
+
.gala-account-dialog iframe {
|
|
301
|
+
display: block;
|
|
302
|
+
inline-size: 100%;
|
|
303
|
+
min-block-size: 7rem;
|
|
304
|
+
border: 0;
|
|
305
|
+
}
|
|
306
|
+
/* The close control belongs on the same line as the title, not floated above it. */
|
|
307
|
+
.gala-dialog__close { float: inline-end; margin-inline-start: var(--gala-space-md); }
|
|
284
308
|
|
|
285
309
|
main,
|
|
286
310
|
.gala-page-footer {
|
|
@@ -372,12 +396,7 @@ button:focus-visible {
|
|
|
372
396
|
.gala-search-results h2 { margin-block-start: 0; }
|
|
373
397
|
.gala-toc { padding: 1rem; background: var(--gala-color-surface); }
|
|
374
398
|
.gala-share__fallback { inline-size: min(100%, 36rem); }
|
|
375
|
-
.gala-engagement { min-block-size: var(--gala-widget-min-block-size); }
|
|
376
|
-
.gala-engagement dl { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
|
|
377
|
-
.gala-engagement dl > div { display: grid; gap: 0.25rem; }
|
|
378
|
-
.gala-engagement dd { margin: 0; font-size: 1.25rem; font-weight: 700; }
|
|
379
399
|
.gala-engagement__placeholder { display: grid; min-block-size: var(--gala-widget-min-block-size); align-content: center; margin: 0; }
|
|
380
|
-
.gala-engagement-profile { margin-block: 1.5rem; padding: 1rem; background: var(--gala-color-surface); border-radius: var(--gala-radius-control); }
|
|
381
400
|
.gala-engagement-profile > * { margin-block: 0 0.5rem; }
|
|
382
401
|
.gala-comments { display: grid; gap: 1rem; padding-inline-start: 1.5rem; }
|
|
383
402
|
.gala-comments li { padding: 1rem; background: var(--gala-color-surface); border-radius: var(--gala-radius-control); }
|
|
@@ -387,8 +406,6 @@ button:focus-visible {
|
|
|
387
406
|
reassures rather than sells. Hidden for anyone who opened the account dialog deliberately. */
|
|
388
407
|
.gala-account-dialog__invite { margin-block: 0 1rem; max-inline-size: 34rem; }
|
|
389
408
|
.gala-account-dialog__invite[hidden] { display: none; }
|
|
390
|
-
.gala-reaction-actions,
|
|
391
|
-
.gala-comment-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
|
|
392
409
|
.gala-engagement-actions form,
|
|
393
410
|
[data-comment-editor] { display: grid; gap: 0.5rem; max-inline-size: 42rem; }
|
|
394
411
|
.gala-engagement-actions label { display: grid; gap: 0.5rem; }
|
|
@@ -522,3 +539,50 @@ button:focus-visible {
|
|
|
522
539
|
font-size: var(--gala-text-sm);
|
|
523
540
|
}
|
|
524
541
|
.gala-comments__more { margin-block-start: var(--gala-space-md); }
|
|
542
|
+
|
|
543
|
+
/* ---------------------------------------------------------------- where the article ends
|
|
544
|
+
The writing and the conversation about it are different things, and the page has to say so.
|
|
545
|
+
A footnote used to run straight into the author card with nothing between them. */
|
|
546
|
+
.gala-engagement {
|
|
547
|
+
/* Space is reserved before the counts arrive, so the page does not jump under the reader. */
|
|
548
|
+
min-block-size: var(--gala-widget-min-block-size);
|
|
549
|
+
max-inline-size: var(--gala-content-width);
|
|
550
|
+
margin-block-start: var(--gala-space-xl);
|
|
551
|
+
padding-block-start: var(--gala-space-lg);
|
|
552
|
+
border-block-start: 1px solid var(--gala-color-border);
|
|
553
|
+
}
|
|
554
|
+
.gala-engagement-profile {
|
|
555
|
+
display: flex;
|
|
556
|
+
align-items: baseline;
|
|
557
|
+
gap: var(--gala-space-sm);
|
|
558
|
+
padding: 0;
|
|
559
|
+
background: none;
|
|
560
|
+
}
|
|
561
|
+
.gala-engagement-profile h2 { font-size: var(--gala-text-lg); margin: 0; }
|
|
562
|
+
.gala-engagement-profile p { margin: 0; color: var(--gala-color-muted); font-size: var(--gala-text-sm); }
|
|
563
|
+
|
|
564
|
+
/* Counts read as data, not as three stacked paragraphs. */
|
|
565
|
+
.gala-engagement dl {
|
|
566
|
+
display: flex;
|
|
567
|
+
flex-wrap: wrap;
|
|
568
|
+
gap: var(--gala-space-lg);
|
|
569
|
+
margin-block: var(--gala-space-md);
|
|
570
|
+
}
|
|
571
|
+
.gala-engagement dl > div { display: flex; flex-direction: column-reverse; gap: 0.1rem; }
|
|
572
|
+
.gala-engagement dt {
|
|
573
|
+
font-size: var(--gala-text-xs);
|
|
574
|
+
letter-spacing: var(--gala-tracking-wide);
|
|
575
|
+
text-transform: uppercase;
|
|
576
|
+
color: var(--gala-color-muted);
|
|
577
|
+
}
|
|
578
|
+
.gala-engagement dd {
|
|
579
|
+
margin: 0;
|
|
580
|
+
font-size: var(--gala-text-lg);
|
|
581
|
+
font-variant-numeric: tabular-nums;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
.gala-reaction-actions { display: flex; flex-wrap: wrap; gap: var(--gala-space-2xs); }
|
|
585
|
+
.gala-comment-actions { display: flex; flex-wrap: wrap; gap: var(--gala-space-2xs); }
|
|
586
|
+
.gala-engagement-actions { display: grid; gap: var(--gala-space-sm); justify-items: start; }
|
|
587
|
+
.gala-engagement-actions > [data-follow-article] { inline-size: auto; }
|
|
588
|
+
.gala-share { margin-block-start: var(--gala-space-lg); }
|
package/payload/src/settings.njk
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
layout: layouts/base.njk
|
|
3
|
-
title: Settings
|
|
4
|
-
permalink: /settings/index.html
|
|
5
|
-
---
|
|
6
|
-
<h1>Reader settings</h1>
|
|
7
|
-
<section aria-labelledby="theme-setting">
|
|
8
|
-
<h2 id="theme-setting">Theme</h2>
|
|
9
|
-
<button type="button" data-theme-mode-toggle aria-label="Color mode: system. Activate for light.">Theme: system</button>
|
|
10
|
-
</section>
|
|
11
|
-
<section aria-labelledby="language-setting">
|
|
12
|
-
<h2 id="language-setting">Language preference</h2>
|
|
13
|
-
<p>Your preference highlights matching choices. The language in the page URL always controls the content.</p>
|
|
14
|
-
<label>Preferred language
|
|
15
|
-
<select data-language-preference>
|
|
16
|
-
{% for language in languages %}<option value="{{ language | escape }}">{{ language }}</option>{% endfor %}
|
|
17
|
-
</select>
|
|
18
|
-
</label>
|
|
19
|
-
</section>
|