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,50 @@
1
+ // https://vitepress.dev/guide/custom-theme
2
+ import { h } from 'vue'
3
+ import DefaultTheme from 'vitepress/theme'
4
+
5
+ import 'uno.css'
6
+ import './style.css'
7
+ import '../../../styles/colors.css'
8
+
9
+ import Admonition from '../../../components/Admonition.vue'
10
+ import AdmonitionType from '../../../components/AdmonitionType.vue'
11
+ import StickyNote from '../../../components/StickyNote.vue'
12
+ import QrcodeVue from 'qrcode.vue'
13
+ import SpeechBubble from '../../../components/SpeechBubble.vue'
14
+
15
+ import Backpack from '../../../components/vue3-kawaii/components/backpack/Backpack.vue'
16
+ import Browser from '../../../components/vue3-kawaii/components/browser/Browser.vue'
17
+ import Cat from '../../../components/vue3-kawaii/components/cat/Cat.vue'
18
+ import CreditCard from '../../../components/vue3-kawaii/components/creditCard/CreditCard.vue'
19
+ import Ghost from '../../../components/vue3-kawaii/components/ghost/Ghost.vue'
20
+ import IceCream from '../../../components/vue3-kawaii/components/iceCream/IceCream.vue'
21
+ import Mug from '../../../components/vue3-kawaii/components/mug/Mug.vue'
22
+ import Planet from '../../../components/vue3-kawaii/components/planet/Planet.vue'
23
+ import SpeechBubbleGuy from '../../../components/vue3-kawaii/components/speechBubble/SpeechBubbleGuy.vue'
24
+
25
+ /** @type {import('vitepress').Theme} */
26
+ export default {
27
+ extends: DefaultTheme,
28
+ Layout: () => {
29
+ return h(DefaultTheme.Layout, null, {
30
+ // https://vitepress.dev/guide/extending-default-theme#layout-slots
31
+ })
32
+ },
33
+ enhanceApp({ app, router, siteData }) {
34
+ // ...
35
+ app.component('Admonition', Admonition)
36
+ app.component('AdmonitionType', AdmonitionType)
37
+ app.component('StickyNote', StickyNote)
38
+ app.component('QRCode', QrcodeVue)
39
+ app.component('SpeechBubble', SpeechBubble)
40
+ app.component('BackPack', Backpack)
41
+ app.component('Browser', Browser)
42
+ app.component('Cat', Cat)
43
+ app.component('CreditCard', CreditCard)
44
+ app.component('Ghost', Ghost)
45
+ app.component('IceCream', IceCream)
46
+ app.component('Mug', Mug)
47
+ app.component('Planet', Planet)
48
+ app.component('SpeechBubbleGuy', SpeechBubbleGuy)
49
+ },
50
+ }
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Customize default theme styling by overriding CSS variables:
3
+ * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
4
+ @apply bg-amber-200;
5
+ @apply text-amber-600;
6
+
7
+ */
8
+
9
+ mark {
10
+ @apply bg-amber-200;
11
+ @apply text-amber-600;
12
+ font-weight: 300;
13
+ padding-left: 0.4em;
14
+ padding-right: 0.4em;
15
+ padding-top: 0.2em;
16
+ padding-bottom: 0.2em;
17
+ border-radius: 0.4em;
18
+ }
19
+
20
+ .screenshot {
21
+ border: 0.2px solid;
22
+ @apply border-gray-700;
23
+ }
24
+ /**
25
+ * Colors
26
+ *
27
+ * Each colors have exact same color scale system with 3 levels of solid
28
+ * colors with different brightness, and 1 soft color.
29
+ *
30
+ * - `XXX-1`: The most solid color used mainly for colored text. It must
31
+ * satisfy the contrast ratio against when used on top of `XXX-soft`.
32
+ *
33
+ * - `XXX-2`: The color used mainly for hover state of the button.
34
+ *
35
+ * - `XXX-3`: The color for solid background, such as bg color of the button.
36
+ * It must satisfy the contrast ratio with pure white (#ffffff) text on
37
+ * top of it.
38
+ *
39
+ * - `XXX-soft`: The color used for subtle background such as custom container
40
+ * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
41
+ * on top of it.
42
+ *
43
+ * The soft color must be semi transparent alpha channel. This is crucial
44
+ * because it allows adding multiple "soft" colors on top of each other
45
+ * to create a accent, such as when having inline code block inside
46
+ * custom containers.
47
+ *
48
+ * - `default`: The color used purely for subtle indication without any
49
+ * special meanings attched to it such as bg color for menu hover state.
50
+ *
51
+ * - `brand`: Used for primary brand colors, such as link text, button with
52
+ * brand theme, etc.
53
+ *
54
+ * - `tip`: Used to indicate useful information. The default theme uses the
55
+ * brand color for this by default.
56
+ *
57
+ * - `warning`: Used to indicate warning to the users. Used in custom
58
+ * container, badges, etc.
59
+ *
60
+ * - `danger`: Used to show error, or dangerous message to the users. Used
61
+ * in custom container, badges, etc.
62
+ * -------------------------------------------------------------------------- */
63
+
64
+ :root {
65
+ --vp-c-default-1: var(--vp-c-gray-1);
66
+ --vp-c-default-2: var(--vp-c-gray-2);
67
+ --vp-c-default-3: var(--vp-c-gray-3);
68
+ --vp-c-default-soft: var(--vp-c-gray-soft);
69
+
70
+ --vp-c-brand-1: var(--vp-c-indigo-1);
71
+ --vp-c-brand-2: var(--vp-c-indigo-2);
72
+ --vp-c-brand-3: var(--vp-c-indigo-3);
73
+ --vp-c-brand-soft: var(--vp-c-indigo-soft);
74
+
75
+ --vp-c-tip-1: var(--vp-c-brand-1);
76
+ --vp-c-tip-2: var(--vp-c-brand-2);
77
+ --vp-c-tip-3: var(--vp-c-brand-3);
78
+ --vp-c-tip-soft: var(--vp-c-brand-soft);
79
+
80
+ --vp-c-warning-1: var(--vp-c-yellow-1);
81
+ --vp-c-warning-2: var(--vp-c-yellow-2);
82
+ --vp-c-warning-3: var(--vp-c-yellow-3);
83
+ --vp-c-warning-soft: var(--vp-c-yellow-soft);
84
+
85
+ --vp-c-danger-1: var(--vp-c-red-1);
86
+ --vp-c-danger-2: var(--vp-c-red-2);
87
+ --vp-c-danger-3: var(--vp-c-red-3);
88
+ --vp-c-danger-soft: var(--vp-c-red-soft);
89
+ }
90
+
91
+ /**
92
+ * Component: Button
93
+ * -------------------------------------------------------------------------- */
94
+
95
+ :root {
96
+ --vp-button-brand-border: transparent;
97
+ --vp-button-brand-text: var(--vp-c-white);
98
+ --vp-button-brand-bg: var(--vp-c-brand-3);
99
+ --vp-button-brand-hover-border: transparent;
100
+ --vp-button-brand-hover-text: var(--vp-c-white);
101
+ --vp-button-brand-hover-bg: var(--vp-c-brand-2);
102
+ --vp-button-brand-active-border: transparent;
103
+ --vp-button-brand-active-text: var(--vp-c-white);
104
+ --vp-button-brand-active-bg: var(--vp-c-brand-1);
105
+ }
106
+
107
+ /**
108
+ * Component: Home
109
+ * -------------------------------------------------------------------------- */
110
+
111
+ :root {
112
+ --vp-home-hero-name-color: black;
113
+ --vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe 30%, #41d1ff);
114
+ }
115
+
116
+ @media (min-width: 640px) {
117
+ :root {
118
+ --vp-home-hero-image-filter: blur(56px);
119
+ }
120
+ }
121
+
122
+ @media (min-width: 960px) {
123
+ :root {
124
+ --vp-home-hero-image-filter: blur(68px);
125
+ }
126
+ }
127
+
128
+ /**
129
+ * Component: Custom Block
130
+ * -------------------------------------------------------------------------- */
131
+
132
+ :root {
133
+ --vp-custom-block-tip-border: transparent;
134
+ --vp-custom-block-tip-text: var(--vp-c-text-1);
135
+ --vp-custom-block-tip-bg: var(--vp-c-brand-soft);
136
+ --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
137
+ }
138
+
139
+ /**
140
+ * Component: Algolia
141
+ * -------------------------------------------------------------------------- */
142
+
143
+ .DocSearch {
144
+ --docsearch-primary-color: var(--vp-c-brand-1) !important;
145
+ }
@@ -0,0 +1,49 @@
1
+ ---
2
+ outline: deep
3
+ ---
4
+
5
+ # Runtime API Examples
6
+
7
+ This page demonstrates usage of some of the runtime APIs provided by VitePress.
8
+
9
+ The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files:
10
+
11
+ ```md
12
+ <script setup>
13
+ import { useData } from 'vitepress'
14
+
15
+ const { theme, page, frontmatter } = useData()
16
+ </script>
17
+
18
+ ## Results
19
+
20
+ ### Theme Data
21
+ <pre>{{ theme }}</pre>
22
+
23
+ ### Page Data
24
+ <pre>{{ page }}</pre>
25
+
26
+ ### Page Frontmatter
27
+ <pre>{{ frontmatter }}</pre>
28
+ ```
29
+
30
+ <script setup>
31
+ import { useData } from 'vitepress'
32
+
33
+ const { site, theme, page, frontmatter } = useData()
34
+ </script>
35
+
36
+ ## Results
37
+
38
+ ### Theme Data
39
+ <pre>{{ theme }}</pre>
40
+
41
+ ### Page Data
42
+ <pre>{{ page }}</pre>
43
+
44
+ ### Page Frontmatter
45
+ <pre>{{ frontmatter }}</pre>
46
+
47
+ ## More
48
+
49
+ Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata).
@@ -0,0 +1,43 @@
1
+ # Branding
2
+
3
+ ## Slide numbers
4
+
5
+ Neversink provides a simple and color-responsive slide counter in the lower right corner of the slides.
6
+ It will show the current slide number and the total number of slides. In addition it can display a slug or
7
+ string of your choice.
8
+
9
+ To configure the slug simply add `neversink_slug` to your frontmatter of your entire slug deck. For example:
10
+
11
+ ```yaml
12
+ ---
13
+ colorSchema: light
14
+ layout: cover
15
+ title: Base Template
16
+ theme: neversink
17
+ neversink_slug: 'Neversink Example Deck'
18
+ ---
19
+ ```
20
+
21
+ If this appears in the frontmatter for the first slide the slug will be set for all slides.
22
+ You can override it on any specific slide by just adding `neversink_slug` to the frontmatter of that slide.
23
+
24
+ ```yaml
25
+ ---
26
+ layout: cover
27
+ color: light
28
+ neversink_slug: 'Neversink Example Deck!!!!'
29
+ ---
30
+ ```
31
+
32
+ You can hide the slide information on any given slides by setting `slide_info: false` in the front
33
+ matter of that specific slide
34
+
35
+ ```yaml
36
+ ---
37
+ layout: cover
38
+ color: light
39
+ slide_info: false
40
+ ---
41
+ ```
42
+
43
+ You can of course override the default slide counter by including a custom `slide-bottom.vue` or `global-bottom.vue` in your project folder (see [Slidev docs](https://sli.dev/custom/global-layers))
package/docs/colors.md ADDED
@@ -0,0 +1,108 @@
1
+ # Color Schemes
2
+
3
+ The project uses tailwind-like color schemes arranged in ==monochromatic pairs==.
4
+ Color schemes can be applied to several elements, perhaps most importantly to
5
+ slide [layouts](/layouts).
6
+
7
+ These boxes show the options and names:
8
+
9
+ ## B&W Schemes
10
+
11
+ <div class="text-white bg-black pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">black</div>
12
+ <div class="text-black bg-white border-1 border-solid border-black pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">white</div>
13
+ <div class="text-gray-100 bg-gray-800 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">dark</div>
14
+ <div class="text-gray-800 bg-gray-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">light</div>
15
+
16
+ ## Light Schemes
17
+
18
+ <div class="bg-red-100 text-red-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">red-light</div>
19
+ <div class="bg-orange-100 text-orange-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">orange-light</div>
20
+ <div class="bg-amber-100 text-amber-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">amber-light</div>
21
+ <div class="bg-yellow-100 text-yellow-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">yellow-light</div>
22
+ <div class="bg-lime-100 text-lime-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">lime-light</div>
23
+ <div class="bg-green-100 text-green-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">green-light</div>
24
+ <div class="bg-emerald-100 text-emerald-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">emerald-light</div>
25
+ <div class="bg-teal-100 text-teal-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">teal-light</div>
26
+ <div class="bg-cyan-100 text-cyan-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">cyan-light</div>
27
+ <div class="bg-sky-100 text-sky-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">sky-light</div>
28
+ <div class="bg-blue-100 text-blue-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">blue-light</div>
29
+ <div class="bg-indigo-100 text-indigo-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">indigo-light</div>
30
+ <div class="bg-violet-100 text-violet-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">violet-light</div>
31
+ <div class="bg-purple-100 text-purple-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">purple-light</div>
32
+ <div class="bg-pink-100 text-pink-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">pink-light</div>
33
+ <div class="bg-rose-100 text-rose-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">rose-light</div>
34
+ <div class="bg-fuchsia-100 text-fuchsia-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">fuchsia-light</div>
35
+ <div class="bg-slate-100 text-slate-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">slate-light</div>
36
+ <div class="bg-gray-100 text-gray-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">gray-light</div>
37
+ <div class="bg-zinc-100 text-zinc-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">zinc-light</div>
38
+ <div class="bg-neutral-100 text-neutral-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">neutral-light</div>
39
+ <div class="bg-stone-100 text-stone-500 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">stone-light</div>
40
+
41
+ ## Regular Schemes
42
+
43
+ <div class="bg-red-500 text-red-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">red</div>
44
+ <div class="bg-orange-500 text-orange-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">orange</div>
45
+ <div class="bg-amber-500 text-amber-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">amber</div>
46
+ <div class="bg-yellow-500 text-yellow-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">yellow</div>
47
+ <div class="bg-lime-500 text-lime-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">lime</div>
48
+ <div class="bg-green-500 text-green-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">green</div>
49
+ <div class="bg-emerald-500 text-emerald-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">emerald</div>
50
+ <div class="bg-teal-500 text-teal-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">teal</div>
51
+ <div class="bg-cyan-500 text-cyan-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">cyan</div>
52
+
53
+ <div class="bg-sky-500 text-sky-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">sky</div>
54
+ <div class="bg-blue-500 text-blue-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">blue</div>
55
+ <div class="bg-indigo-500 text-indigo-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">indigo</div>
56
+ <div class="bg-violet-500 text-violet-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">violet</div>
57
+ <div class="bg-purple-500 text-purple-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">purple</div>
58
+ <div class="bg-pink-500 text-pink-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">pink</div>
59
+ <div class="bg-rose-500 text-rose-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">rose</div>
60
+ <div class="bg-fuchsia-500 text-fuchsia-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">fuchsia</div>
61
+ <div class="bg-slate-500 text-slate-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">slate</div>
62
+ <div class="bg-gray-500 text-gray-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">gray</div>
63
+ <div class="bg-zinc-500 text-zinc-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">zinc</div>
64
+ <div class="bg-neutral-500 text-neutral-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">neutral</div>
65
+ <div class="bg-stone-500 text-stone-100 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">stone</div>
66
+
67
+ ## Add-ons
68
+
69
+ These are non-tailwind colors that are used in the project:
70
+
71
+ <div class="text-gray-300 bg-navy-900 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">navy</div>
72
+ <div class="bg-gray-50 text-navy-900 pt-3 pb-3 pl-3 pr-3 m-1 rounded font-size-6 fw-700">navy-light</div>
73
+
74
+ ## Applying Schemes
75
+
76
+ Each scheme sets the following CSS vars:
77
+
78
+ ```css
79
+ --neversink-bg-color
80
+ --neversink-bg-code-color
81
+ --neversink-fg-code-color
82
+ --neversink-fg-color
83
+ --neversink-text-color
84
+ --neversink-border-color
85
+ --neversink-highlight-color
86
+ ```
87
+
88
+ which contains values for these options which might go well together in a monochromatic scheme.
89
+
90
+ To apply the theme to a element you simply add the `neversink-{name}-scheme` class to the element and then add another class which binds the CSS vars as you like.
91
+
92
+ For example, to apply the `red` scheme from above to a `div` element you would add the following classes:
93
+
94
+ ```html
95
+ <div class="neversink-red-scheme colorbinding">This is a red div</div>
96
+ ```
97
+
98
+ and then define the color binding class
99
+
100
+ ```css
101
+ .colorbinding {
102
+ background-color: var(--neversink-bg-color);
103
+ color: var(--neversink-text-color);
104
+ border-color: var(--neversink-border-color);
105
+ }
106
+ ```
107
+
108
+ This provides you flexibility in how you decided to bind elements of the color scheme to your elements.
@@ -0,0 +1,106 @@
1
+ # Admonitions
2
+
3
+ <img src="/screenshots/34.png" alt="admonitions slide example" width="600" class="screenshot mb-10 mt-10"/>
4
+
5
+ ## Description
6
+
7
+ Admonitions are a way to provide additional information to the viewer. They are often used to provide warnings, notes, or tips. Admonitions are styled with a colored border and an icon to indicate the type of admonition.
8
+
9
+ There are two types of Admonitions in this theme:
10
+
11
+ ## `Admonition`
12
+
13
+ The `Admonition` component is used to create a colored box with an icon and a title. The admonition component has the following props:
14
+
15
+ - `title` (optional). Default value is 'Note'
16
+ - `color` (optional) can be any of the [color scheme](/colors) options. If not provided, the default color is `amber-light`.
17
+ - `width` (optional) the width of the admonition. Default is `100%`.
18
+ - `icon` (optional) the icon to display. Default is `mdi-information-variant-circle-outline`.
19
+
20
+ Example:
21
+
22
+ ```md
23
+ <Admonition title="Info" color='teal-light' width="300px">
24
+ This is my admonition content.
25
+ </Admonition>
26
+ ```
27
+
28
+ Renders as:
29
+ <Admonition title="Info" color='teal-light' width="300px">
30
+ This is my admonition content.
31
+ </Admonition>
32
+
33
+ If you want to position it somewhere arbitrary on the slide add v-drag to the admonition and also set the width to something fixed (e.g., `300px`):
34
+
35
+ ```md
36
+ <Admonition title="V-draggable" color='teal-light' width="300px" v-drag>
37
+ This is my admonition content.
38
+ </Admonition>
39
+ ```
40
+
41
+ ## `AdmonitionType`
42
+
43
+ The `AdmonitionType` component is used to create a colored box with an icon and a title. The admonition component has the following props:
44
+
45
+ - `type` (optional). Default value is 'info'. Available types are `info`, `important`, `tip`, `warning`, `caution`. These choose colors and icons to match the type.
46
+ - `width` (optional) the width of the admonition. Default is `100%`.
47
+
48
+ Example:
49
+
50
+ ```md
51
+ <AdmonitionType type="info" width="300px">
52
+ This is my info
53
+ </AdmonitionType>
54
+ ```
55
+
56
+ <AdmonitionType type="info" width="300px">
57
+ This is my warning
58
+ </AdmonitionType>
59
+
60
+ ```md
61
+ <AdmonitionType type="important" width="300px">
62
+ This is my important
63
+ </AdmonitionType>
64
+ ```
65
+
66
+ <AdmonitionType type="important" width="300px">
67
+ This is my important
68
+ </AdmonitionType>
69
+
70
+ ```md
71
+ <AdmonitionType type="tip" width="300px">
72
+ This is my tip
73
+ </AdmonitionType>
74
+ ```
75
+
76
+ <AdmonitionType type="tip" width="300px">
77
+ This is my tip
78
+ </AdmonitionType>
79
+
80
+ ```md
81
+ <AdmonitionType type="warning" width="300px">
82
+ This is mywarning
83
+ </AdmonitionType>
84
+ ```
85
+
86
+ <AdmonitionType type="warning" width="300px">
87
+ This is my warning
88
+ </AdmonitionType>
89
+
90
+ ```md
91
+ <AdmonitionType type="caution" width="300px">
92
+ This is my caution
93
+ </AdmonitionType>
94
+ ```
95
+
96
+ <AdmonitionType type="caution" width="300px">
97
+ This is my caution
98
+ </AdmonitionType>
99
+
100
+ If you want to position it somewhere arbitrary on the slide add v-drag to the admonition and also set the width to something fixed (e.g., `300px`)
101
+
102
+ ```md
103
+ <AdmonitionType type="warning" width="300px" v-drag>
104
+ This is my my warning
105
+ </Admonition>
106
+ ```
@@ -0,0 +1 @@
1
+ # CreditScroll
@@ -0,0 +1,26 @@
1
+ # Kawaii
2
+
3
+ <img src="/screenshots/37.png" alt="kawaii slide example" width="600" class="screenshot mb-10 mt-10"/>
4
+
5
+ ## Description
6
+
7
+ Kawaii are little characters you can include in slides to add a bit of fun/whimsy. Code and illustrations based on [Vue Kawaii](https://github.com/youngtailors/vue-kawaii).
8
+
9
+ ## Kawaii components
10
+
11
+ The `Qr` component is used to create QR code in SVG format. The QRCode component has the following props:
12
+
13
+ - `mood` (required). Sets the style of face. Options are `sad`, `shocked`, `happy`, `blissful`, `lovestruck`, `excited`, `ko`. Default is `blissful`.
14
+ - `:size` (required) the width of the character (height adjusts automatically).
15
+ - `:color` (optional) Sets the primary color. Defaults are unique for each character Set using a hex code.
16
+
17
+ The character options are `IceCream`, `Backpack`, `Cat`, `Browser`, `Mug`, `Planet`, `SpeechBubbleGuy`, and `CreditCard`.
18
+
19
+ Example:
20
+
21
+ ```md
22
+ <IceCream :size="140" mood="sad" color="#FDA7DC" />
23
+ ```
24
+
25
+ Renders as:
26
+ <IceCream :size="140" mood="blissful" color="#FDA7DC" />
@@ -0,0 +1,24 @@
1
+ # QRCode
2
+
3
+ <img src="/screenshots/38.png" alt="qr code slide example" width="600" class="screenshot mb-10 mt-10"/>
4
+
5
+ ## Description
6
+
7
+ QRCodes make it easy to share links in your slides without consulting a QR-code generator. They are useful for sharing links to slides, websites, or other resources.
8
+
9
+ ## `QRCode`
10
+
11
+ The `Qr` component is used to create QR code in SVG format. The QRCode component has the following props:
12
+
13
+ - `value` (required). The url you want to send people to.
14
+ - `:size` (required) the width/height of the QR code.
15
+ - `render-as` (optional) the type of QR code to render. Default is `svg`. Other options are `canvas` and `img`.
16
+
17
+ Example:
18
+
19
+ ```md
20
+ <QRCode value="https://sli.dev" :size="200" render-as="svg"/>
21
+ ```
22
+
23
+ Renders as:
24
+ <QRCode value="https://sli.dev" :size="200" render-as="svg"/>
@@ -0,0 +1,69 @@
1
+ # SpeechBubble
2
+
3
+ <img src="/screenshots/35.png" alt="speechbubbles slide example" width="600" class="screenshot mb-10 mt-10"/>
4
+
5
+ ## Description
6
+
7
+ StickyNotes are a take on the classic computer metaphor of a sticknote. They are often used to provide notes or additional information to the viewer.
8
+
9
+ ## `SpeechBubble`
10
+
11
+ The `SpeechBubble` component is used to create a colored bubble with a speech bubble tail. The `SpeechBubble` has the following props:
12
+
13
+ - `position` (optional). Default value is `b`. Options are `t` (top), `b` (bottom), `l` (left), `r` (right), `tl` (top left), `tr` (top right), `bl` (bottom left), `br` (bottom right).
14
+ - `shape` (optional). Default value is `''`. Options are `round` and `circle` which affect the corner radius of the bubble.
15
+ - `animation` (optional). Default value is `''`. Options are `pop` and `float`
16
+ - `color` (optional) can be any of the [color scheme](/colors) options. If not provided, the default color is `red-light`.
17
+ - `textAlign` (optional) the text alignment of the content. Default is `left`.
18
+ - `maxWidth` (optional) the maximum width of the speech bubble. Default is `100%`.
19
+ - `borderWidth` (optional) the width of the border. Default is `1px`.
20
+
21
+ Example:
22
+
23
+ ```md
24
+ <SpeechBubble position="r" color='sky' shape="round" maxWidth="300px">
25
+
26
+ Hello, I'm a **speech bubble**! I'm a longer speech bubble. I'm still going.
27
+ </SpeechBubble>
28
+ ```
29
+
30
+ Renders as:
31
+ <SpeechBubble position="r" color='sky' shape="round" maxWidth="300px">
32
+
33
+ Hello, I'm a **speech bubble**! I'm a longer speech bubble. I'm still going.
34
+ </SpeechBubble>
35
+
36
+ ```md
37
+ <SpeechBubble position="b" color='sky' shape="round" maxWidth="300px">
38
+
39
+ Hello, I'm a **speech bubble**! I'm a longer speech bubble. I'm still going.
40
+ </SpeechBubble>
41
+ ```
42
+
43
+ Renders as:
44
+ <SpeechBubble position="b" color='sky' shape="round" maxWidth="300px">
45
+
46
+ Hello, I'm a **speech bubble**! I'm a longer speech bubble. I'm still going.
47
+ </SpeechBubble>
48
+
49
+ ```md
50
+ <SpeechBubble position="t" color='amber' shape="round" maxWidth="300px">
51
+
52
+ Hello, I'm a **speech bubble**! I'm a longer speech bubble. I'm still going.
53
+ </SpeechBubble>
54
+ ```
55
+
56
+ Renders as:
57
+ <SpeechBubble position="t" color='amber' shape="round" maxWidth="300px">
58
+
59
+ Hello, I'm a **speech bubble**! I'm a longer speech bubble. I'm still going.
60
+ </SpeechBubble>
61
+
62
+ If you want to position it somewhere arbitrary on the slide add v-drag to the admonition and also set the maxWidth to something fixed (e.g., `300px`):
63
+
64
+ ```md
65
+ <SpeechBubble position="t" color='sky' shape="round" maxWidth="300px" v-drag>
66
+
67
+ Hello, I'm a **speech bubble**! I'm a longer speech bubble. I'm still going.
68
+ </SpeechBubble>
69
+ ```