slidev-theme-the-unnamed 0.0.2 → 0.0.3
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.
- package/README.md +87 -2
- package/components/.gitkeep +0 -0
- package/example.md +92 -10
- package/layouts/about-me.vue +48 -0
- package/layouts/cover.vue +1 -1
- package/layouts/default.vue +7 -0
- package/layouts/section.vue +2 -4
- package/package.json +3 -2
- package/styles/code.css +13 -4
- package/styles/layout.css +137 -49
- package/components/Box.vue +0 -45
- package/components/Oval.vue +0 -45
- package/components/ShowHide.vue +0 -48
- package/layouts/flex.vue +0 -83
- package/layouts/intro.vue +0 -7
- package/layouts/quote.vue +0 -7
- package/layouts/statement.vue +0 -7
package/README.md
CHANGED
|
@@ -2,8 +2,93 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/slidev-theme-the-unnamed)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
A [Slidev](https://sli.dev/) theme based on the [The unnamed - VS Code theme](https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-unnamed-theme) by [Elio Struyf](https://elio.dev).
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
Add the following frontmatter to your `slides.md`. Start Slidev then it will prompt you to install the theme automatically.
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
---
|
|
13
|
+
theme: the-unnamed
|
|
14
|
+
---
|
|
15
|
+
```
|
|
6
16
|
|
|
7
17
|
## Layouts
|
|
8
18
|
|
|
9
|
-
|
|
19
|
+
The theme currently has the following layouts:
|
|
20
|
+
|
|
21
|
+
- `default`
|
|
22
|
+
- `cover`
|
|
23
|
+
- `section`
|
|
24
|
+
- `about-me`
|
|
25
|
+
- and the ones from Slidev itself
|
|
26
|
+
|
|
27
|
+
### Cover
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
**Usage**
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
---
|
|
35
|
+
layout: cover
|
|
36
|
+
background: <image url> (optional)
|
|
37
|
+
---
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### About me
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
|
|
44
|
+
**Usage**
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
---
|
|
48
|
+
layout: about-me
|
|
49
|
+
|
|
50
|
+
helloMsg: Hello!
|
|
51
|
+
name: <name>
|
|
52
|
+
imageSrc: <image url>
|
|
53
|
+
job: <job title>
|
|
54
|
+
line1:
|
|
55
|
+
line2:
|
|
56
|
+
social1:
|
|
57
|
+
social2:
|
|
58
|
+
social3:
|
|
59
|
+
---
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Default
|
|
63
|
+
|
|
64
|
+

|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Cusomizations
|
|
68
|
+
|
|
69
|
+
You can customize the theme by adding the following frontmatter to your `slides.md`.
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
themeConfig:
|
|
73
|
+
background: "#161C2C"
|
|
74
|
+
color: "#F3EFF5"
|
|
75
|
+
|
|
76
|
+
accents-teal: "#44FFD2"
|
|
77
|
+
accents-yellow: "#FFE45E"
|
|
78
|
+
accents-red: "#FE4A49"
|
|
79
|
+
accents-lightblue: "#15C2CB"
|
|
80
|
+
accents-blue: "#5EADF2"
|
|
81
|
+
accents-vulcan: "#0E131F"
|
|
82
|
+
|
|
83
|
+
code-background: "#0F131E"
|
|
84
|
+
code-border: "#242d34"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Components
|
|
88
|
+
|
|
89
|
+
*Coming later*
|
|
90
|
+
|
|
91
|
+
<br />
|
|
92
|
+
<br />
|
|
93
|
+
|
|
94
|
+
[](https://visitorbadge.io/status?path=https%3A%2F%2Fgithub.com%2Festruyf%2Fslidev-theme-the-unnamed)
|
|
File without changes
|
package/example.md
CHANGED
|
@@ -1,12 +1,104 @@
|
|
|
1
1
|
---
|
|
2
2
|
theme: ./
|
|
3
3
|
background: https://source.unsplash.com/collection/94734566/1920x1080
|
|
4
|
+
|
|
5
|
+
themeConfig:
|
|
6
|
+
background: "#161C2C"
|
|
7
|
+
color: "#F3EFF5"
|
|
8
|
+
accents-teal: "#44FFD2"
|
|
9
|
+
accents-yellow: "#FFE45E"
|
|
10
|
+
accents-red: "#FE4A49"
|
|
11
|
+
accents-lightblue: "#15C2CB"
|
|
12
|
+
accents-blue: "#5EADF2"
|
|
13
|
+
accents-vulcan: "#0E131F"
|
|
14
|
+
code-background: "#0F131E"
|
|
15
|
+
code-border: "#242d34"
|
|
4
16
|
---
|
|
5
17
|
|
|
6
18
|
# Slidev - The Unnamed
|
|
7
19
|
|
|
8
20
|
Created by [Elio Struyf](https://elio.dev)
|
|
9
21
|
|
|
22
|
+
---
|
|
23
|
+
layout: about-me
|
|
24
|
+
|
|
25
|
+
helloMsg: Hello!
|
|
26
|
+
name: Elio Struyf
|
|
27
|
+
imageSrc: https://elio.dev/eliostruyf_2022.jpg
|
|
28
|
+
job: Lead DevTools Engineer @ Rapid
|
|
29
|
+
line1: "#Stickerpreneur @ pyod.shop"
|
|
30
|
+
line2: "#Maintainer @ Front Matter CMS"
|
|
31
|
+
social1: "@eliostruyf"
|
|
32
|
+
social2: eliostruyf.com
|
|
33
|
+
social3: elio@struyfconsulting.be
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
layout: cover
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# Cover title
|
|
41
|
+
|
|
42
|
+
Subtitle for the cover
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
layout: section
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
# Section title
|
|
49
|
+
|
|
50
|
+
Subtitle for the section
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
# Code with Shiki and The unnamed theme
|
|
55
|
+
|
|
56
|
+
The code highlighting is powered by Shiki and [The unnamed - VS Code theme](https://marketplace.visualstudio.com/items?itemName=eliostruyf.vscode-unnamed-theme)
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
interface User {
|
|
60
|
+
id: number
|
|
61
|
+
firstName: string
|
|
62
|
+
lastName: string
|
|
63
|
+
role: string
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function updateUser(id: number, update: Partial<User>) {
|
|
67
|
+
const user = getUser(id)
|
|
68
|
+
const newUser = { ...user, ...update }
|
|
69
|
+
saveUser(id, newUser)
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
# Table
|
|
76
|
+
|
|
77
|
+
| Title | Description | Default |
|
|
78
|
+
| --- | --- | --- |
|
|
79
|
+
| `layout` | The layout to use for the slide | `default` |
|
|
80
|
+
| `theme` | The theme to use for the slide | `the-unnamed` |
|
|
81
|
+
| `highlighter` | The highlighter to use for the slide | `shiki` |
|
|
82
|
+
| `background` | The background to use for the slide | `none` |
|
|
83
|
+
|
|
84
|
+
## Content test underneath
|
|
85
|
+
|
|
86
|
+
Some content to place here
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
# Heading 1
|
|
91
|
+
|
|
92
|
+
## Heading 2
|
|
93
|
+
|
|
94
|
+
### Heading 3
|
|
95
|
+
|
|
96
|
+
#### Heading 4
|
|
97
|
+
|
|
98
|
+
##### Heading 5
|
|
99
|
+
|
|
100
|
+
> **Info**: This is a note
|
|
101
|
+
|
|
10
102
|
---
|
|
11
103
|
|
|
12
104
|
# What is Slidev?
|
|
@@ -74,13 +166,3 @@ class: "text-center"
|
|
|
74
166
|
# Learn More
|
|
75
167
|
|
|
76
168
|
[Documentations](https://sli.dev) / [GitHub Repo](https://github.com/slidevjs/slidev)
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
layout: flex
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
# `flex` layout
|
|
83
|
-
|
|
84
|
-
The `flex` layout is similar to cover, but with a bit more space for the content. Opacity is set to `1`.
|
|
85
|
-
|
|
86
|
-
> **Info**: This is a note
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
import { handleBackground } from '@slidev/client/layoutHelper'
|
|
4
|
+
|
|
5
|
+
const props = defineProps<{
|
|
6
|
+
imageSrc?: string
|
|
7
|
+
helloMsg?: string
|
|
8
|
+
name?: string
|
|
9
|
+
job?: string
|
|
10
|
+
line1?: string
|
|
11
|
+
line2?: string
|
|
12
|
+
email?: string
|
|
13
|
+
social1?: string
|
|
14
|
+
social2?: string
|
|
15
|
+
social3?: string
|
|
16
|
+
}>()
|
|
17
|
+
|
|
18
|
+
const style = computed(() => handleBackground(props.imageSrc, false))
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<template>
|
|
22
|
+
<div class="slidev-layout about-me p-0">
|
|
23
|
+
<div class="flex h-full">
|
|
24
|
+
<div class="w-1/2 h-full flex flex-col justify-end" :style="style">
|
|
25
|
+
</div>
|
|
26
|
+
<div class="w-1/2 flex flex-col justify-between items-end px-8 py-16">
|
|
27
|
+
<h1 v-if="helloMsg" class="flex">{{ helloMsg }}</h1>
|
|
28
|
+
|
|
29
|
+
<div class="flex flex-col justify-end items-end text-right py-16">
|
|
30
|
+
<h2 class="font-extrabold">{{ name }}</h2>
|
|
31
|
+
|
|
32
|
+
<div class="text-2xl space-y-2 mt-4">
|
|
33
|
+
<p class="job">{{ job }}</p>
|
|
34
|
+
<p class="line-1">{{ line1 }}</p>
|
|
35
|
+
<p class="line-2">{{ line2 }}</p>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<div class="text-2xl space-y-2 mt-4">
|
|
39
|
+
<p class="social social-1">{{ social1 }}</p>
|
|
40
|
+
<p class="social social-2">{{ social2 }}</p>
|
|
41
|
+
<p class="social social-3">{{ social3 }}</p>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</template>
|
|
48
|
+
|
package/layouts/cover.vue
CHANGED
package/layouts/section.vue
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slidev-theme-the-unnamed",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"slidev-theme",
|
|
6
6
|
"slidev"
|
|
@@ -37,5 +37,6 @@
|
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"author": "Elio Struyf <elio@struyfconsulting.be>",
|
|
40
|
-
"funding": "https://github.com/sponsors/estruyf"
|
|
40
|
+
"funding": "https://github.com/sponsors/estruyf",
|
|
41
|
+
"bugs": "https://github.com/estruyf/slidev-theme-the-unnamed/issues"
|
|
41
42
|
}
|
package/styles/code.css
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
.shiki-dark {
|
|
2
|
-
background: var(--slidev-code-background) !important;
|
|
2
|
+
background: var(--slidev-theme-code-background) !important;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
:not(pre) > code {
|
|
6
|
-
background: var(--slidev-code-background) !important;
|
|
6
|
+
background: var(--slidev-theme-code-background) !important;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
.shiki-container {
|
|
10
10
|
@apply mb-4;
|
|
11
11
|
|
|
12
|
+
.slidev-code {
|
|
13
|
+
border: 1px solid var(--slidev-code-border);
|
|
14
|
+
}
|
|
15
|
+
|
|
12
16
|
code, pre {
|
|
13
17
|
font-size: 1em;
|
|
14
18
|
}
|
|
@@ -20,6 +24,11 @@
|
|
|
20
24
|
opacity: 0.50;
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
:not(pre) > code
|
|
24
|
-
|
|
27
|
+
:not(pre) > code {
|
|
28
|
+
&:before {
|
|
29
|
+
margin-right: -0.08em;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
outline: 1px solid var(--slidev-code-border);
|
|
33
|
+
@apply rounded-sm;
|
|
25
34
|
}
|
package/styles/layout.css
CHANGED
|
@@ -2,27 +2,85 @@
|
|
|
2
2
|
// default theme color
|
|
3
3
|
// can be overrided by uses `themeConfig` option
|
|
4
4
|
--slidev-theme-primary: #161C2C;
|
|
5
|
-
--slidev-slide-container-background: #161C2C;
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
--slidev-
|
|
9
|
-
--slidev-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
--slidev-
|
|
13
|
-
--slidev-
|
|
14
|
-
|
|
6
|
+
/* Custom colors*/
|
|
7
|
+
--slidev-theme-color: #F3EFF5;
|
|
8
|
+
--slidev-theme-background: #161C2C;
|
|
9
|
+
|
|
10
|
+
// Code colors
|
|
11
|
+
--slidev-theme-code-background: #0F131E;
|
|
12
|
+
--slidev-theme-code-border: #242d34;
|
|
13
|
+
|
|
14
|
+
// Accent colors
|
|
15
|
+
--slidev-theme-accents-teal: #44FFD2;
|
|
16
|
+
--slidev-theme-accents-yellow: #FFE45E;
|
|
17
|
+
--slidev-theme-accents-red: #FE4A49;
|
|
18
|
+
--slidev-theme-accents-lightblue: #15C2CB;
|
|
19
|
+
--slidev-theme-accents-blue: #5EADF2;
|
|
20
|
+
--slidev-theme-accents-vulcan: #0E131F;
|
|
15
21
|
}
|
|
16
22
|
|
|
17
|
-
|
|
23
|
+
/* The unnamed styles */
|
|
18
24
|
.dark #slide-content,
|
|
19
25
|
.dark .bg-main {
|
|
20
|
-
background: var(--slidev-
|
|
21
|
-
color: var(--slidev-
|
|
26
|
+
background: var(--slidev-theme-background);
|
|
27
|
+
color: var(--slidev-theme-color);
|
|
22
28
|
}
|
|
23
29
|
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
// General layout styles
|
|
31
|
+
.slidev-layout {
|
|
32
|
+
h1 + p {
|
|
33
|
+
opacity: 1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
blockquote {
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
background: var(--slidev-theme-code-background);
|
|
40
|
+
color: var(--slidev-theme-color);
|
|
41
|
+
border-color: #F141A8;
|
|
42
|
+
border-left-width: 3px;
|
|
43
|
+
font-size: 1.1em;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
h1 {
|
|
47
|
+
@apply text-4xl;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
h2 {
|
|
51
|
+
@apply text-3xl;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
h3 {
|
|
55
|
+
@apply text-2xl;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
h4 {
|
|
59
|
+
@apply text-xl;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
h5 {
|
|
63
|
+
@apply text-base;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
a {
|
|
67
|
+
color: inherit;
|
|
68
|
+
|
|
69
|
+
&:hover {
|
|
70
|
+
color: inherit;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
p + h2,
|
|
75
|
+
ul + h2,
|
|
76
|
+
table + h2,
|
|
77
|
+
p + blockquote,
|
|
78
|
+
h2 + blockquote,
|
|
79
|
+
h3 + blockquote,
|
|
80
|
+
h4 + blockquote,
|
|
81
|
+
h5 + blockquote {
|
|
82
|
+
@apply mt-8;
|
|
83
|
+
}
|
|
26
84
|
}
|
|
27
85
|
|
|
28
86
|
.slidev-layout.cover,
|
|
@@ -36,15 +94,14 @@
|
|
|
36
94
|
h1 + p {
|
|
37
95
|
@apply -mt-2 opacity-50 mb-4;
|
|
38
96
|
}
|
|
39
|
-
|
|
40
|
-
p + h2, ul + h2, table + h2 {
|
|
41
|
-
@apply mt-10;
|
|
42
|
-
}
|
|
43
97
|
}
|
|
44
98
|
|
|
45
99
|
.slidev-layout.cover,
|
|
100
|
+
.slidev-layout.section,
|
|
101
|
+
.slidev-layout.intro,
|
|
46
102
|
.slidev-layout.default,
|
|
47
|
-
.slidev-layout.center
|
|
103
|
+
.slidev-layout.center,
|
|
104
|
+
.slidev-layout[layout="default"] {
|
|
48
105
|
h1 {
|
|
49
106
|
display: inline-block;
|
|
50
107
|
padding: 0.25em;
|
|
@@ -63,9 +120,29 @@
|
|
|
63
120
|
z-index: -1;
|
|
64
121
|
transform: rotate(-1deg);
|
|
65
122
|
}
|
|
123
|
+
|
|
124
|
+
code {
|
|
125
|
+
background: transparent !important;
|
|
126
|
+
font-size: inherit;
|
|
127
|
+
outline: 0 !important;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
// Default
|
|
134
|
+
.slidev-layout.default,
|
|
135
|
+
.slidev-layout[layout="default"] {
|
|
136
|
+
h1 {
|
|
137
|
+
color: var(--slidev-theme-code-background);
|
|
138
|
+
|
|
139
|
+
&::before {
|
|
140
|
+
background: var(--slidev-theme-accents-yellow);
|
|
141
|
+
}
|
|
66
142
|
}
|
|
67
143
|
}
|
|
68
144
|
|
|
145
|
+
// Cover
|
|
69
146
|
.slidev-layout.cover {
|
|
70
147
|
|
|
71
148
|
&::before {
|
|
@@ -81,29 +158,28 @@
|
|
|
81
158
|
&.slidev-page-1 {
|
|
82
159
|
p {
|
|
83
160
|
font-weight: bold;
|
|
84
|
-
padding-left: 1.25em;
|
|
85
161
|
}
|
|
86
162
|
}
|
|
87
163
|
|
|
88
164
|
h1 + p {
|
|
89
165
|
opacity: 0.7;
|
|
166
|
+
padding-left: 1.25em;
|
|
90
167
|
}
|
|
91
168
|
|
|
92
169
|
> div {
|
|
93
170
|
z-index: 1;
|
|
94
171
|
|
|
95
172
|
h1 {
|
|
96
|
-
color:
|
|
173
|
+
color: var(--slidev-theme-accents-vulcan);
|
|
97
174
|
padding: .25em .5em;
|
|
98
175
|
margin: 0;
|
|
99
|
-
font-size: 3em;
|
|
100
176
|
|
|
101
177
|
&::before {
|
|
102
178
|
width: calc(100% - 0.5em);
|
|
103
179
|
height: calc(100% - 0.25em);
|
|
104
180
|
margin-left: -0.25em;
|
|
105
181
|
margin-top: -0.12em;
|
|
106
|
-
background: var(--slidev-accents-teal);
|
|
182
|
+
background: var(--slidev-theme-accents-teal);
|
|
107
183
|
}
|
|
108
184
|
}
|
|
109
185
|
|
|
@@ -115,36 +191,57 @@
|
|
|
115
191
|
|
|
116
192
|
h2 {
|
|
117
193
|
margin: .5em 0 0;
|
|
194
|
+
padding-left: .5em;
|
|
118
195
|
}
|
|
119
196
|
|
|
120
197
|
code {
|
|
121
|
-
color: var(--slidev-
|
|
122
|
-
border-radius: 0 !important;
|
|
198
|
+
color: var(--slidev-theme-color);
|
|
123
199
|
}
|
|
124
200
|
}
|
|
125
201
|
}
|
|
126
202
|
|
|
127
|
-
|
|
203
|
+
// Section
|
|
204
|
+
.slidev-layout.section {
|
|
205
|
+
display: flex;
|
|
206
|
+
flex-direction: column;
|
|
207
|
+
justify-content: center;
|
|
208
|
+
|
|
209
|
+
height: 100%;
|
|
210
|
+
font-size: 1.1rem;
|
|
211
|
+
line-height: 1;
|
|
212
|
+
padding-left: 3.5rem;
|
|
213
|
+
padding-right: 3.5rem;
|
|
214
|
+
padding-top: 2.5rem;
|
|
215
|
+
padding-bottom: 2.5rem;
|
|
216
|
+
|
|
128
217
|
h1 {
|
|
129
|
-
color: var(--slidev-code-background);
|
|
130
|
-
|
|
218
|
+
color: var(--slidev-theme-code-background);
|
|
219
|
+
font-size: 2.25rem;
|
|
220
|
+
line-height: 2.5rem;
|
|
221
|
+
margin-left: -0.05em;
|
|
222
|
+
width: fit-content;
|
|
223
|
+
position: relative;
|
|
131
224
|
|
|
132
225
|
&::before {
|
|
133
|
-
background: var(--slidev-accents-
|
|
226
|
+
background: var(--slidev-theme-accents-lightblue);
|
|
134
227
|
}
|
|
228
|
+
}
|
|
135
229
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
230
|
+
p {
|
|
231
|
+
font-size: 1.25rem;
|
|
232
|
+
margin-bottom: 1em;
|
|
233
|
+
line-height: 1.25em;
|
|
139
234
|
}
|
|
140
235
|
}
|
|
141
236
|
|
|
142
|
-
|
|
237
|
+
// Center
|
|
238
|
+
.slidev-layout.center {
|
|
143
239
|
h1 {
|
|
144
|
-
color: var(--slidev-code-background);
|
|
240
|
+
color: var(--slidev-theme-code-background);
|
|
241
|
+
margin-bottom: 0;
|
|
145
242
|
|
|
146
243
|
&::before {
|
|
147
|
-
background: var(--slidev-accents-
|
|
244
|
+
background: var(--slidev-theme-accents-blue);
|
|
148
245
|
}
|
|
149
246
|
|
|
150
247
|
code {
|
|
@@ -153,22 +250,13 @@
|
|
|
153
250
|
}
|
|
154
251
|
}
|
|
155
252
|
|
|
156
|
-
|
|
157
|
-
display: flex;
|
|
158
|
-
align-items: center;
|
|
159
|
-
background: var(--slidev-code-background);
|
|
160
|
-
color: var(--slidev-slide-color);
|
|
161
|
-
border-color: #F141A8;
|
|
162
|
-
border-left-width: 3px;
|
|
163
|
-
font-size: 1.1em;
|
|
164
|
-
}
|
|
165
|
-
|
|
253
|
+
/* About me slide */
|
|
166
254
|
.about-me {
|
|
167
|
-
background: var(--slidev-
|
|
168
|
-
color: var(--slidev-code-background) !important;
|
|
255
|
+
background: var(--slidev-theme-color) !important;
|
|
256
|
+
color: var(--slidev-theme-code-background) !important;
|
|
169
257
|
|
|
170
258
|
h1 {
|
|
171
|
-
background: var(--slidev-accents-yellow);
|
|
259
|
+
background: var(--slidev-theme-accents-yellow);
|
|
172
260
|
display: inline-block;
|
|
173
261
|
padding: 0.25em;
|
|
174
262
|
font-weight: bold;
|
|
@@ -176,7 +264,7 @@
|
|
|
176
264
|
}
|
|
177
265
|
|
|
178
266
|
h2 {
|
|
179
|
-
color: var(--slidev-accents-red);
|
|
267
|
+
color: var(--slidev-theme-accents-red);
|
|
180
268
|
font-size: 2.5em;
|
|
181
269
|
}
|
|
182
270
|
|
package/components/Box.vue
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Usage:
|
|
3
|
-
|
|
4
|
-
<box left="430px" top="350px" width="330px" height="45px" borderColor="#44FFD2" borderWidth="5px" borderStyle="solid" />
|
|
5
|
-
-->
|
|
6
|
-
|
|
7
|
-
<script setup lang="ts">
|
|
8
|
-
import { computed } from 'vue';
|
|
9
|
-
|
|
10
|
-
const props = defineProps<{
|
|
11
|
-
x: number | string
|
|
12
|
-
y: number | string
|
|
13
|
-
backgroundColor?: string
|
|
14
|
-
borderColor?: string
|
|
15
|
-
borderStyle?: string
|
|
16
|
-
borderWidth?: string
|
|
17
|
-
width?: string
|
|
18
|
-
height?: string
|
|
19
|
-
title?: string
|
|
20
|
-
description?: string
|
|
21
|
-
textColor?: string
|
|
22
|
-
}>()
|
|
23
|
-
|
|
24
|
-
const style = computed(() => ({
|
|
25
|
-
'width': props.width || `100px`,
|
|
26
|
-
'height': props.height || `100px`,
|
|
27
|
-
'top': props.y,
|
|
28
|
-
'left': props.x,
|
|
29
|
-
'background-color': props.backgroundColor || undefined,
|
|
30
|
-
'border-color': props.borderColor || `#fff`,
|
|
31
|
-
'border-width': props.borderWidth || `2px`,
|
|
32
|
-
'border-style': props.borderStyle || `solid`,
|
|
33
|
-
'color': props.textColor || undefined,
|
|
34
|
-
'content': `' '`
|
|
35
|
-
}))
|
|
36
|
-
</script>
|
|
37
|
-
|
|
38
|
-
<template>
|
|
39
|
-
<div
|
|
40
|
-
class="absolute flex flex-col justify-center items-center text-base text-center p-4 space-y-2"
|
|
41
|
-
:style="style">
|
|
42
|
-
<h2 v-if="title">{{ title }}</h2>
|
|
43
|
-
<p v-if="description">{{ description }}</p>
|
|
44
|
-
</div>
|
|
45
|
-
</template>
|
package/components/Oval.vue
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Usage:
|
|
3
|
-
|
|
4
|
-
<circle left="430px" top="350px" width="330px" height="45px" borderColor="#44FFD2" borderWidth="5px" borderStyle="solid" />
|
|
5
|
-
-->
|
|
6
|
-
|
|
7
|
-
<script setup lang="ts">
|
|
8
|
-
import { computed } from 'vue';
|
|
9
|
-
|
|
10
|
-
const props = defineProps<{
|
|
11
|
-
x: number | string
|
|
12
|
-
y: number | string
|
|
13
|
-
backgroundColor?: string
|
|
14
|
-
borderColor?: string
|
|
15
|
-
borderStyle?: string
|
|
16
|
-
borderWidth?: string
|
|
17
|
-
width?: string
|
|
18
|
-
height?: string
|
|
19
|
-
title?: string
|
|
20
|
-
description?: string
|
|
21
|
-
textColor?: string
|
|
22
|
-
}>()
|
|
23
|
-
|
|
24
|
-
const style = computed(() => ({
|
|
25
|
-
'width': props.width || `100px`,
|
|
26
|
-
'height': props.height || `100px`,
|
|
27
|
-
'top': props.y,
|
|
28
|
-
'left': props.x,
|
|
29
|
-
'background-color': props.backgroundColor || undefined,
|
|
30
|
-
'border-color': props.borderColor || `#fff`,
|
|
31
|
-
'border-width': props.borderWidth || `2px`,
|
|
32
|
-
'border-style': props.borderStyle || `solid`,
|
|
33
|
-
'color': props.textColor || undefined,
|
|
34
|
-
'content': `' '`
|
|
35
|
-
}))
|
|
36
|
-
</script>
|
|
37
|
-
|
|
38
|
-
<template>
|
|
39
|
-
<div
|
|
40
|
-
class="absolute flex flex-col justify-center items-center rounded-full text-base text-center p-4 space-y-2"
|
|
41
|
-
:style="style">
|
|
42
|
-
<h2 v-if="title">{{ title }}</h2>
|
|
43
|
-
<p v-if="description">{{ description }}</p>
|
|
44
|
-
</div>
|
|
45
|
-
</template>
|
package/components/ShowHide.vue
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Example:
|
|
3
|
-
|
|
4
|
-
---
|
|
5
|
-
clicks: 4
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Common capabilities of extensions
|
|
9
|
-
|
|
10
|
-
- Registering commands, configurations, keybindings, or menus
|
|
11
|
-
- Storing workspace or global state
|
|
12
|
-
- Displaying notifications
|
|
13
|
-
- Collect user input
|
|
14
|
-
- Open files, folders, or URLs
|
|
15
|
-
- Theming
|
|
16
|
-
- Language features
|
|
17
|
-
|
|
18
|
-
<ShowHide show="1" hide="2">
|
|
19
|
-
Show on click 1, hide on 2, {{ $slidev.nav.clicks }}
|
|
20
|
-
</ShowHide>
|
|
21
|
-
<ShowHide show="2" hide="3">
|
|
22
|
-
Show on click 1, hide on 2, {{ $slidev.nav.clicks }}
|
|
23
|
-
</ShowHide>
|
|
24
|
-
|
|
25
|
-
-->
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<script setup lang="ts">
|
|
29
|
-
import { ref, resolveDirective } from 'vue'
|
|
30
|
-
|
|
31
|
-
const props = defineProps({
|
|
32
|
-
show: {
|
|
33
|
-
type: Number,
|
|
34
|
-
default: null
|
|
35
|
-
},
|
|
36
|
-
hide: {
|
|
37
|
-
type: Number,
|
|
38
|
-
default: null
|
|
39
|
-
},
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
const show = ref(props.show)
|
|
43
|
-
const hide = ref(props.hide)
|
|
44
|
-
</script>
|
|
45
|
-
|
|
46
|
-
<template>
|
|
47
|
-
<slot v-if="$slidev.nav.clicks >= parseInt(show) && $slidev.nav.clicks < parseInt(hide)" />
|
|
48
|
-
</template>
|
package/layouts/flex.vue
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="flexBox">
|
|
3
|
-
<slot />
|
|
4
|
-
</div>
|
|
5
|
-
</template>
|
|
6
|
-
|
|
7
|
-
<style lang="postcss">
|
|
8
|
-
.flexBox {
|
|
9
|
-
display: flex;
|
|
10
|
-
flex-direction: column;
|
|
11
|
-
justify-content: center;
|
|
12
|
-
|
|
13
|
-
height: 100%;
|
|
14
|
-
font-size: 1.1rem;
|
|
15
|
-
line-height: 1;
|
|
16
|
-
padding-left: 3.5rem;
|
|
17
|
-
padding-right: 3.5rem;
|
|
18
|
-
padding-top: 2.5rem;
|
|
19
|
-
padding-bottom: 2.5rem;
|
|
20
|
-
|
|
21
|
-
h1 {
|
|
22
|
-
/* background: #15C2CB; */
|
|
23
|
-
display: inline-block;
|
|
24
|
-
padding: 0.25em;
|
|
25
|
-
color: #0F131E;
|
|
26
|
-
margin-bottom: 1em;
|
|
27
|
-
width: fit-content;
|
|
28
|
-
position: relative;
|
|
29
|
-
|
|
30
|
-
font-size: 2.25rem;
|
|
31
|
-
line-height: 2.5rem;
|
|
32
|
-
margin-left: -0.05em;
|
|
33
|
-
|
|
34
|
-
&::before {
|
|
35
|
-
content: " ";
|
|
36
|
-
display: block;
|
|
37
|
-
position: absolute;
|
|
38
|
-
width: calc(100%);
|
|
39
|
-
height: calc(100%);
|
|
40
|
-
margin-left: -0.25em;
|
|
41
|
-
margin-top: -0.25em;
|
|
42
|
-
background: #15C2CB;
|
|
43
|
-
z-index: -1;
|
|
44
|
-
transform: rotate(-1deg);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
code {
|
|
48
|
-
background: transparent !important;
|
|
49
|
-
font-size: 2.25rem;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
p {
|
|
54
|
-
font-size: 1.25rem;
|
|
55
|
-
margin-bottom: 1em;
|
|
56
|
-
line-height: 1.25em;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
code {
|
|
60
|
-
font-size: 1.10rem;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
blockquote {
|
|
64
|
-
display: flex;
|
|
65
|
-
align-items: center;
|
|
66
|
-
background: #0F131E;
|
|
67
|
-
color: #F3EFF5;
|
|
68
|
-
border-color: #F141A8;
|
|
69
|
-
border-left-width: 3px;
|
|
70
|
-
border-radius: 0.25rem;
|
|
71
|
-
font-size: 1.1em;
|
|
72
|
-
line-height: 1.25rem;
|
|
73
|
-
padding-left: 0.5rem;
|
|
74
|
-
padding-right: 0.5rem;
|
|
75
|
-
padding-top: 0.25rem;
|
|
76
|
-
padding-bottom: 0.25rem;
|
|
77
|
-
|
|
78
|
-
p {
|
|
79
|
-
margin-bottom: 0;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
</style>
|
package/layouts/intro.vue
DELETED
package/layouts/quote.vue
DELETED