Skip to content

Commit

Permalink
refactor: now slidev context can be accessed via $slidev, e.g. $slide…
Browse files Browse the repository at this point in the history
…v.nav.next() for next step
  • Loading branch information
antfu committed May 8, 2021
1 parent d9314e7 commit dec7fa5
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 1 deletion.
2 changes: 2 additions & 0 deletions packages/client/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import App from './App.vue'
import setupMain from './setup/main'
import { router } from './routes'
import createDirectives from './modules/directives'
import createSlidevContext from './modules/context'

import 'virtual:windi-base.css'
import 'virtual:windi-components.css'
Expand All @@ -17,6 +18,7 @@ const app = createApp(App)
app.use(router)
app.use(createHead())
app.use(createDirectives())
app.use(createSlidevContext())

setupMain({ app, router })

Expand Down
18 changes: 18 additions & 0 deletions packages/client/modules/context.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { App } from 'vue'
import * as nav from '../logic/nav'

declare module '@vue/runtime-core' {
interface ComponentCustomProperties {
$slidev: {nav: typeof nav}
}
}

export default function createSlidevContext() {
return {
install(app: App) {
app.config.globalProperties.$slidev = {
nav,
}
},
}
}
2 changes: 1 addition & 1 deletion packages/create-app/template/slides.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ info: |
Presentation slides for developers

<div class="pt-12">
<span @click="next" class="px-2 p-1 rounded cursor-pointer" hover="bg-white bg-opacity-10">
<span @click="$slidev.nav.next" class="px-2 p-1 rounded cursor-pointer" hover="bg-white bg-opacity-10">
Press Space for next page <carbon:arrow-right class="inline"/>
</span>
</div>
Expand Down

0 comments on commit dec7fa5

Please sign in to comment.