返回 slidev
frontmatter.json
根目录 / packages / vscode / schema / frontmatter.json
1 {
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "$ref": "#/definitions/Frontmatter",
4 "definitions": {
5 "Frontmatter": {
6 "type": "object",
7 "properties": {
8 "transition": {
9 "anyOf": [
10 {
11 "$ref": "#/definitions/BuiltinSlideTransition"
12 },
13 {
14 "type": "string"
15 },
16 {
17 "$ref": "#/definitions/TransitionGroupProps"
18 },
19 {
20 "type": "null"
21 }
22 ],
23 "description": "Page transition, powered by Vue's `<TransitionGroup/>`\n\nBuilt-in transitions:\n- fade\n- fade-out\n- slide-left\n- slide-right\n- slide-up\n- slide-down\n- view-transition\n\nSee https://sli.dev/guide/animations.html#pages-transitions\n\nSee https://vuejs.org/guide/built-ins/transition.html",
24 "markdownDescription": "Page transition, powered by Vue's `<TransitionGroup/>`\n\nBuilt-in transitions:\n- fade\n- fade-out\n- slide-left\n- slide-right\n- slide-up\n- slide-down\n- view-transition\n\nSee https://sli.dev/guide/animations.html#pages-transitions\n\nSee https://vuejs.org/guide/built-ins/transition.html"
25 },
26 "layout": {
27 "anyOf": [
28 {
29 "$ref": "#/definitions/BuiltinLayouts"
30 },
31 {
32 "type": "string"
33 }
34 ],
35 "description": "Slide layout to use\n\nDefault to 'cover' for the first slide, 'default' for the rest",
36 "markdownDescription": "Slide layout to use\n\nDefault to 'cover' for the first slide, 'default' for the rest"
37 },
38 "class": {
39 "anyOf": [
40 {
41 "type": "string"
42 },
43 {
44 "type": "array",
45 "items": {
46 "type": "string"
47 }
48 },
49 {
50 "type": "object",
51 "additionalProperties": {}
52 }
53 ],
54 "description": "Custom class added to the slide root element",
55 "markdownDescription": "Custom class added to the slide root element"
56 },
57 "clicks": {
58 "type": "number",
59 "description": "Manually specified the total clicks needed to this slide\n\nWhen not specified, the clicks will be calculated by the usage of v-clicks\n\nSee https://sli.dev/guide/animations",
60 "markdownDescription": "Manually specified the total clicks needed to this slide\n\nWhen not specified, the clicks will be calculated by the usage of v-clicks\n\nSee https://sli.dev/guide/animations"
61 },
62 "clicksStart": {
63 "type": "number",
64 "description": "Manually specified the total clicks needed to this slide to start",
65 "markdownDescription": "Manually specified the total clicks needed to this slide to start",
66 "default": 0
67 },
68 "preload": {
69 "type": "boolean",
70 "description": "Preload the slide when the previous slide is active",
71 "markdownDescription": "Preload the slide when the previous slide is active",
72 "default": true
73 },
74 "hide": {
75 "type": "boolean",
76 "description": "Completely hide and disable the slide",
77 "markdownDescription": "Completely hide and disable the slide"
78 },
79 "disabled": {
80 "type": "boolean",
81 "description": "Same as `hide`, completely hide and disable the slide",
82 "markdownDescription": "Same as `hide`, completely hide and disable the slide"
83 },
84 "hideInToc": {
85 "type": "boolean",
86 "description": "Hide the slide for the `<Toc>` components\n\nSee https://sli.dev/builtin/components#toc",
87 "markdownDescription": "Hide the slide for the `<Toc>` components\n\nSee https://sli.dev/builtin/components#toc"
88 },
89 "title": {
90 "type": "string",
91 "description": "Override the title for the `<TitleRenderer>` and `<Toc>` components Only if `title` has also been declared",
92 "markdownDescription": "Override the title for the `<TitleRenderer>` and `<Toc>` components\nOnly if `title` has also been declared"
93 },
94 "level": {
95 "type": "number",
96 "description": "Override the title level for the `<TitleRenderer>` and `<Toc>` components Only if `title` has also been declared",
97 "markdownDescription": "Override the title level for the `<TitleRenderer>` and `<Toc>` components\nOnly if `title` has also been declared"
98 },
99 "routeAlias": {
100 "type": "string",
101 "description": "Create a route alias that can be used in the URL or with the `<Link>` component",
102 "markdownDescription": "Create a route alias that can be used in the URL or with the `<Link>` component"
103 },
104 "zoom": {
105 "type": "number",
106 "description": "Custom zoom level for the slide",
107 "markdownDescription": "Custom zoom level for the slide",
108 "default": 1
109 },
110 "clickAnimation": {
111 "type": "string",
112 "description": "Default click animation for the slide",
113 "markdownDescription": "Default click animation for the slide"
114 },
115 "dragPos": {
116 "type": "object",
117 "additionalProperties": {
118 "type": "string"
119 },
120 "description": "Store the positions of draggable elements Normally you don't need to set this manually\n\nSee https://sli.dev/features/draggable",
121 "markdownDescription": "Store the positions of draggable elements\nNormally you don't need to set this manually\n\nSee https://sli.dev/features/draggable"
122 },
123 "src": {
124 "type": "string",
125 "description": "Includes a markdown file\n\nSee https://sli.dev/guide/syntax.html#importing-slides",
126 "markdownDescription": "Includes a markdown file\n\nSee https://sli.dev/guide/syntax.html#importing-slides"
127 }
128 }
129 },
130 "BuiltinSlideTransition": {
131 "type": "string",
132 "enum": [
133 "fade",
134 "fade-out",
135 "slide-up",
136 "slide-down",
137 "slide-left",
138 "slide-right",
139 "view-transition"
140 ]
141 },
142 "TransitionGroupProps": {
143 "type": "object",
144 "properties": {
145 "appear": {
146 "type": "boolean"
147 },
148 "persisted": {
149 "type": "boolean"
150 },
151 "tag": {
152 "type": "string"
153 },
154 "moveClass": {
155 "type": "string"
156 },
157 "css": {
158 "type": "boolean"
159 },
160 "duration": {
161 "anyOf": [
162 {
163 "type": "number"
164 },
165 {
166 "type": "object",
167 "properties": {
168 "enter": {
169 "type": "number"
170 },
171 "leave": {
172 "type": "number"
173 }
174 },
175 "required": [
176 "enter",
177 "leave"
178 ]
179 }
180 ]
181 },
182 "enterFromClass": {
183 "type": "string"
184 },
185 "enterActiveClass": {
186 "type": "string"
187 },
188 "enterToClass": {
189 "type": "string"
190 },
191 "appearFromClass": {
192 "type": "string"
193 },
194 "appearActiveClass": {
195 "type": "string"
196 },
197 "appearToClass": {
198 "type": "string"
199 },
200 "leaveFromClass": {
201 "type": "string"
202 },
203 "leaveActiveClass": {
204 "type": "string"
205 },
206 "leaveToClass": {
207 "type": "string"
208 }
209 }
210 },
211 "BuiltinLayouts": {
212 "type": "string",
213 "enum": [
214 "404",
215 "center",
216 "cover",
217 "default",
218 "end",
219 "error",
220 "fact",
221 "full",
222 "iframe-left",
223 "iframe-right",
224 "iframe",
225 "image-left",
226 "image-right",
227 "image",
228 "intro",
229 "none",
230 "quote",
231 "section",
232 "statement",
233 "two-cols-header",
234 "two-cols"
235 ]
236 }
237 }
238 }
239
239 lines JSON