Components

Built-in Components

The documentations of this section is still working in progress. Before that, you can take a look at the source code directly.

Toc

Insert a Table Of Content.

If you want a slide to not appear in the <Toc> component, you can use in the front matter block of the slide:

---
hideInToc: true
---

Titles are displayed using the <Titles> component

Usage

<Toc />

Parameters:

  • columns (string | number, default: 1): The number of columns of the display
  • listClass (string | string[], default: ''): Classes to apply to the table of contents list
  • maxDepth (string | number, default: Infinity): The maximum depth level of title to display
  • minDepth (string | number, default: 1): The minimum depth level of title to display
  • mode ('all' | 'onlyCurrentTree'| 'onlySiblings', default: 'all'):
    • 'all': Display all items
    • 'onlyCurrentTree': Display only items that are in current tree (active item, parents and children of active item)
    • 'onlySiblings': Display only items that are in current tree and their direct siblings

Insert a link you can use to navigate to a given slide.

Usage

<Link to="42">Go to slide 42</Link>
<Link to="42" title="Go to slide 42"/>

Parameters:

  • to (string | number): The path of the slide to navigate to (slides starts from 1)
  • title (string): The title to display

Titles

Insert the main title from a slide parsed as HTML.

Titles and title levels get automatically retrieved from the first title element of each slides.

You can override this automatic behaviour for a slide by using the front matter syntax:

---
title: Amazing slide title
level: 2
---

Usage

The <Titles> component is a virtual component you can import with:

import Titles from '/@slidev/titles.md'

Then you can use it with:

<Titles no="42" />

Parameters:

  • no (string | number): The number of the slide to display the title from (slides starts from 1)

Custom Components

Create a directory components/ under your project root, and simply put your custom Vue components under it, then you can use it with the same name in your markdown file!

Read more in the Customization section.

Theme-provided Components

Themes can provide components as well. Please read their documentations for what they have provided.

Check more in the directory structure section.