slidev-theme-neversink 0.0.0

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 (147) hide show
  1. package/.github/workflows/deploy.yml +67 -0
  2. package/.prettierrc +15 -0
  3. package/.vscode/settings.json +4 -0
  4. package/LICENSE +21 -0
  5. package/README.md +112 -0
  6. package/assets/nyu_long_black_on_white.svg +41 -0
  7. package/components/Admonition.vue +80 -0
  8. package/components/AdmonitionType.vue +56 -0
  9. package/components/CreditScroll.vue +94 -0
  10. package/components/SpeechBubble.vue +294 -0
  11. package/components/StickyNote.vue +71 -0
  12. package/components/vue3-kawaii/README.md +5 -0
  13. package/components/vue3-kawaii/components/backpack/BackPack.vue +123 -0
  14. package/components/vue3-kawaii/components/backpack/backpackpaths.js +17 -0
  15. package/components/vue3-kawaii/components/browser/Browser.vue +56 -0
  16. package/components/vue3-kawaii/components/browser/browserpaths.js +9 -0
  17. package/components/vue3-kawaii/components/cat/Cat.vue +89 -0
  18. package/components/vue3-kawaii/components/cat/catpaths.js +8 -0
  19. package/components/vue3-kawaii/components/common/face/Face.vue +95 -0
  20. package/components/vue3-kawaii/components/common/face/facepaths.js +24 -0
  21. package/components/vue3-kawaii/components/common/wrapper/Wrapper.vue +24 -0
  22. package/components/vue3-kawaii/components/creditCard/CreditCard.vue +47 -0
  23. package/components/vue3-kawaii/components/creditCard/creditcardpaths.js +8 -0
  24. package/components/vue3-kawaii/components/ghost/Ghost.vue +48 -0
  25. package/components/vue3-kawaii/components/ghost/ghostpaths.js +8 -0
  26. package/components/vue3-kawaii/components/iceCream/IceCream.vue +49 -0
  27. package/components/vue3-kawaii/components/iceCream/icecreampaths.js +9 -0
  28. package/components/vue3-kawaii/components/mug/Mug.vue +48 -0
  29. package/components/vue3-kawaii/components/mug/mugpaths.js +7 -0
  30. package/components/vue3-kawaii/components/planet/Planet.vue +58 -0
  31. package/components/vue3-kawaii/components/planet/planetpaths.js +7 -0
  32. package/components/vue3-kawaii/components/speechBubble/SpeechBubbleGuy.vue +63 -0
  33. package/components/vue3-kawaii/components/speechBubble/speechbubblepaths.js +8 -0
  34. package/components/vue3-kawaii/utils/getUniqueId.js +10 -0
  35. package/docs/.vitepress/config.js +75 -0
  36. package/docs/.vitepress/theme/index.js +50 -0
  37. package/docs/.vitepress/theme/style.css +145 -0
  38. package/docs/api-examples.md +49 -0
  39. package/docs/branding.md +43 -0
  40. package/docs/colors.md +108 -0
  41. package/docs/components/admonitions.md +106 -0
  42. package/docs/components/creditscroll.md +1 -0
  43. package/docs/components/kawaii.md +26 -0
  44. package/docs/components/qrcode.md +24 -0
  45. package/docs/components/speechbubble.md +69 -0
  46. package/docs/components/stickynote.md +54 -0
  47. package/docs/components.md +19 -0
  48. package/docs/contributing.md +5 -0
  49. package/docs/customizing.md +38 -0
  50. package/docs/getting-started.md +32 -0
  51. package/docs/index.md +19 -0
  52. package/docs/layouts/cover.md +69 -0
  53. package/docs/layouts/credits.md +111 -0
  54. package/docs/layouts/default.md +88 -0
  55. package/docs/layouts/full.md +131 -0
  56. package/docs/layouts/intro.md +63 -0
  57. package/docs/layouts/quote.md +51 -0
  58. package/docs/layouts/section.md +67 -0
  59. package/docs/layouts/side-title.md +180 -0
  60. package/docs/layouts/top-title-two-cols.md +171 -0
  61. package/docs/layouts/top-title.md +103 -0
  62. package/docs/layouts/two-cols-title.md +273 -0
  63. package/docs/layouts.md +92 -0
  64. package/docs/markdown-examples.md +85 -0
  65. package/docs/markdown.md +87 -0
  66. package/docs/parts/columnsystem.md +18 -0
  67. package/docs/parts/layoutpicker.md +73 -0
  68. package/docs/public/deck.png +0 -0
  69. package/docs/public/layouts/side-title-12row.svg +27 -0
  70. package/docs/public/layouts/side-title-is-3.svg +7 -0
  71. package/docs/public/layouts/side-title-is-6.svg +7 -0
  72. package/docs/public/layouts/side-title-side.svg +13 -0
  73. package/docs/public/layouts/two-col-title-12row.svg +31 -0
  74. package/docs/public/layouts/two-col-title-align.svg +13 -0
  75. package/docs/public/layouts/two-col-title-is-4.svg +23 -0
  76. package/docs/public/layouts/two-col-title-is-6.svg +23 -0
  77. package/docs/public/layouts/two-col-title-titlepos.svg +31 -0
  78. package/docs/public/screenshots/1.png +0 -0
  79. package/docs/public/screenshots/10.png +0 -0
  80. package/docs/public/screenshots/11.png +0 -0
  81. package/docs/public/screenshots/12.png +0 -0
  82. package/docs/public/screenshots/13.png +0 -0
  83. package/docs/public/screenshots/14.png +0 -0
  84. package/docs/public/screenshots/15.png +0 -0
  85. package/docs/public/screenshots/16.png +0 -0
  86. package/docs/public/screenshots/17.png +0 -0
  87. package/docs/public/screenshots/18.png +0 -0
  88. package/docs/public/screenshots/19.png +0 -0
  89. package/docs/public/screenshots/2.png +0 -0
  90. package/docs/public/screenshots/20.png +0 -0
  91. package/docs/public/screenshots/21.png +0 -0
  92. package/docs/public/screenshots/22.png +0 -0
  93. package/docs/public/screenshots/23.png +0 -0
  94. package/docs/public/screenshots/24.png +0 -0
  95. package/docs/public/screenshots/25.png +0 -0
  96. package/docs/public/screenshots/26.png +0 -0
  97. package/docs/public/screenshots/27.png +0 -0
  98. package/docs/public/screenshots/28.png +0 -0
  99. package/docs/public/screenshots/29.png +0 -0
  100. package/docs/public/screenshots/3.png +0 -0
  101. package/docs/public/screenshots/30.png +0 -0
  102. package/docs/public/screenshots/31.png +0 -0
  103. package/docs/public/screenshots/32.png +0 -0
  104. package/docs/public/screenshots/33.png +0 -0
  105. package/docs/public/screenshots/34.png +0 -0
  106. package/docs/public/screenshots/35.png +0 -0
  107. package/docs/public/screenshots/36.png +0 -0
  108. package/docs/public/screenshots/37.png +0 -0
  109. package/docs/public/screenshots/38.png +0 -0
  110. package/docs/public/screenshots/4.png +0 -0
  111. package/docs/public/screenshots/5.png +0 -0
  112. package/docs/public/screenshots/6.png +0 -0
  113. package/docs/public/screenshots/7.png +0 -0
  114. package/docs/public/screenshots/8.png +0 -0
  115. package/docs/public/screenshots/9.png +0 -0
  116. package/example.md +1503 -0
  117. package/layoutHelper.ts +118 -0
  118. package/layouts/cover.vue +93 -0
  119. package/layouts/credits.vue +35 -0
  120. package/layouts/default.vue +18 -0
  121. package/layouts/four-cell.vue +210 -0
  122. package/layouts/full.vue +22 -0
  123. package/layouts/intro.vue +75 -0
  124. package/layouts/quote.vue +62 -0
  125. package/layouts/section.vue +84 -0
  126. package/layouts/side-title.vue +142 -0
  127. package/layouts/top-title-two-cols.vue +131 -0
  128. package/layouts/top-title.vue +63 -0
  129. package/layouts/two-cols-title.vue +176 -0
  130. package/layouts/two-cols.vue +141 -0
  131. package/package.json +54 -0
  132. package/public/images/photo.png +0 -0
  133. package/public/images/photo2.png +0 -0
  134. package/public/images/scatter1.png +0 -0
  135. package/public/images/scatter1.svg +20 -0
  136. package/screenshot.md +874 -0
  137. package/setup/main.ts +45 -0
  138. package/setup/shiki.ts +14 -0
  139. package/slide-bottom.vue +107 -0
  140. package/styles/base.css +240 -0
  141. package/styles/bubbles.css +4 -0
  142. package/styles/colors.css +12 -0
  143. package/styles/index.ts +11 -0
  144. package/styles/layouts.css +76 -0
  145. package/styles/stickynote.css +4 -0
  146. package/uno.config.ts +222 -0
  147. package/vite.config.ts +16 -0
@@ -0,0 +1,273 @@
1
+ # `layout: two-cols-title`
2
+
3
+ <img src="/screenshots/8.png" alt="two-cols-title slide example" width="600" class="screenshot mb-10 mt-10"/>
4
+
5
+ ## Description
6
+
7
+ The `layout: two-cols-title` layout is among the most common layouts in talks. It has an optional title along the top or bottom of the slide, and then the main section is divided into two columns. Because the spacing and alignment of columns often needs to be adjusted on a case-by-case basis, this layout provides a lot of flexibility by creating a simple design system you can use to fine-tune the two column/title arrangement.
8
+
9
+ <!--@include: ../parts/columnsystem.md-->
10
+
11
+ The position of the title on the slide can also be configured. It can be at the top or bottom of the slide, or hidden/missing entirely. The default position is at the top:
12
+
13
+ <img src="/layouts/two-col-title-titlepos.svg" alt="two-cols-header slide example" width="300" />
14
+
15
+ A default slot is provided for content that appears before a named slot. This content will appear at the bottom of the slide.
16
+
17
+ ## Frontmatter
18
+
19
+ - `layout: two-cols-header` (required).
20
+ - `color:` (optional) can be any of the [color scheme](/colors) options. If not provided, the default color is `white`.
21
+ - `columns:` (optional) gives the width to the left and right column. The default value is `is-one-half`. As described above, the slide is divided into 12 column units. With <code>columns: is-1-11</code> the left column is 1/12 wide and the the right columns is 11/12 wide. The component admits a short hand of only specifying the left column (<code>columns: is-1</code> does the same thing). Here is a full list of the available shorthands:
22
+
23
+ <div class="ml-auto mr-aut w-full">
24
+
25
+ | Left:Right Column Size | Frontmatter short names |
26
+ | :--------------------- | :---------------------------------------------------------------------------------------- |
27
+ | 1:11 | `is-1`<br>`is-1-11`<br>`is-one-twelfth` |
28
+ | 2:10 | `is-2`<br>`is-2-10`<br>`is-one-sixth` |
29
+ | 3:9 | `is-3`<br>`is-3-9`<br>`is-one-quarter` |
30
+ | 4:8 | `is-4`<br>`is-4-8`<br>`is-one-third` |
31
+ | 5:7 | `is-5`<br>`is-5-7` |
32
+ | 6:6 | `is-6`<br>`is-6-6`<br>`is-two-quarters`<br>`is-two-fourths`<br>`is-one-half`<br>`is-half` |
33
+ | 7:5 | `is-7`<br>`is-7-5` |
34
+ | 8:4 | `is-8`<br>`is-8-4`<br>`is-two-thirds` |
35
+ | 9:3 | `is-9`<br>`is-9-3`<br>`is-three-quarters`<br>`three-fourths` |
36
+ | 10:2 | `is-10`<br>`is-10-2` |
37
+ | 11:1 | `is-11`<br>`is-11-1` |
38
+
39
+ </div>
40
+
41
+ - `align:` (optional) determines the alignment of the content in different parts of the slides. The options are specified in three parts using [kebab notation](https://www.theserverside.com/definition/Kebab-case). The first segment applies to the title, the second to the left column, and the third to the right column. i.e., `title-left-right`. The first letter of each segment is either `l` for left, `c` for center, or `r` for right. This sets the text alignment of that section. The second letter of the left and right segments are either `t` for top, `m` for middle, or `b` for bottom. This sets the vertical alignment of the content in that column. **The title segment only can configure the `l/c/r` alignment** since it only occupies a narrow band at the top of the slide. The default value is `l-lt-lt` which aligns the content in the title to left margin, the content of the left column to the left, the content in the left column to the top, and the content in the right column to the top.
42
+ - `titlepos:` (optional) is either `t` (top), `b` (bottom), or `n` (none). This determines the position of the title. The default value is `t`.
43
+
44
+ Example:
45
+
46
+ ```yaml
47
+ ---
48
+ layout: two-cols-header
49
+ columns: is-4
50
+ align: c-rm-lt
51
+ color: light
52
+ titlepos: t
53
+ ---
54
+ ```
55
+
56
+ ## Slots
57
+
58
+ This `two-cols-title` slide has three name slots which are all optional:
59
+ `:: title ::`, `:: left ::`, and `:: right ::`. In addition, the `:: default ::` slot exits for any content that appears before a named slot. It will appear at the bottom of the slide.
60
+ If the title is not provided the space will be reallocated the columns. If the left or right is not provided the space for them will remain according to `columns:` frontmatter.
61
+
62
+ A common use case for the default slot is to include things like [StickyNotes](/components/stickynote) in this default section and then use Slidev's `v-drag` directive to move them into position on the slide. An example below make use of this technique.
63
+
64
+ ## Examples
65
+
66
+ ### Basic example
67
+
68
+ ```md
69
+ ---
70
+ layout: two-cols-title
71
+ columns: is-6
72
+ align: l-lt-lt
73
+ ---
74
+
75
+ :: title ::
76
+
77
+ # This is `two-cols-title`
78
+
79
+ :: left ::
80
+
81
+ This is a configurable layout which is very common in presentations.
82
+
83
+ - There are three slots: `:: title ::`, `:: left ::`, and `:: right ::` along with the default which is implicit before any named slots.
84
+
85
+ - It additionally provides four configuration options in the slide YAML front matter:
86
+ `color`, `columns`, `align`, and `titlepos`.
87
+
88
+ - `color` is the color scheme.
89
+
90
+ - `columns` is the relative spacing given to the left versus right column ([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title)).
91
+
92
+ :: right ::
93
+
94
+ - The <code>align</code> parameter determines how the columns look. The notation is for example <code>align: l-cm-cm</code>. The first part is for the header, the second for the left column, the third part is for the right column ([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title)).
95
+
96
+ - The <code>titlepos</code> parameter determines where the title appears. The options are `t` for top, `b` for bottom, or `n` for none/hidden. The default is `t` ([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title)).
97
+ ```
98
+
99
+ Renders as:
100
+
101
+ <img src="/screenshots/8.png" alt="two-cols-header slide example" width="600" style="border: 1px solid #ccc;"/>
102
+
103
+ ### Less content on the left now so lets rebalance things
104
+
105
+ ```md
106
+ ---
107
+ layout: two-cols-title
108
+ columns: is-3
109
+ align: c-lt-lt
110
+ ---
111
+
112
+ :: title ::
113
+
114
+ # This is `two-cols-title`
115
+
116
+ :: left ::
117
+
118
+ This is a configurable layout which is very common in presentations.
119
+
120
+ - There are three slots: `:: title ::`, `:: left ::`, and `:: right ::` along with the default which is implicit before any named slots.
121
+
122
+ :: right ::
123
+
124
+ - `columns` is the relative spacing given to the left versus right column ([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
125
+
126
+ - The <code>align</code> parameter determines how the columns look. The notation is for example
127
+ <code>align: l-cm-cm</code>. The first part is for the header, the second for the left column, the third part is for the right column ([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
128
+
129
+ - The <code>titlepos</code> parameter determines where the title appears. The options are `t` for top, `b` for bottom, or `n` for none/hidden. The default is `t`.([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
130
+ ```
131
+
132
+ Renders as:
133
+
134
+ <img src="/screenshots/9.png" alt="two-cols-header slide example" width="600" style="border: 1px solid #ccc;"/>
135
+
136
+ ### Really flexing the layout system now
137
+
138
+ ```md
139
+ ---
140
+ layout: two-cols-title
141
+ columns: is-2
142
+ align: r-lt-lt
143
+ color: light
144
+ ---
145
+
146
+ This is the default slot, if you want to use it!
147
+
148
+ :: title ::
149
+
150
+ # Another example
151
+
152
+ :: left ::
153
+ This is the left column it has been shrunk down to 2 units.
154
+
155
+ :: right ::
156
+ This gave more space to the right column.
157
+
158
+ - You can put more points
159
+ - You can make them longer
160
+ - You can place more text and images here
161
+ ```
162
+
163
+ <img src="/screenshots/10.png" alt="two-cols-header slide example" width="600" style="border: 1px solid #ccc;"/>
164
+
165
+ ### Using color and the default slot
166
+
167
+ ```md
168
+ ---
169
+ layout: two-cols-title
170
+ columns: is-2
171
+ align: c-rm-lt
172
+ color: dark
173
+ ---
174
+
175
+ <StickyNote color="amber-light" textAlign="left" width="180px" title="Hi" v-drag="[689,277,180,180,18]">
176
+
177
+ Hello, I'm a **sticky note**.
178
+ </StickyNote>
179
+
180
+ :: title ::
181
+
182
+ # This is `two-cols-title` with center title
183
+
184
+ :: left ::
185
+
186
+ The left column is `rm` which means right-middle.
187
+
188
+ :: right ::
189
+
190
+ The right content is left-top aligned `lt`.
191
+
192
+ The sticky note appears in the `:: default ::` slot and then used v-drag to move it into position.
193
+ ```
194
+
195
+ <img src="/screenshots/11.png" alt="two-cols-header slide example" width="600" style="border: 1px solid #ccc;"/>
196
+
197
+ ### Moving the title to the bottom
198
+
199
+ ```md
200
+ ---
201
+ layout: two-cols-title
202
+ columns: is-3
203
+ align: r-lt-lt
204
+ titlepos: b
205
+ ---
206
+
207
+ :: title ::
208
+
209
+ # This is `two-cols-title`
210
+
211
+ :: left ::
212
+
213
+ This is a configurable layout which is very common in presentations.
214
+
215
+ - There are three slots: `:: title ::`, `:: left ::`, and `:: right ::` along with the default which is implicit before any named slots.
216
+
217
+ :: right ::
218
+
219
+ - The <code>align</code> parameter determines how the columns look. The notation is for example
220
+ <code>align: l-cm-cm</code>. The first part is for the header, the second for the left column, the third part is for the right column ([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
221
+
222
+ - The <code>titlepos</code> parameter determines where the title appears. The options are `t` for top, `b` for bottom, or `n` for none/hidden. The default is `t`.([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
223
+ ```
224
+
225
+ <img src="/screenshots/12.png" alt="two-cols-header slide example" width="600" style="border: 1px solid #ccc;"/>
226
+
227
+ ### No title
228
+
229
+ ```md
230
+ ---
231
+ layout: two-cols-title
232
+ columns: is-3
233
+ align: r-lt-lt
234
+ ---
235
+
236
+ :: left ::
237
+
238
+ This is a configurable layout which is very common in presentations.
239
+
240
+ - There are three slots: `:: title ::`, `:: left ::`, and `:: right ::` along with the default which is implicit before any named slots.
241
+
242
+ :: right ::
243
+
244
+ - The <code>align</code> parameter determines how the columns look. The notation is for example
245
+ <code>align: l-cm-cm</code>. The first part is for the header, the second for the left column, the third part is for the right column ([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
246
+
247
+ - The <code>titlepos</code> parameter determines where the title appears. The options are `t` for top, `b` for bottom, or `n` for none/hidden. The default is `t`.([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
248
+ ```
249
+
250
+ <img src="/screenshots/13.png" alt="two-cols-header slide example" width="600" style="border: 1px solid #ccc;"/>
251
+
252
+ ### Title is back but no left column (just spaced for it)
253
+
254
+ ```md
255
+ ---
256
+ layout: two-cols-title
257
+ columns: is-3
258
+ align: r-lt-lt
259
+ ---
260
+
261
+ :: title ::
262
+
263
+ # This is `two-cols-title`
264
+
265
+ :: right ::
266
+
267
+ - The <code>align</code> parameter determines how the columns look. The notation is for example
268
+ <code>align: l-cm-cm</code>. The first part is for the header, the second for the left column, the third part is for the right column ([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
269
+
270
+ - The <code>titlepos</code> parameter determines where the title appears. The options are `t` for top, `b` for bottom, or `n` for none/hidden. The default is `t`.([see docs](https://gureckis.github.io/slidev-theme-neversink/layouts/two-cols-title))
271
+ ```
272
+
273
+ <img src="/screenshots/14.png" alt="two-cols-header slide example" width="600" style="border: 1px solid #ccc;"/>
@@ -0,0 +1,92 @@
1
+ # Layouts
2
+
3
+ Layouts are the building blocks of your slides. They define the structure of your slides and how the content is displayed. This theme comes with a set of predefined layouts that you can use to create your slides.
4
+ Many of these build upon the default layouts provided by Slidev, adding additional parameters to customize the structure of the slide. The goal is to save you time and effort designing custom layouts in CSS/HTML.
5
+
6
+ ## Key components of layouts
7
+
8
+ Layouts have two key components: **frontmatter** (which is YAML metadata at the top of the slide) and the content of the slide which are known as **slots**.
9
+
10
+ ### Frontmatter
11
+
12
+ The frontmatter is used to specify the type of the slide as well as provide parameters to the layout (see [Slidev docs](https://sli.dev/guide/syntax#frontmatter-layouts)). The frontmatter is a YAML block at the top of the slide that specifies the layout type and any parameters that the layout requires. An example might look like this
13
+
14
+ ```md
15
+ ---
16
+ layout: top-title
17
+ color: sky
18
+ align: lt
19
+ ---
20
+ ```
21
+
22
+ This frontmatter specifies that the slide should use the `top-title` layout, that the color should be `sky`, and that the alignment should be `lt`. The frontmatter is optional and if not provided the slide will use the [`default`](/layouts/default) layout. Not all options are necessary for each layout. The documentation of which frontmatter parameters is used in each layout is detailed below.
23
+
24
+ ### Slots
25
+
26
+ Slots are the content of the slide. They are the text, images, and other elements that you want to display on the slide. The slots are written in Markdown and are placed below the frontmatter. Slots are a basic part of [Vue.js](https://vuejs.org/guide/components/slots.html). In Slidev slots are specified using a special syntax of `:: slot-name ::` where `slot-name` is the name of the slot.
27
+
28
+ All layouts have one "default" slot (named default, but it doesn't have to be labeled). Some layouts have additional slots that you can use to customize the slide. The documentation of which slots are used in each layout is detailed below.
29
+
30
+ An example of a slide with several slots might look like this.
31
+
32
+ ```md
33
+ ---
34
+ layout: two-cols-title
35
+ columns: is-6
36
+ align: l-lt-lt
37
+ title: Two Cols Title
38
+ ---
39
+
40
+ This is in the default slot
41
+
42
+ :: title ::
43
+
44
+ # My slide title
45
+
46
+ :: left ::
47
+
48
+ This is the left column slot!
49
+
50
+ :: right ::
51
+
52
+ This is the right column slot!
53
+ ```
54
+
55
+ Here, we are using the `two-cols-title` layout, which has three named slots: `title`, `left`, and `right` in addition to the `default` slot given to every slide. In this example, the `title` slot is used to specify the title of the slide, and the `left` and `right` slots are used to specify the content of the left and right columns, respectively. Slot definitions end when the next one begins, so the `title` slot ends when the `left` slot begins. Any Markdown content that appears before the first named slot is assigned to the `default` slot. If there are no named slots, all content is assigned to the `default` slot.
56
+
57
+ ## Specific Layouts
58
+
59
+ In the following section, we detail specific layouts that are available in this theme. Each layout is described in terms of its frontmatter, slots, and examples of how to use it.
60
+
61
+ - [`layout: cover`](layouts/cover.md)
62
+ - [`layout: intro`](layouts/intro.md)
63
+ - [`layout: default`](layouts/default.md)
64
+ - [`layout: two-cols-title`](layouts/two-cols-title.md)
65
+ - [`layout: top-title`](layouts/top-title.md)
66
+ - [`layout: top-title-two-cols`](layouts/top-title-two-cols.md)
67
+ - [`layout: side-title`](layouts/side-title.md)
68
+ - [`layout: quote`](layouts/quote.md)
69
+ - [`layout: section`](layouts/section.md)
70
+ - [`layout: full`](layouts/full.md)
71
+ - [`layout: credits`](layouts/credits.md)
72
+
73
+ In addition to these custom layouts, you can still access default Slidev layouts. For example, in cases where the layout name is not mentioned you can access the basic versions [described here](https://sli.dev/builtin/layouts).
74
+
75
+ For example,
76
+
77
+ - [`layout: image-left`](https://sli.dev/builtin/layouts#image-left)
78
+ - [`layout: image-right`](https://sli.dev/builtin/layouts#image-right)
79
+ - [`layout: image`](https://sli.dev/builtin/layouts#image)
80
+ - [`layout: iframe-left`](https://sli.dev/builtin/layouts#iframe-left)
81
+ - [`layout: iframe-right`](https://sli.dev/builtin/layouts#iframe-right)
82
+ - [`layout: iframe`](https://sli.dev/builtin/layouts#iframe)
83
+ - [`layout: none`](https://sli.dev/builtin/layouts#none)
84
+ - [`layout: end`](https://sli.dev/builtin/layouts#end)
85
+ - [`layout: fact`](https://sli.dev/builtin/layouts#fact)
86
+
87
+ All act in the same ways as the default Slidev theme currently. One limitation is that these layouts
88
+ cannot be customized by the Neversink [color schemes](/colors). In future will make themed versions of these.
89
+
90
+ ## Don't know what it is called? Pick your layout
91
+
92
+ <!--@include: ./parts/layoutpicker.md-->
@@ -0,0 +1,85 @@
1
+ # Markdown Extension Examples
2
+
3
+ This page demonstrates some of the built-in markdown extensions provided by VitePress.
4
+
5
+ ## Syntax Highlighting
6
+
7
+ VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting:
8
+
9
+ **Input**
10
+
11
+ ````md
12
+ ```js{4}
13
+ export default {
14
+ data () {
15
+ return {
16
+ msg: 'Highlighted!'
17
+ }
18
+ }
19
+ }
20
+ ```
21
+ ````
22
+
23
+ **Output**
24
+
25
+ ```js{4}
26
+ export default {
27
+ data () {
28
+ return {
29
+ msg: 'Highlighted!'
30
+ }
31
+ }
32
+ }
33
+ ```
34
+
35
+ ## Custom Containers
36
+
37
+ **Input**
38
+
39
+ ```md
40
+ ::: info
41
+ This is an info box.
42
+ :::
43
+
44
+ ::: tip
45
+ This is a tip.
46
+ :::
47
+
48
+ ::: warning
49
+ This is a warning.
50
+ :::
51
+
52
+ ::: danger
53
+ This is a dangerous warning.
54
+ :::
55
+
56
+ ::: details
57
+ This is a details block.
58
+ :::
59
+ ```
60
+
61
+ **Output**
62
+
63
+ ::: info
64
+ This is an info box.
65
+ :::
66
+
67
+ ::: tip
68
+ This is a tip.
69
+ :::
70
+
71
+ ::: warning
72
+ This is a warning.
73
+ :::
74
+
75
+ ::: danger
76
+ This is a dangerous warning.
77
+ :::
78
+
79
+ ::: details
80
+ This is a details block.
81
+ :::
82
+
83
+ ## More
84
+
85
+ Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown).
@@ -0,0 +1,87 @@
1
+ # Markdown Features
2
+
3
+ ## In-line HTML/CSS
4
+
5
+ You can include in-line HTML/CSS in markdown files. One trick to know though is that the markdown preprocessor needs a blank line before and after the HTML/CSS block. For example, this will not work:
6
+
7
+ ```md
8
+ <div class='something'>
9
+ Make this **bold** using markdown.
10
+ </div>
11
+ ```
12
+
13
+ Instead you have to write it like
14
+
15
+ ```md
16
+ <div class='something'>
17
+
18
+ Make this **bold** using markdown.
19
+
20
+ </div>
21
+ ```
22
+
23
+ With the new before the markdown text begins.
24
+
25
+ This is also true around [slots in layouts](/layouts#slots).
26
+
27
+ So
28
+
29
+ ```md
30
+ :: left ::
31
+ This is **markdown**
32
+ ```
33
+
34
+ will not work but
35
+
36
+ ```md
37
+ :: left ::
38
+
39
+ This is **markdown**
40
+ ```
41
+
42
+ is good.
43
+
44
+ ## Highlight
45
+
46
+ You can highlight text
47
+
48
+ ```md
49
+ This is my ==highlighted text==.
50
+ ```
51
+
52
+ Using the `==` syntax. Like ==this==.
53
+
54
+ ## Icon link
55
+
56
+ Drops the underline styling from icons.
57
+
58
+ ```
59
+ <a href="https://todd.gureckislab.org" class="iconlink"><mdi-open-in-new /></a>
60
+ ```
61
+
62
+ ## Tight bullets
63
+
64
+ If you want to make bullets a little closer together to make spaceadd the `class='tight'`
65
+
66
+ ```md
67
+ <div class="tight">
68
+
69
+ - Hi
70
+ - There
71
+ - I need space
72
+ </div>
73
+ ```
74
+
75
+ ## V-click faders
76
+
77
+ If you want to fade out a bullet as you step through, add the `class='fader'`
78
+
79
+ ```md
80
+ <v-clicks at="+0" class="fader">
81
+
82
+ - This one appears immediately on slide load
83
+ - This is a second click
84
+ - This is a third click
85
+
86
+ </v-clicks>
87
+ ```
@@ -0,0 +1,18 @@
1
+ In the conception of this design system, the two columns of the main content of the slide share 12 equally spaced units. Frontmatter determines how many of those 12 units are allocated to each column.
2
+ <img src="/layouts/two-col-title-12row.svg" alt="two-cols-header slide example" width="600" />
3
+
4
+ For example, if `columns: is-6` is specified in the frontmatter, the left column will be allocated 6 units and the right column will be allocated 6 units like this:
5
+
6
+ <img src="/layouts/two-col-title-is-6.svg" alt="two-cols-header slide example" width="600" />
7
+
8
+ If `columns: is-4` is specified, the left column will be allocated 4 units and the right column will be allocated 8 units like this:
9
+
10
+ <img src="/layouts/two-col-title-is-4.svg" alt="two-cols-header slide example" width="600" />
11
+
12
+ You can bump the width of the columns quickly to fit your content.
13
+
14
+ The alignment of the content in each column is also configurable. Content can be vertically aligned to the top, middle, or bottom of the slide. In addition the content can be horizontally aligned to the left, center, or right aligned within the column:
15
+
16
+ <img src="/layouts/two-col-title-align.svg" alt="two-cols-header slide example" width="300" />
17
+
18
+ The title which can only be left, center, or right aligned because it occupies a narrow band on the slide.
@@ -0,0 +1,73 @@
1
+ <div class="grid w-full grid-cols-2">
2
+ <div class="grid-item grid-col-span-1">
3
+ <a href="layouts/cover">
4
+ <img src="/screenshots/2.png" alt="cover slide example" width="300" class="screenshot mb-10 mt-10"/>
5
+ </a>
6
+ </div>
7
+ <div class="grid-item grid-col-span-1">
8
+ <a href="layouts/intro">
9
+ <img src="/screenshots/5.png" alt="intro slide example" width="300" class="screenshot mb-10 mt-10"/>
10
+ </a>
11
+ </div>
12
+ <div class="grid-item grid-col-span-1">
13
+ <a href="layouts/default">
14
+ <img src="/screenshots/6.png" alt="default slide example" width="300" class="screenshot mb-10 mt-10"/>
15
+ </a>
16
+ </div>
17
+ <div class="grid-item grid-col-span-1">
18
+ <a href="layouts/two-cols-header">
19
+ <img src="/screenshots/8.png" alt="two-col-header slide example" width="300" class="screenshot mb-10 mt-10"/>
20
+ </a>
21
+ </div>
22
+ <div class="grid-item grid-col-span-1">
23
+ <a href="layouts/top-title">
24
+ <img src="/screenshots/15.png" alt="top-title slide example" width="300" class="screenshot mb-10 mt-10"/>
25
+ </a>
26
+ </div>
27
+ <div class="grid-item grid-col-span-1">
28
+ <a href="layouts/top-title-two-cols">
29
+ <img src="/screenshots/18.png" alt="top-title-two-cols slide example" width="300" class="screenshot mb-10 mt-10"/>
30
+ </a>
31
+ </div>
32
+ <div class="grid-item grid-col-span-1">
33
+ <a href="layouts/side-title">
34
+ <img src="/screenshots/22.png" alt="side-title slide example" width="300" class="screenshot mb-10 mt-10"/>
35
+ </a>
36
+ </div>
37
+ <div class="grid-item grid-col-span-1">
38
+ <a href="layouts/quote">
39
+ <img src="/screenshots/26.png" alt="quote slide example" width="300" class="screenshot mb-10 mt-10"/>
40
+ </a>
41
+ </div>
42
+ <div class="grid-item grid-col-span-1">
43
+ <a href="layouts/section">
44
+ <img src="/screenshots/27.png" alt="section slide example" width="300" class="screenshot mb-10 mt-10"/>
45
+ </a>
46
+ </div>
47
+ <div class="grid-item grid-col-span-1">
48
+ <a href="layouts/full">
49
+ <img src="/screenshots/29.png" alt="section slide example" width="300" class="screenshot mb-10 mt-10"/>
50
+ </a>
51
+ </div>
52
+ <div class="grid-item grid-col-span-1">
53
+ <a href="components/admonitions">
54
+ <img src="/screenshots/34.png" alt="admonition slide example" width="300" class="screenshot mb-10 mt-10"/>
55
+ </a>
56
+ </div>
57
+ <div class="grid-item grid-col-span-1">
58
+ <a href="components/stickynote">
59
+ <img src="/screenshots/36.png" alt="stickynote slide example" width="300" class="screenshot mb-10 mt-10"/>
60
+ </a>
61
+ </div>
62
+ <div class="grid-item grid-col-span-1">
63
+ <a href="components/qrcode">
64
+ <img src="/screenshots/38.png" alt="stickynote slide example" width="300" class="screenshot mb-10 mt-10"/>
65
+ </a>
66
+ </div>
67
+ <div class="grid-item grid-col-span-1">
68
+ <a href="components/speechbubble">
69
+ <img src="/screenshots/35.png" alt="speechbubble slide example" width="300" class="screenshot mb-10 mt-10"/>
70
+ </a>
71
+ </div>
72
+
73
+ </div>
Binary file