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.
Files changed (94) hide show
  1. LICENSE.md +24 -0
  2. README.md +59 -0
  3. components/HelloWorld.tsx +11 -0
  4. entrypoint.tsx +268 -0
  5. manage.py +15 -0
  6. picata/__init__.py +1 -0
  7. picata/apps.py +33 -0
  8. picata/blocks.py +175 -0
  9. picata/helpers/__init__.py +70 -0
  10. picata/helpers/wagtail.py +61 -0
  11. picata/log_utils.py +47 -0
  12. picata/middleware.py +54 -0
  13. picata/migrations/0001_initial.py +264 -0
  14. picata/migrations/0002_alter_article_content_alter_basicpage_content.py +112 -0
  15. picata/migrations/0003_alter_article_content_alter_basicpage_content.py +104 -0
  16. picata/migrations/0004_alter_article_content_alter_basicpage_content.py +105 -0
  17. picata/migrations/0005_socialsettings.py +48 -0
  18. picata/migrations/0006_alter_article_content.py +71 -0
  19. picata/migrations/0007_splitviewpage.py +69 -0
  20. picata/migrations/0008_alter_splitviewpage_content.py +96 -0
  21. picata/migrations/0009_alter_splitviewpage_content.py +111 -0
  22. picata/migrations/0010_alter_splitviewpage_content.py +105 -0
  23. picata/migrations/0011_alter_splitviewpage_options_and_more.py +113 -0
  24. picata/migrations/0012_alter_splitviewpage_content.py +109 -0
  25. picata/migrations/0013_alter_article_content.py +43 -0
  26. picata/migrations/0014_alter_article_content_alter_article_summary.py +24 -0
  27. picata/migrations/0015_alter_article_options_article_tagline_and_more.py +28 -0
  28. picata/migrations/0016_alter_article_options_alter_articletag_options_and_more.py +33 -0
  29. picata/migrations/0017_articletagrelation_alter_article_tags_and_more.py +35 -0
  30. picata/migrations/0018_rename_articletag_pagetag_and_more.py +21 -0
  31. picata/migrations/0019_rename_name_plural_articletype__name_plural.py +18 -0
  32. picata/migrations/0020_rename__name_plural_articletype__pluralised_name.py +18 -0
  33. picata/migrations/0021_rename_article_type_article_page_type.py +18 -0
  34. picata/migrations/0022_homepage.py +28 -0
  35. picata/migrations/__init__.py +0 -0
  36. picata/models.py +486 -0
  37. picata/settings/__init__.py +1 -0
  38. picata/settings/base.py +345 -0
  39. picata/settings/dev.py +94 -0
  40. picata/settings/mypy.py +7 -0
  41. picata/settings/prod.py +12 -0
  42. picata/settings/test.py +6 -0
  43. picata/static/picata/ada-profile.jpg +0 -0
  44. picata/static/picata/ada-social-bear.jpg +0 -0
  45. picata/static/picata/favicon.ico +0 -0
  46. picata/static/picata/fonts/Bitter-Light.ttf +0 -0
  47. picata/static/picata/fonts/Bitter-LightItalic.ttf +0 -0
  48. picata/static/picata/fonts/FiraCode-Light.ttf +0 -0
  49. picata/static/picata/fonts/FiraCode-SemiBold.ttf +0 -0
  50. picata/static/picata/fonts/Sacramento-Regular.ttf +0 -0
  51. picata/static/picata/fonts/ZillaSlab-Bold.ttf +0 -0
  52. picata/static/picata/fonts/ZillaSlab-BoldItalic.ttf +0 -0
  53. picata/static/picata/fonts/ZillaSlab-Light.ttf +0 -0
  54. picata/static/picata/fonts/ZillaSlab-LightItalic.ttf +0 -0
  55. picata/static/picata/fonts/ZillaSlabHighlight-Bold.ttf +0 -0
  56. picata/static/picata/icons.svg +56 -0
  57. picata/templates/picata/3_column.html +28 -0
  58. picata/templates/picata/404.html +11 -0
  59. picata/templates/picata/500.html +13 -0
  60. picata/templates/picata/_post_list.html +24 -0
  61. picata/templates/picata/article.html +20 -0
  62. picata/templates/picata/base.html +135 -0
  63. picata/templates/picata/basic_page.html +10 -0
  64. picata/templates/picata/blocks/icon_link_item.html +7 -0
  65. picata/templates/picata/blocks/icon_link_list.html +4 -0
  66. picata/templates/picata/blocks/icon_link_list_stream.html +3 -0
  67. picata/templates/picata/dl_view.html +18 -0
  68. picata/templates/picata/home_page.html +21 -0
  69. picata/templates/picata/post_listing.html +17 -0
  70. picata/templates/picata/previews/3col.html +73 -0
  71. picata/templates/picata/previews/dl.html +10 -0
  72. picata/templates/picata/previews/split.html +10 -0
  73. picata/templates/picata/previews/theme_gallery.html +158 -0
  74. picata/templates/picata/search_results.html +28 -0
  75. picata/templates/picata/split_view.html +15 -0
  76. picata/templates/picata/tags/site_menu.html +8 -0
  77. picata/templatetags/__init__.py +1 -0
  78. picata/templatetags/absolute_static.py +15 -0
  79. picata/templatetags/menu_tags.py +42 -0
  80. picata/templatetags/stringify.py +23 -0
  81. picata/transformers.py +60 -0
  82. picata/typing/__init__.py +19 -0
  83. picata/typing/wagtail.py +31 -0
  84. picata/urls.py +48 -0
  85. picata/validators.py +36 -0
  86. picata/views.py +80 -0
  87. picata/wagtail_hooks.py +43 -0
  88. picata/wsgi.py +15 -0
  89. picata-0.0.1.dist-info/METADATA +87 -0
  90. picata-0.0.1.dist-info/RECORD +94 -0
  91. picata-0.0.1.dist-info/WHEEL +4 -0
  92. picata-0.0.1.dist-info/licenses/LICENSE.md +24 -0
  93. pygments.sass +382 -0
  94. 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