Skip to content

Commit

Permalink
Update to Slidev 0.51
Browse files Browse the repository at this point in the history
  • Loading branch information
MuTsunTsai committed Feb 16, 2025
1 parent 9d3efb0 commit 43b09c7
Show file tree
Hide file tree
Showing 4 changed files with 2,728 additions and 2,531 deletions.
73 changes: 37 additions & 36 deletions components/Frankfurt.vue
Original file line number Diff line number Diff line change
@@ -1,37 +1,38 @@
<template>
<header class="absolute top-0 left-0 right-0 flex shadow-md shadow-black text-sm px-4 -mx-4" style="background:black">
<div v-for="(sec, i) in sections" class="flex-1 py-1 px-3"
:class="sec[1].includes($slidev.nav.currentPage - 1) ? 'text-white' : 'text-stone'" :key="i">
<div>{{ sec[0] || "&emsp;" }}</div>
<div>
<span v-for="p in sec[1]" :key="p">
<Link :to="p + 1" style="color:unset">{{ $slidev.nav.currentPage == p + 1 ? "●" : "○" }}</Link>
</span>
</div>
</div>
</header>
</template>

<script setup lang="ts">
import { computed } from "vue";
import type { SlideInfoBase } from "@slidev/types";
const sections = computed(() => {
const result: [string, number[]][] = [];
let pages: number[] = [];
let title = "";
for(let i = 1; i < $slidev.nav.slides.length; i++) {
const slide = $slidev.nav.slides[i];
const section = (slide.meta?.slide as SlideInfoBase)?.frontmatter?.section;
if(section && section != title) {
if(pages.length > 0) result.push([title, pages]);
pages = [];
title = section;
}
pages.push(i);
}
result.push([title, pages]);
return result;
});
<template>
<header class="absolute top-0 left-0 right-0 flex shadow-md shadow-black text-sm px-4 -mx-4" style="background:black">
<div v-for="(sec, i) in sections" class="flex-1 py-1 px-3"
:class="sec[1].includes($slidev.nav.currentPage - 1) ? 'text-white' : 'text-stone'" :key="i">
<div>{{ sec[0] || "&emsp;" }}</div>
<div>
<span v-for="p in sec[1]" :key="p">
<Link :to="p + 1" style="color:unset">{{ $slidev.nav.currentPage == p + 1 ? "●" : "○" }}</Link>
</span>
</div>
</div>
</header>
</template>

<script setup lang="ts">
import { computed } from "vue";
import Link from "@slidev/client/builtin/Link.vue";
import type { SlideInfoBase } from "@slidev/types";
const sections = computed(() => {
const result: [string, number[]][] = [];
let pages: number[] = [];
let title = "";
for(let i = 1; i < $slidev.nav.slides.length; i++) {
const slide = $slidev.nav.slides[i];
const section = (slide.meta?.slide as SlideInfoBase)?.frontmatter?.section;
if(section && section != title) {
if(pages.length > 0) result.push([title, pages]);
pages = [];
title = section;
}
pages.push(i);
}
result.push([title, pages]);
return result;
});
</script>
4 changes: 4 additions & 0 deletions components/InfoLine.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,7 @@
</div>
</footer>
</template>

<script setup lang="ts">
import SlidesTotal from "@slidev/client/builtin/SlidesTotal.vue";
</script>
15 changes: 11 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@
"screenshot": "slidev export example.md --per-slide --format png --output screenshots"
},
"dependencies": {
"@slidev/types": "0.49.0-beta.4",
"@slidev/types": "51.1.1",
"codemirror-theme-vars": "^0.1.2",
"prism-theme-vars": "^0.2.5",
"theme-vitesse": "^0.7.9"
"theme-vitesse": "^0.8.3"
},
"devDependencies": {
"@slidev/cli": "0.49.0-beta.4",
"playwright-chromium": "^1.43.1"
"@slidev/cli": "51.1.1",
"playwright-chromium": "^1.50.1"
},
"//": "Learn more: https://sli.dev/themes/write-a-theme.html",
"slidev": {
Expand All @@ -44,5 +44,12 @@
},
"hightlighter": "shiki"
}
},
"pnpm": {
"onlyBuiltDependencies": [
"esbuild",
"playwright-chromium",
"vue-demi"
]
}
}
Loading

0 comments on commit 43b09c7

Please sign in to comment.