picata 0.0.1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- 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
|