diff --git a/slides.md b/slides.md
index db26094..51e6f0e 100644
--- a/slides.md
+++ b/slides.md
@@ -1,14 +1,13 @@
---
-theme: ./theme
-background: ""
+theme: ./slidev-theme-rkv
class: text-center
lineNumbers: false
transition: slide-left
title: Radioamaterski tečaj
favicon: favicon.ico
defaults:
- layout: 'flex'
-layout: 'cover'
+ layout: flex
+layout: cover
download: true
---
diff --git a/slides_uvod.md b/slides_uvod.md
index 75ec5bc..27c04c3 100644
--- a/slides_uvod.md
+++ b/slides_uvod.md
@@ -1,14 +1,13 @@
---
-theme: ./theme
-background: ""
+theme: ./slidev-theme-rkv
class: text-center
lineNumbers: false
transition: slide-left
title: Radioamaterski tečaj
favicon: favicon.ico
defaults:
- layout: 'flex'
-layout: 'cover'
+ layout: flex
+layout: cover
---
diff --git a/slidev-theme-rkv/.gitignore b/slidev-theme-rkv/.gitignore
new file mode 100644
index 0000000..443276e
--- /dev/null
+++ b/slidev-theme-rkv/.gitignore
@@ -0,0 +1,8 @@
+node_modules
+.DS_Store
+dist
+*.local
+.vite-inspect
+.remote-assets
+.idea/
+components.d.ts
diff --git a/slidev-theme-rkv/.npmrc b/slidev-theme-rkv/.npmrc
new file mode 100644
index 0000000..c1e4d44
--- /dev/null
+++ b/slidev-theme-rkv/.npmrc
@@ -0,0 +1,2 @@
+# for pnpm
+shamefully-hoist=true
diff --git a/slidev-theme-rkv/.vscode/extensions.json b/slidev-theme-rkv/.vscode/extensions.json
new file mode 100644
index 0000000..61d23ae
--- /dev/null
+++ b/slidev-theme-rkv/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+ "recommendations": ["antfu.slidev"]
+}
diff --git a/slidev-theme-rkv/components/.gitkeep b/slidev-theme-rkv/components/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/slidev-theme-rkv/layouts/cover.vue b/slidev-theme-rkv/layouts/cover.vue
new file mode 100644
index 0000000..67f75a9
--- /dev/null
+++ b/slidev-theme-rkv/layouts/cover.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/theme/layouts/flex.vue b/slidev-theme-rkv/layouts/flex.vue
similarity index 100%
rename from theme/layouts/flex.vue
rename to slidev-theme-rkv/layouts/flex.vue
diff --git a/theme/layouts/grid.vue b/slidev-theme-rkv/layouts/grid.vue
similarity index 100%
rename from theme/layouts/grid.vue
rename to slidev-theme-rkv/layouts/grid.vue
diff --git a/theme/layouts/image-fill.vue b/slidev-theme-rkv/layouts/image-fill.vue
similarity index 100%
rename from theme/layouts/image-fill.vue
rename to slidev-theme-rkv/layouts/image-fill.vue
diff --git a/slidev-theme-rkv/package.json b/slidev-theme-rkv/package.json
new file mode 100644
index 0000000..8b01f8b
--- /dev/null
+++ b/slidev-theme-rkv/package.json
@@ -0,0 +1,38 @@
+{
+ "name": "slidev-theme-rkv",
+ "version": "0.0.0",
+ "type": "module",
+ "keywords": [
+ "slidev-theme",
+ "slidev"
+ ],
+ "engines": {
+ "node": ">=18.0.0",
+ "slidev": ">=0.19.3"
+ },
+ "scripts": {
+ "build": "slidev build example.md",
+ "dev": "slidev example.md --open",
+ "export": "slidev export example.md",
+ "screenshot": "slidev export example.md --format png"
+ },
+ "dependencies": {
+ "@slidev/types": "^0.49.0-beta.1",
+ "codemirror-theme-vars": "^0.1.2",
+ "prism-theme-vars": "^0.2.4"
+ },
+ "devDependencies": {
+ "@slidev/cli": "^0.49.0-beta.1"
+ },
+ "//": "Learn more: https://sli.dev/themes/write-a-theme.html",
+ "slidev": {
+ "colorSchema": "both",
+ "highlighter": "all",
+ "defaults": {
+ "fonts": {
+ "sans": "Nunito Sans",
+ "mono": "Fira Code"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/slidev-theme-rkv/setup/shiki.ts b/slidev-theme-rkv/setup/shiki.ts
new file mode 100644
index 0000000..d68852c
--- /dev/null
+++ b/slidev-theme-rkv/setup/shiki.ts
@@ -0,0 +1,11 @@
+import type { ShikiSetupReturn } from '@slidev/types'
+import { defineShikiSetup } from '@slidev/types'
+
+export default defineShikiSetup((): ShikiSetupReturn => {
+ return {
+ themes: {
+ dark: 'vitesse-dark',
+ light: 'vitesse-light',
+ },
+ }
+})
diff --git a/slidev-theme-rkv/styles/index.ts b/slidev-theme-rkv/styles/index.ts
new file mode 100644
index 0000000..fb5b904
--- /dev/null
+++ b/slidev-theme-rkv/styles/index.ts
@@ -0,0 +1,4 @@
+// inherit from base layouts, remove it to get full customizations
+import '@slidev/client/styles/layouts-base.css'
+import './layout.css'
+import './prism.css'
diff --git a/theme/styles/layouts.css b/slidev-theme-rkv/styles/layout.css
similarity index 100%
rename from theme/styles/layouts.css
rename to slidev-theme-rkv/styles/layout.css
diff --git a/theme/styles/prism.css b/slidev-theme-rkv/styles/prism.css
similarity index 78%
rename from theme/styles/prism.css
rename to slidev-theme-rkv/styles/prism.css
index c330893..34fcf72 100644
--- a/theme/styles/prism.css
+++ b/slidev-theme-rkv/styles/prism.css
@@ -4,12 +4,8 @@
:root {
--prism-font-family: var(--slidev-code-font-family);
- --slidev-code-background: var(--prism-background);
-}
-
-html:not(.dark) {
+ --prism-background: var(--slidev-code-background);
--prism-foreground: #393a34;
- --prism-background: #f8f8f8;
--prism-comment: #a0ada0;
--prism-string: #b56959;
--prism-literal: #2f8a89;
@@ -31,7 +27,6 @@ html:not(.dark) {
html.dark {
--prism-foreground: #d4cfbf;
- --prism-background: #1b1b1b;
--prism-comment: #758575;
--prism-string: #d48372;
--prism-literal: #429988;
@@ -54,19 +49,3 @@ html.dark {
--prism-line-highlight-background: #444444;
--prism-selection-background: #444444;
}
-
-:not(pre) > code {
- font-size: 0.9em;
- background: var(--prism-background);
- @apply font-light py-0.5 rounded;
-}
-
-:not(pre) > code:before,
-:not(pre) > code:after {
- content: '`';
- opacity: 0.50;
-}
-
-:not(pre) > code:before {
- margin-right: -0.08em;
-}
diff --git a/theme/layoutHelper.ts b/theme/layoutHelper.ts
deleted file mode 100644
index 7d78f52..0000000
--- a/theme/layoutHelper.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import type { CSSProperties } from 'vue'
-
-/**
- * Resolve urls from frontmatter and append with the base url
- */
-export function resolveAssetUrl(url: string) {
- if (url.startsWith('/'))
- return import.meta.env.BASE_URL + url.slice(1)
- return url
-}
-
-export function handleBackground(background?: string, dim = false): CSSProperties {
- const isColor = background && ['#', 'rgb', 'hsl'].some(v => background.indexOf(v) === 0)
-
- const style = {
- background: isColor
- ? background
- : undefined,
- color: (background && !isColor)
- ? 'white'
- : undefined,
- backgroundImage: isColor
- ? undefined
- : background
- ? dim
- ? `linear-gradient(#0005, #0008), url(${resolveAssetUrl(background)})`
- : `url("${resolveAssetUrl(background)}")`
- : undefined,
- backgroundRepeat: 'no-repeat',
- backgroundPosition: 'center',
- backgroundSize: 'cover',
- }
-
- if (!style.background)
- delete style.background
-
- return style
-}
diff --git a/theme/layouts/cover.vue b/theme/layouts/cover.vue
deleted file mode 100644
index b15de85..0000000
--- a/theme/layouts/cover.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
diff --git a/theme/layouts/fact.vue b/theme/layouts/fact.vue
deleted file mode 100644
index 476665c..0000000
--- a/theme/layouts/fact.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/theme/layouts/intro.vue b/theme/layouts/intro.vue
deleted file mode 100644
index e8f67cc..0000000
--- a/theme/layouts/intro.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/theme/layouts/quote.vue b/theme/layouts/quote.vue
deleted file mode 100644
index f262dce..0000000
--- a/theme/layouts/quote.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/theme/layouts/row.vue b/theme/layouts/row.vue
deleted file mode 100644
index dceee35..0000000
--- a/theme/layouts/row.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
diff --git a/theme/layouts/section.vue b/theme/layouts/section.vue
deleted file mode 100644
index fd8ba16..0000000
--- a/theme/layouts/section.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/theme/layouts/statement.vue b/theme/layouts/statement.vue
deleted file mode 100644
index 72b77ed..0000000
--- a/theme/layouts/statement.vue
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/theme/package.json b/theme/package.json
deleted file mode 100644
index 6273e5a..0000000
--- a/theme/package.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "name": "@slidev/theme-default",
- "version": "0.21.2",
- "engines": {
- "node": ">=14.0.0",
- "slidev": ">=0.19.2"
- },
- "description": "Default theme for Slidev",
- "keywords": [
- "slidev-theme",
- "slidev"
- ],
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "https://github.com/slidevjs/themes"
- },
- "slidev": {
- "colorSchema": "both",
- "highlighter": "all",
- "defaults": {
- "fonts": {
- "mono": "Fira Code",
- "sans": "Avenir Next,Nunito Sans",
- "local": "Avenir Next"
- }
- }
- },
- "funding": "https://github.com/sponsors/antfu",
- "author": "antfu
",
- "homepage": "https://sli.dev",
- "bugs": "https://github.com/slidevjs/themes/issues",
- "dependencies": {
- "@slidev/types": "^0.22.7",
- "codemirror-theme-vars": "^0.1.1",
- "prism-theme-vars": "^0.2.2",
- "theme-vitesse": "^0.1.12"
- },
- "readme": "# @slidev/theme-default\n\n[](https://www.npmjs.com/package/@slidev/theme-default)\n\nThe default theme for [Slidev](https://github.com/slidevjs/slidev).\n\n## Install\n\nAdd the following frontmatter to your `slides.md`. Start Slidev then it will prompt you to install the theme automatically.\n\n---\ntheme: default\n---
\n\nLearn more about [how to use a theme](https://sli.dev/themes/use).\n\n## License\n\nMIT License © 2021 [Anthony Fu](https://github.com/antfu)\n"
-}
\ No newline at end of file
diff --git a/theme/setup/monaco.ts b/theme/setup/monaco.ts
deleted file mode 100644
index 37d75cb..0000000
--- a/theme/setup/monaco.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { defineMonacoSetup } from '@slidev/types'
-
-export default defineMonacoSetup(async(monaco) => {
- await Promise.all([
- // load theme
- (async() => {
- const { default: dark } = await import('theme-vitesse/themes/vitesse-dark.json')
- const { default: light } = await import('theme-vitesse/themes/vitesse-light.json')
-
- light.colors['editor.background'] = '#00000000'
- dark.colors['editor.background'] = '#00000000'
-
- monaco.editor.defineTheme('vitesse-light', light as any)
- monaco.editor.defineTheme('vitesse-dark', dark as any)
- })(),
- ])
-})
diff --git a/theme/setup/shiki.ts b/theme/setup/shiki.ts
deleted file mode 100644
index 53b14b5..0000000
--- a/theme/setup/shiki.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { defineShikiSetup } from '@slidev/types'
-
-export default defineShikiSetup(async({ loadTheme }) => {
- return {
- theme: {
- dark: await loadTheme(require.resolve('theme-vitesse/themes/vitesse-dark.json')),
- light: await loadTheme(require.resolve('theme-vitesse/themes/vitesse-light.json')),
- },
- }
-})
diff --git a/theme/setup/windicss.ts b/theme/setup/windicss.ts
deleted file mode 100644
index c577769..0000000
--- a/theme/setup/windicss.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { resolve } from 'path'
-import { defineWindiSetup } from '@slidev/types'
-
-export default defineWindiSetup(() => ({
- extract: {
- include: [
- resolve(__dirname, '**/*.vue'),
- ],
- exclude: [
- resolve(__dirname, 'node_modules'),
- ],
- },
- shortcuts: {
- 'bg-main': 'bg-white text-[#181818] dark:(bg-[#121212] text-[#ddd])',
- },
-}))
diff --git a/theme/styles/index.ts b/theme/styles/index.ts
deleted file mode 100644
index 0174b15..0000000
--- a/theme/styles/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import '@slidev/client/styles/layouts-base.css'
-import './layouts.css'
-import './prism.css'
-import './shiki.css'
diff --git a/theme/styles/shiki.css b/theme/styles/shiki.css
deleted file mode 100644
index 6a16cb5..0000000
--- a/theme/styles/shiki.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.shiki-light {
- background: #f8f8f8 !important;
-}
-
-.shiki-dark {
- background: #1b1b1b !important;
-}