picata 0.0.1__py3-none-any.whl
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.
- LICENSE.md +24 -0
- README.md +59 -0
- components/HelloWorld.tsx +11 -0
- entrypoint.tsx +268 -0
- manage.py +15 -0
- picata/__init__.py +1 -0
- picata/apps.py +33 -0
- picata/blocks.py +175 -0
- picata/helpers/__init__.py +70 -0
- picata/helpers/wagtail.py +61 -0
- picata/log_utils.py +47 -0
- picata/middleware.py +54 -0
- picata/migrations/0001_initial.py +264 -0
- picata/migrations/0002_alter_article_content_alter_basicpage_content.py +112 -0
- picata/migrations/0003_alter_article_content_alter_basicpage_content.py +104 -0
- picata/migrations/0004_alter_article_content_alter_basicpage_content.py +105 -0
- picata/migrations/0005_socialsettings.py +48 -0
- picata/migrations/0006_alter_article_content.py +71 -0
- picata/migrations/0007_splitviewpage.py +69 -0
- picata/migrations/0008_alter_splitviewpage_content.py +96 -0
- picata/migrations/0009_alter_splitviewpage_content.py +111 -0
- picata/migrations/0010_alter_splitviewpage_content.py +105 -0
- picata/migrations/0011_alter_splitviewpage_options_and_more.py +113 -0
- picata/migrations/0012_alter_splitviewpage_content.py +109 -0
- picata/migrations/0013_alter_article_content.py +43 -0
- picata/migrations/0014_alter_article_content_alter_article_summary.py +24 -0
- picata/migrations/0015_alter_article_options_article_tagline_and_more.py +28 -0
- picata/migrations/0016_alter_article_options_alter_articletag_options_and_more.py +33 -0
- picata/migrations/0017_articletagrelation_alter_article_tags_and_more.py +35 -0
- picata/migrations/0018_rename_articletag_pagetag_and_more.py +21 -0
- picata/migrations/0019_rename_name_plural_articletype__name_plural.py +18 -0
- picata/migrations/0020_rename__name_plural_articletype__pluralised_name.py +18 -0
- picata/migrations/0021_rename_article_type_article_page_type.py +18 -0
- picata/migrations/0022_homepage.py +28 -0
- picata/migrations/__init__.py +0 -0
- picata/models.py +486 -0
- picata/settings/__init__.py +1 -0
- picata/settings/base.py +345 -0
- picata/settings/dev.py +94 -0
- picata/settings/mypy.py +7 -0
- picata/settings/prod.py +12 -0
- picata/settings/test.py +6 -0
- picata/static/picata/ada-profile.jpg +0 -0
- picata/static/picata/ada-social-bear.jpg +0 -0
- picata/static/picata/favicon.ico +0 -0
- picata/static/picata/fonts/Bitter-Light.ttf +0 -0
- picata/static/picata/fonts/Bitter-LightItalic.ttf +0 -0
- picata/static/picata/fonts/FiraCode-Light.ttf +0 -0
- picata/static/picata/fonts/FiraCode-SemiBold.ttf +0 -0
- picata/static/picata/fonts/Sacramento-Regular.ttf +0 -0
- picata/static/picata/fonts/ZillaSlab-Bold.ttf +0 -0
- picata/static/picata/fonts/ZillaSlab-BoldItalic.ttf +0 -0
- picata/static/picata/fonts/ZillaSlab-Light.ttf +0 -0
- picata/static/picata/fonts/ZillaSlab-LightItalic.ttf +0 -0
- picata/static/picata/fonts/ZillaSlabHighlight-Bold.ttf +0 -0
- picata/static/picata/icons.svg +56 -0
- picata/templates/picata/3_column.html +28 -0
- picata/templates/picata/404.html +11 -0
- picata/templates/picata/500.html +13 -0
- picata/templates/picata/_post_list.html +24 -0
- picata/templates/picata/article.html +20 -0
- picata/templates/picata/base.html +135 -0
- picata/templates/picata/basic_page.html +10 -0
- picata/templates/picata/blocks/icon_link_item.html +7 -0
- picata/templates/picata/blocks/icon_link_list.html +4 -0
- picata/templates/picata/blocks/icon_link_list_stream.html +3 -0
- picata/templates/picata/dl_view.html +18 -0
- picata/templates/picata/home_page.html +21 -0
- picata/templates/picata/post_listing.html +17 -0
- picata/templates/picata/previews/3col.html +73 -0
- picata/templates/picata/previews/dl.html +10 -0
- picata/templates/picata/previews/split.html +10 -0
- picata/templates/picata/previews/theme_gallery.html +158 -0
- picata/templates/picata/search_results.html +28 -0
- picata/templates/picata/split_view.html +15 -0
- picata/templates/picata/tags/site_menu.html +8 -0
- picata/templatetags/__init__.py +1 -0
- picata/templatetags/absolute_static.py +15 -0
- picata/templatetags/menu_tags.py +42 -0
- picata/templatetags/stringify.py +23 -0
- picata/transformers.py +60 -0
- picata/typing/__init__.py +19 -0
- picata/typing/wagtail.py +31 -0
- picata/urls.py +48 -0
- picata/validators.py +36 -0
- picata/views.py +80 -0
- picata/wagtail_hooks.py +43 -0
- picata/wsgi.py +15 -0
- picata-0.0.1.dist-info/METADATA +87 -0
- picata-0.0.1.dist-info/RECORD +94 -0
- picata-0.0.1.dist-info/WHEEL +4 -0
- picata-0.0.1.dist-info/licenses/LICENSE.md +24 -0
- pygments.sass +382 -0
- styles.sass +300 -0
pygments.sass
ADDED
@@ -0,0 +1,382 @@
|
|
1
|
+
// Styles from https://pygments.org/styles/
|
2
|
+
|
3
|
+
// Taken from 'lightbulb'
|
4
|
+
[data-theme-mode="dark"]
|
5
|
+
div.pygments
|
6
|
+
pre
|
7
|
+
line-height: 125%
|
8
|
+
td
|
9
|
+
&.linenos
|
10
|
+
.normal
|
11
|
+
color: #3c4354
|
12
|
+
background-color: transparent
|
13
|
+
padding-left: 5px
|
14
|
+
padding-right: 5px
|
15
|
+
.special
|
16
|
+
color: #3c4354
|
17
|
+
background-color: #ffffc0
|
18
|
+
padding-left: 5px
|
19
|
+
padding-right: 5px
|
20
|
+
span
|
21
|
+
&.linenos
|
22
|
+
color: #3c4354
|
23
|
+
background-color: transparent
|
24
|
+
padding-left: 5px
|
25
|
+
padding-right: 5px
|
26
|
+
&.special
|
27
|
+
color: #3c4354
|
28
|
+
background-color: #ffffc0
|
29
|
+
padding-left: 5px
|
30
|
+
padding-right: 5px
|
31
|
+
.hll
|
32
|
+
background-color: #6e7681
|
33
|
+
.c
|
34
|
+
color: #8796af
|
35
|
+
.err
|
36
|
+
color: #f88f7f
|
37
|
+
.esc
|
38
|
+
color: #d4d2c8
|
39
|
+
.g
|
40
|
+
color: #d4d2c8
|
41
|
+
.k
|
42
|
+
color: #FFAD66
|
43
|
+
.l
|
44
|
+
color: #D5FF80
|
45
|
+
.n
|
46
|
+
color: #d4d2c8
|
47
|
+
.o
|
48
|
+
color: #FFAD66
|
49
|
+
.x
|
50
|
+
color: #d4d2c8
|
51
|
+
.p
|
52
|
+
color: #d4d2c8
|
53
|
+
.ch
|
54
|
+
color: #f88f7f
|
55
|
+
font-style: italic
|
56
|
+
.cm
|
57
|
+
color: #8796af
|
58
|
+
.cp
|
59
|
+
color: #FFAD66
|
60
|
+
font-weight: bold
|
61
|
+
.cpf
|
62
|
+
color: #8796af
|
63
|
+
.c1
|
64
|
+
color: #8796af
|
65
|
+
.cs
|
66
|
+
color: #8796af
|
67
|
+
font-style: italic
|
68
|
+
.gd
|
69
|
+
color: #f88f7f
|
70
|
+
background-color: #3d1e20
|
71
|
+
.ge
|
72
|
+
color: #d4d2c8
|
73
|
+
font-style: italic
|
74
|
+
.ges
|
75
|
+
color: #d4d2c8
|
76
|
+
.gr
|
77
|
+
color: #f88f7f
|
78
|
+
.gh
|
79
|
+
color: #d4d2c8
|
80
|
+
.gi
|
81
|
+
color: #6ad4af
|
82
|
+
background-color: #19362c
|
83
|
+
.go
|
84
|
+
color: #8796af
|
85
|
+
.gp
|
86
|
+
color: #d4d2c8
|
87
|
+
.gs
|
88
|
+
color: #d4d2c8
|
89
|
+
font-weight: bold
|
90
|
+
.gu
|
91
|
+
color: #d4d2c8
|
92
|
+
.gt
|
93
|
+
color: #f88f7f
|
94
|
+
.kc
|
95
|
+
color: #FFAD66
|
96
|
+
.kd
|
97
|
+
color: #FFAD66
|
98
|
+
.kn
|
99
|
+
color: #FFAD66
|
100
|
+
.kp
|
101
|
+
color: #FFAD66
|
102
|
+
.kr
|
103
|
+
color: #FFAD66
|
104
|
+
.kt
|
105
|
+
color: #73D0FF
|
106
|
+
.ld
|
107
|
+
color: #D5FF80
|
108
|
+
.m
|
109
|
+
color: #DFBFFF
|
110
|
+
.s
|
111
|
+
color: #D5FF80
|
112
|
+
.na
|
113
|
+
color: #FFD173
|
114
|
+
.nb
|
115
|
+
color: #FFD173
|
116
|
+
.nc
|
117
|
+
color: #73D0FF
|
118
|
+
.no
|
119
|
+
color: #FFD173
|
120
|
+
.nd
|
121
|
+
color: #8796af
|
122
|
+
font-weight: bold
|
123
|
+
font-style: italic
|
124
|
+
.ni
|
125
|
+
color: #95E6CB
|
126
|
+
.ne
|
127
|
+
color: #73D0FF
|
128
|
+
.nf
|
129
|
+
color: #FFD173
|
130
|
+
.nl
|
131
|
+
color: #d4d2c8
|
132
|
+
.nn
|
133
|
+
color: #d4d2c8
|
134
|
+
.nx
|
135
|
+
color: #d4d2c8
|
136
|
+
.py
|
137
|
+
color: #FFD173
|
138
|
+
.nt
|
139
|
+
color: #5CCFE6
|
140
|
+
.nv
|
141
|
+
color: #d4d2c8
|
142
|
+
.ow
|
143
|
+
color: #FFAD66
|
144
|
+
.pm
|
145
|
+
color: #d4d2c8
|
146
|
+
.w
|
147
|
+
color: #d4d2c8
|
148
|
+
.mb
|
149
|
+
color: #DFBFFF
|
150
|
+
.mf
|
151
|
+
color: #DFBFFF
|
152
|
+
.mh
|
153
|
+
color: #DFBFFF
|
154
|
+
.mi
|
155
|
+
color: #DFBFFF
|
156
|
+
.mo
|
157
|
+
color: #DFBFFF
|
158
|
+
.sa
|
159
|
+
color: #F29E74
|
160
|
+
.sb
|
161
|
+
color: #D5FF80
|
162
|
+
.sc
|
163
|
+
color: #D5FF80
|
164
|
+
.dl
|
165
|
+
color: #D5FF80
|
166
|
+
.sd
|
167
|
+
color: #8796af
|
168
|
+
.s2
|
169
|
+
color: #D5FF80
|
170
|
+
.se
|
171
|
+
color: #95E6CB
|
172
|
+
.sh
|
173
|
+
color: #D5FF80
|
174
|
+
.si
|
175
|
+
color: #95E6CB
|
176
|
+
.sx
|
177
|
+
color: #95E6CB
|
178
|
+
.sr
|
179
|
+
color: #95E6CB
|
180
|
+
.s1
|
181
|
+
color: #D5FF80
|
182
|
+
.ss
|
183
|
+
color: #DFBFFF
|
184
|
+
.bp
|
185
|
+
color: #5CCFE6
|
186
|
+
.fm
|
187
|
+
color: #FFD173
|
188
|
+
.vc
|
189
|
+
color: #d4d2c8
|
190
|
+
.vg
|
191
|
+
color: #d4d2c8
|
192
|
+
.vi
|
193
|
+
color: #d4d2c8
|
194
|
+
.vm
|
195
|
+
color: #d4d2c8
|
196
|
+
.il
|
197
|
+
color: #DFBFFF
|
198
|
+
|
199
|
+
|
200
|
+
// Taken from 'lovelace' (because I couldn't resist…)
|
201
|
+
[data-theme-mode="light"]
|
202
|
+
div.pygments
|
203
|
+
pre
|
204
|
+
line-height: 125%
|
205
|
+
td
|
206
|
+
&.linenos
|
207
|
+
.normal
|
208
|
+
color: inherit
|
209
|
+
background-color: transparent
|
210
|
+
padding-left: 5px
|
211
|
+
padding-right: 5px
|
212
|
+
.special
|
213
|
+
color: #000000
|
214
|
+
background-color: #ffffc0
|
215
|
+
padding-left: 5px
|
216
|
+
padding-right: 5px
|
217
|
+
span
|
218
|
+
&.linenos
|
219
|
+
color: inherit
|
220
|
+
background-color: transparent
|
221
|
+
padding-left: 5px
|
222
|
+
padding-right: 5px
|
223
|
+
&.special
|
224
|
+
color: #000000
|
225
|
+
background-color: #ffffc0
|
226
|
+
padding-left: 5px
|
227
|
+
padding-right: 5px
|
228
|
+
.hll
|
229
|
+
background-color: #ffffcc
|
230
|
+
.c
|
231
|
+
color: #565656
|
232
|
+
font-style: italic
|
233
|
+
.err
|
234
|
+
background-color: #a848a8
|
235
|
+
.k
|
236
|
+
color: #2838b0
|
237
|
+
.o
|
238
|
+
color: #666666
|
239
|
+
.p
|
240
|
+
color: #565656
|
241
|
+
.ch
|
242
|
+
color: #287088
|
243
|
+
font-style: italic
|
244
|
+
.cm
|
245
|
+
color: #565656
|
246
|
+
font-style: italic
|
247
|
+
.cp
|
248
|
+
color: #289870
|
249
|
+
.cpf
|
250
|
+
color: #565656
|
251
|
+
font-style: italic
|
252
|
+
.c1
|
253
|
+
color: #565656
|
254
|
+
font-style: italic
|
255
|
+
.cs
|
256
|
+
color: #565656
|
257
|
+
font-style: italic
|
258
|
+
.gd
|
259
|
+
color: #c02828
|
260
|
+
.ge
|
261
|
+
font-style: italic
|
262
|
+
.ges
|
263
|
+
font-weight: bold
|
264
|
+
font-style: italic
|
265
|
+
.gr
|
266
|
+
color: #c02828
|
267
|
+
.gh
|
268
|
+
color: #666666
|
269
|
+
.gi
|
270
|
+
color: #388038
|
271
|
+
.go
|
272
|
+
color: #555555
|
273
|
+
.gp
|
274
|
+
color: #333333
|
275
|
+
.gs
|
276
|
+
font-weight: bold
|
277
|
+
.gu
|
278
|
+
color: #333333
|
279
|
+
.gt
|
280
|
+
color: #2838b0
|
281
|
+
.kc
|
282
|
+
color: #333333
|
283
|
+
font-style: italic
|
284
|
+
.kd
|
285
|
+
color: #2838b0
|
286
|
+
font-style: italic
|
287
|
+
.kn
|
288
|
+
color: #2838b0
|
289
|
+
.kp
|
290
|
+
color: #2838b0
|
291
|
+
.kr
|
292
|
+
color: #2838b0
|
293
|
+
.kt
|
294
|
+
color: #2838b0
|
295
|
+
font-style: italic
|
296
|
+
.m
|
297
|
+
color: #333333
|
298
|
+
.s
|
299
|
+
color: #b83838
|
300
|
+
.na
|
301
|
+
color: #388038
|
302
|
+
.nb
|
303
|
+
color: #388038
|
304
|
+
.nc
|
305
|
+
color: #287088
|
306
|
+
.no
|
307
|
+
color: #b85820
|
308
|
+
.nd
|
309
|
+
color: #287088
|
310
|
+
.ni
|
311
|
+
color: #709030
|
312
|
+
.ne
|
313
|
+
color: #908828
|
314
|
+
.nf
|
315
|
+
color: #785840
|
316
|
+
.nl
|
317
|
+
color: #289870
|
318
|
+
.nn
|
319
|
+
color: #289870
|
320
|
+
.nt
|
321
|
+
color: #2838b0
|
322
|
+
.nv
|
323
|
+
color: #b04040
|
324
|
+
.ow
|
325
|
+
color: #a848a8
|
326
|
+
.pm
|
327
|
+
color: #555555
|
328
|
+
.w
|
329
|
+
color: #a89028
|
330
|
+
.mb
|
331
|
+
color: #444444
|
332
|
+
.mf
|
333
|
+
color: #444444
|
334
|
+
.mh
|
335
|
+
color: #444444
|
336
|
+
.mi
|
337
|
+
color: #444444
|
338
|
+
.mo
|
339
|
+
color: #444444
|
340
|
+
.sa
|
341
|
+
color: #444444
|
342
|
+
.sb
|
343
|
+
color: #b83838
|
344
|
+
.sc
|
345
|
+
color: #a848a8
|
346
|
+
.dl
|
347
|
+
color: #b85820
|
348
|
+
.sd
|
349
|
+
color: #b85820
|
350
|
+
font-style: italic
|
351
|
+
.s2
|
352
|
+
color: #b83838
|
353
|
+
.se
|
354
|
+
color: #709030
|
355
|
+
.sh
|
356
|
+
color: #b83838
|
357
|
+
.si
|
358
|
+
color: #b83838
|
359
|
+
text-decoration: underline
|
360
|
+
.sx
|
361
|
+
color: #a848a8
|
362
|
+
.sr
|
363
|
+
color: #a848a8
|
364
|
+
.s1
|
365
|
+
color: #b83838
|
366
|
+
.ss
|
367
|
+
color: #b83838
|
368
|
+
.bp
|
369
|
+
color: #388038
|
370
|
+
font-style: italic
|
371
|
+
.fm
|
372
|
+
color: #b85820
|
373
|
+
.vc
|
374
|
+
color: #b04040
|
375
|
+
.vg
|
376
|
+
color: #908828
|
377
|
+
.vi
|
378
|
+
color: #b04040
|
379
|
+
.vm
|
380
|
+
color: #b85820
|
381
|
+
.il
|
382
|
+
color: #444444
|
styles.sass
ADDED
@@ -0,0 +1,300 @@
|
|
1
|
+
@use "tailwindcss/base"
|
2
|
+
@use "tailwindcss/components"
|
3
|
+
@use "tailwindcss/utilities"
|
4
|
+
|
5
|
+
// Pygments styles for syntax highlighting
|
6
|
+
@use "pygments.sass"
|
7
|
+
|
8
|
+
// Base typography
|
9
|
+
@layer base
|
10
|
+
body
|
11
|
+
@apply text-base font-serif font-light
|
12
|
+
h1, h2, h3, h4, h5, h6
|
13
|
+
@apply font-heading font-normal
|
14
|
+
&:not(:first-child)
|
15
|
+
@apply mt-8
|
16
|
+
h1
|
17
|
+
@apply text-3xl leading-tight
|
18
|
+
h2
|
19
|
+
@apply text-2xl leading-tight
|
20
|
+
h3
|
21
|
+
@apply text-xl leading-snug
|
22
|
+
h4
|
23
|
+
@apply text-lg leading-normal
|
24
|
+
h5
|
25
|
+
@apply text-base leading-relaxed
|
26
|
+
h6
|
27
|
+
@apply text-sm leading-relaxed
|
28
|
+
strong, b
|
29
|
+
@apply font-serif font-bold
|
30
|
+
code, pre
|
31
|
+
@apply font-mono font-light
|
32
|
+
&.strong
|
33
|
+
@apply font-semibold
|
34
|
+
.highlight
|
35
|
+
@apply font-highlight font-bold
|
36
|
+
|
37
|
+
|
38
|
+
// Main page layout
|
39
|
+
html
|
40
|
+
scroll-behavior: smooth
|
41
|
+
|
42
|
+
p, ul
|
43
|
+
@apply my-4
|
44
|
+
|
45
|
+
body
|
46
|
+
@apply flex flex-col min-h-screen bg-base-100
|
47
|
+
> header
|
48
|
+
z-index: 30
|
49
|
+
@apply bg-base-300 pt-5 pb-4 ml-neg-safe-left mr-neg-safe-right shadow-lg
|
50
|
+
> div
|
51
|
+
@apply flex flex-col flex-1 px-7 w-full sm:max-w-sm md:max-w-md lg:max-w-lg xl:max-w-xl 2xl:max-w-2xl mx-auto
|
52
|
+
|
53
|
+
#top-bar
|
54
|
+
@apply flex justify-end
|
55
|
+
&.debug
|
56
|
+
@apply justify-between
|
57
|
+
#debug-container
|
58
|
+
@apply flex justify-between
|
59
|
+
> div
|
60
|
+
@apply absolute -mt-2 px-2 items-center justify-center text-xs font-bold text-white rounded
|
61
|
+
|
62
|
+
#search-wrapper
|
63
|
+
@apply flex mr-2
|
64
|
+
> #search-toggle
|
65
|
+
@apply btn-neutral btn btn-sm !rounded-l-full
|
66
|
+
form > #search-field
|
67
|
+
@apply transition-all duration-300 ease-in-out placeholder-gray-400
|
68
|
+
@apply border border-gray-300 focus:border-primary focus:ring focus:ring-primary/50
|
69
|
+
@apply rounded-r-full text-primary-content px-2
|
70
|
+
&:focus
|
71
|
+
@apply outline-none
|
72
|
+
&.search-hidden
|
73
|
+
@apply w-0 opacity-0 px-0
|
74
|
+
.search-visible
|
75
|
+
@apply w-48 opacity-100
|
76
|
+
|
77
|
+
#theme-wrapper
|
78
|
+
@apply flex indicator
|
79
|
+
button
|
80
|
+
@apply btn-neutral
|
81
|
+
> svg
|
82
|
+
@apply size-5
|
83
|
+
> #theme-reset
|
84
|
+
@apply group-hover:opacity-100 indicator-item
|
85
|
+
@apply transition scale-50 pl-4 pb-1 bg-transparent
|
86
|
+
> svg
|
87
|
+
@apply size-6
|
88
|
+
|
89
|
+
#menu-block
|
90
|
+
@apply flex flex-wrap items-end pt-3 sm:pt-0
|
91
|
+
.profile
|
92
|
+
@apply flex items-end
|
93
|
+
> img
|
94
|
+
@apply w-24 h-24 rounded-full ring-2 ring-profile-ring mr-6
|
95
|
+
> h1
|
96
|
+
@apply flex flex-col text-2xl font-bold leading-tight
|
97
|
+
> .name
|
98
|
+
font-family: 'Sacramento', cursive
|
99
|
+
font-weight: 400 // Regular weight for Sacramento
|
100
|
+
font-size: 2.5rem
|
101
|
+
> .tagline
|
102
|
+
@apply text-lg font-normal text-base-content -mt-3 mb-0.5
|
103
|
+
nav
|
104
|
+
@apply flex flex-wrap justify-center grow pt-4
|
105
|
+
a
|
106
|
+
@apply btn btn-ghost px-4 h-8 min-h-8
|
107
|
+
font-size: 1.125rem
|
108
|
+
|
109
|
+
body
|
110
|
+
@apply min-h-screen
|
111
|
+
> main
|
112
|
+
@apply bg-base-200 pt-10 pb-6 w-full mx-auto px-7 flex flex-grow sm:max-w-sm md:max-w-md lg:max-w-lg xl:max-w-xl 2xl:max-w-2xl
|
113
|
+
> article
|
114
|
+
@apply max-w-full
|
115
|
+
|
116
|
+
// Big, single, flat 'ol page template
|
117
|
+
&.one-column
|
118
|
+
> article
|
119
|
+
@apply mx-auto
|
120
|
+
|
121
|
+
// Main takes a series of `div`s, which each take up half the page at a time at 'sm' width
|
122
|
+
// and above. All content is centre-justified.
|
123
|
+
&.split-view
|
124
|
+
@apply flex flex-wrap items-start gap-x-12 gap-y-4 relative flex-col sm:flex-row
|
125
|
+
> div
|
126
|
+
@apply w-full sm:flex-[0_0_calc(50%-1.5rem)] flex flex-col justify-start sm:justify-center text-center
|
127
|
+
> *
|
128
|
+
@apply mx-auto
|
129
|
+
&:before
|
130
|
+
@apply hidden sm:block bg-base-100
|
131
|
+
content: ""
|
132
|
+
position: absolute
|
133
|
+
top: 0
|
134
|
+
bottom: 0
|
135
|
+
left: calc(50% - 1px)
|
136
|
+
width: 2px
|
137
|
+
|
138
|
+
// Main takes a `dl`, alternates a 25%-width left column of `dt`s with
|
139
|
+
// 75%-width `dd`s, and there's a 2px vertical line down the gap between 'em
|
140
|
+
&.definition-list
|
141
|
+
@apply flex flex-col sm:flex-row relative
|
142
|
+
dl
|
143
|
+
@apply flex flex-wrap w-full self-start
|
144
|
+
dt
|
145
|
+
@apply sm:flex-none sm:w-1/4 text-right sm:pr-8
|
146
|
+
dd
|
147
|
+
@apply sm:flex-none sm:w-3/4 text-left sm:pl-2
|
148
|
+
&:before
|
149
|
+
@apply hidden sm:block bg-base-100
|
150
|
+
content: ""
|
151
|
+
position: absolute
|
152
|
+
top: 0
|
153
|
+
bottom: 0
|
154
|
+
left: 25%
|
155
|
+
width: 2px
|
156
|
+
@media (max-width: 640px)
|
157
|
+
&:before
|
158
|
+
display: none
|
159
|
+
|
160
|
+
// - At 'large' and above, the `aside` covers 25% width, leaving 50% for
|
161
|
+
// the `article`, before the `nav takes the remaining 25%
|
162
|
+
// - On 'small' and 'medium' screens, the `aside` lives above the `nav` in
|
163
|
+
// a 25%-width left column leaving the remaining 75% for the `article`
|
164
|
+
// - For 'extra-small' (and smaller) views, the `nav`, `article`, and `aside`
|
165
|
+
// collapse into a single column, in that order
|
166
|
+
&.three-column
|
167
|
+
@apply grid grid-cols-1 sm:grid-cols-4 lg:grid-cols-12 gap-7 sm:grid-rows-[auto_minmax(0,1fr)] lg:auto-rows-min
|
168
|
+
> aside
|
169
|
+
@apply order-3 sm:order-1 sm:col-span-1 lg:col-span-3 lg:row-start-1 self-start
|
170
|
+
> nav
|
171
|
+
@apply order-1 sm:order-3 sm:col-span-1 sm:row-start-2 lg:col-span-3 lg:col-start-10 lg:row-start-1 self-start
|
172
|
+
> article
|
173
|
+
@apply order-2 sm:order-2 sm:col-span-3 lg:col-span-6 lg:col-start-4 lg:col-end-10 sm:row-span-2 lg:row-span-1
|
174
|
+
|
175
|
+
> footer
|
176
|
+
@apply bg-base-300 pt-5 pb-5 ml-neg-safe-left mr-neg-safe-right
|
177
|
+
z-index: 30
|
178
|
+
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 -4px 6px -1px rgb(0 0 0 / 0.1), 0 -2px 4px -2px rgb(0 0 0 / 0.1)
|
179
|
+
> div
|
180
|
+
@apply flex flex-col flex-1 px-7 w-full sm:max-w-sm md:max-w-md lg:max-w-lg xl:max-w-xl 2xl:max-w-2xl mx-auto
|
181
|
+
|
182
|
+
// Element styles
|
183
|
+
a
|
184
|
+
@apply transition-colors duration-150 underline
|
185
|
+
&:focus
|
186
|
+
@apply underline outline-none ring-1 ring-offset-1
|
187
|
+
&:not(:visited)
|
188
|
+
@apply text-primary decoration-primary/0
|
189
|
+
&:hover
|
190
|
+
@apply text-primary/75 decoration-primary/75
|
191
|
+
&:visited
|
192
|
+
@apply text-secondary decoration-secondary/0
|
193
|
+
&:hover
|
194
|
+
@apply text-primary/75 decoration-primary/75
|
195
|
+
|
196
|
+
h1, h2, h3, h4, h5, h6
|
197
|
+
@apply scroll-mt-8
|
198
|
+
a.target-link
|
199
|
+
@apply ml-3 opacity-0 text-neutral-500 font-mono transition-opacity ease-in-out text-sm align-middle
|
200
|
+
&:hover, &:focus
|
201
|
+
@apply no-underline
|
202
|
+
&:hover
|
203
|
+
a.target-link
|
204
|
+
@apply opacity-100
|
205
|
+
|
206
|
+
|
207
|
+
[data-theme="fl"] .btn-active
|
208
|
+
--btn-neutral-shadow: color-mix(in srgb, color-mix(in srgb, oklch(var(--n)) 80%, black 20%), transparent 40%)
|
209
|
+
|
210
|
+
[data-theme="ad"] .btn-active
|
211
|
+
--btn-neutral-shadow: color-mix(in srgb, color-mix(in srgb, oklch(var(--n)) 80%, white 20%), transparent 60%)
|
212
|
+
|
213
|
+
.btn-active
|
214
|
+
@apply shadow-md transition-shadow
|
215
|
+
box-shadow: 0px 0px 3px 2px var(--btn-neutral-shadow, rgba(0, 0, 0, 0.2))
|
216
|
+
|
217
|
+
.pill-button-divider
|
218
|
+
@apply h-full w-0.5
|
219
|
+
background-color: calc(oklch(var(--n)) * 0.8)
|
220
|
+
|
221
|
+
div.pygments
|
222
|
+
@apply relative overflow-hidden rounded-lg
|
223
|
+
> pre
|
224
|
+
@apply overflow-x-auto max-w-full bg-base-300 px-5 py-6
|
225
|
+
font-size: 0.92rem
|
226
|
+
span
|
227
|
+
line-height: 1.47
|
228
|
+
|
229
|
+
@layer utilities
|
230
|
+
.shadow-fade-right
|
231
|
+
@apply relative overflow-x-auto
|
232
|
+
&::after
|
233
|
+
content: ""
|
234
|
+
@apply absolute top-0 right-0 bottom-0 w-6
|
235
|
+
width: 3.5rem
|
236
|
+
pointer-events: none
|
237
|
+
[data-theme-mode="dark"] .shadow-fade-right
|
238
|
+
&::after
|
239
|
+
background: linear-gradient(to left, color-mix(in srgb, oklch(var(--b3)), transparent 33%), transparent)
|
240
|
+
[data-theme-mode="light"] .shadow-fade-right
|
241
|
+
&::after
|
242
|
+
background: linear-gradient(to left, color-mix(in srgb, oklch(var(--b3)), rgb(0 0 0 / 0.17)), transparent)
|
243
|
+
|
244
|
+
|
245
|
+
// Template styles
|
246
|
+
main.post-list
|
247
|
+
.meta-data
|
248
|
+
@apply text-xs pt-6
|
249
|
+
h2
|
250
|
+
@apply font-cursive
|
251
|
+
span
|
252
|
+
@apply whitespace-nowrap
|
253
|
+
.preview
|
254
|
+
@apply pt-5
|
255
|
+
h3
|
256
|
+
@apply text-2xl
|
257
|
+
dd.title
|
258
|
+
@apply pb-4
|
259
|
+
|
260
|
+
main.article
|
261
|
+
aside
|
262
|
+
.tagline
|
263
|
+
@apply hidden sm:block text-center
|
264
|
+
hr
|
265
|
+
@apply border-neutral-500 mt-6 mb-7
|
266
|
+
// @apply leading-none
|
267
|
+
span
|
268
|
+
@apply whitespace-nowrap
|
269
|
+
article > h1
|
270
|
+
@apply mb-4
|
271
|
+
|
272
|
+
main.search-results
|
273
|
+
h1 + h2
|
274
|
+
@apply mt-0
|
275
|
+
|
276
|
+
nav
|
277
|
+
@apply relative
|
278
|
+
|
279
|
+
.toc
|
280
|
+
@apply bg-base-300 rounded-lg shadow-md p-4 sticky flex flex-col items-start top-0
|
281
|
+
ul
|
282
|
+
@apply list-none pl-2 m-0
|
283
|
+
> ul
|
284
|
+
@apply pl-0
|
285
|
+
li
|
286
|
+
@apply text-sm text-neutral-600 hover:text-neutral-800 mt-3 leading-tight
|
287
|
+
a
|
288
|
+
@apply no-underline
|
289
|
+
|
290
|
+
|
291
|
+
// Block styles
|
292
|
+
ul.icon-link-list
|
293
|
+
@apply flex flex-wrap justify-center list-none gap-x-6 gap-y-4
|
294
|
+
> li
|
295
|
+
@apply flex items-center
|
296
|
+
> a
|
297
|
+
@apply flex items-center
|
298
|
+
svg
|
299
|
+
@apply w-4 h-4 fill-current align-middle mr-2
|
300
|
+
margin-bottom: -1px
|