From 55422c2ab29dc3c3db1bb0c6f8381f1e9c1b4d7a Mon Sep 17 00:00:00 2001 From: Denis Ergin Date: Tue, 17 Sep 2024 16:03:07 +0200 Subject: [PATCH] feature(slides): Add RevealJS and have a layout ready for it --- .vscode/astro.code-snippets | 24 +++++++++++++ .vscode/extensions.json | 2 +- package.json | 4 ++- pnpm-lock.yaml | 17 +++++++++ src/env.d.ts | 1 + src/layouts/Reveal.astro | 69 +++++++++++++++++++++++++++++++++++++ 6 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 .vscode/astro.code-snippets create mode 100644 src/layouts/Reveal.astro 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": [ + "
", + "

$1

", + "

$2

", + "
" + ] + } +} \ 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