diff --git a/.vscode/astro.code-snippets b/.vscode/astro.code-snippets
new file mode 100644
index 0000000..73b056d
--- /dev/null
+++ b/.vscode/astro.code-snippets
@@ -0,0 +1,24 @@
+{
+ // Place your snippets for astro here. Each snippet is defined under a snippet name and has a prefix, body and
+ // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
+ // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
+ // same ids are connected.
+ // Example:
+ // "Print to console": {
+ // "prefix": "log",
+ // "body": [
+ // "console.log('$1');",
+ // "$2"
+ // ],
+ // "description": "Log output to console"
+ // }
+ "Slide Stub": {
+ "prefix": "slide",
+ "body": [
+ ""
+ ]
+ }
+}
\ No newline at end of file
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
index 22a1505..486a369 100644
--- a/.vscode/extensions.json
+++ b/.vscode/extensions.json
@@ -1,4 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
- "unwantedRecommendations": []
+ "unwantedRecommendations": [],
}
diff --git a/package.json b/package.json
index dd3e2b2..c594a92 100644
--- a/package.json
+++ b/package.json
@@ -12,9 +12,11 @@
"dependencies": {
"@astrojs/check": "^0.9.2",
"astro": "^4.13.3",
- "astro-icon": "^1.1.1"
+ "astro-icon": "^1.1.1",
+ "reveal.js": "^5.1.0"
},
"devDependencies": {
+ "@types/reveal.js": "^5.0.3",
"sass": "^1.77.8",
"typescript": "^5.5.4"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 088cd1e..a21ddd4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -17,7 +17,13 @@ importers:
astro-icon:
specifier: ^1.1.1
version: 1.1.1
+ reveal.js:
+ specifier: ^5.1.0
+ version: 5.1.0
devDependencies:
+ '@types/reveal.js':
+ specifier: ^5.0.3
+ version: 5.0.3
sass:
specifier: ^1.77.8
version: 1.77.8
@@ -600,6 +606,9 @@ packages:
'@types/node@22.4.1':
resolution: {integrity: sha512-1tbpb9325+gPnKK0dMm+/LMriX0vKxf6RnB0SZUqfyVkQ4fMgUSySqhxE/y8Jvs4NyF1yHzTfG9KlnkIODxPKg==}
+ '@types/reveal.js@5.0.3':
+ resolution: {integrity: sha512-gwnK8TR38IOBIORWFrV5/z9lRX4iLke2FBqNgRhXxehaWJFkrzVY2TVzfdX/SX94eugt+OI5l++zDBBSfdzruQ==}
+
'@types/tar@6.1.13':
resolution: {integrity: sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw==}
@@ -1711,6 +1720,10 @@ packages:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ reveal.js@5.1.0:
+ resolution: {integrity: sha512-KDt7m0+xwKV6nAZt4CNPVFBf42sTKRQapg0bGGKB5PKO5XvChnMfwlZkybydHiQJ7p5+6LbHKRGrhXODdoNIaA==}
+ engines: {node: '>=18.0.0'}
+
rollup@4.20.0:
resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
@@ -2690,6 +2703,8 @@ snapshots:
dependencies:
undici-types: 6.19.8
+ '@types/reveal.js@5.0.3': {}
+
'@types/tar@6.1.13':
dependencies:
'@types/node': 22.4.1
@@ -4160,6 +4175,8 @@ snapshots:
reusify@1.0.4: {}
+ reveal.js@5.1.0: {}
+
rollup@4.20.0:
dependencies:
'@types/estree': 1.0.5
diff --git a/src/env.d.ts b/src/env.d.ts
index acef35f..38a195a 100644
--- a/src/env.d.ts
+++ b/src/env.d.ts
@@ -1,2 +1,3 @@
///
///
+///
diff --git a/src/layouts/Reveal.astro b/src/layouts/Reveal.astro
new file mode 100644
index 0000000..23ac8f4
--- /dev/null
+++ b/src/layouts/Reveal.astro
@@ -0,0 +1,69 @@
+---
+import { getLangFromUrl } from '../i18n/utils'
+
+interface Props {
+ title: string;
+}
+
+const lang = getLangFromUrl(Astro.url);
+const { title } = Astro.props;
+---
+
+
+
+
+
+
+
+
+
+ {title}
+
+
+
+
+
+
+
+
+ Waiting for slides to warm up...
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file