-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Expand file tree
/
Copy pathmarkdoc.schema.mjs
More file actions
121 lines (121 loc) · 2.83 KB
/
Copy pathmarkdoc.schema.mjs
File metadata and controls
121 lines (121 loc) · 2.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
export default {
nodes: {
fence: {
attributes: {
content: { type: String, render: true },
language: { type: String, render: true },
filename: { type: String, render: true },
wrap: { type: Boolean, default: false, render: true },
collapsible: { type: Boolean, default: false, render: true },
disable_copy: { type: Boolean, default: false, render: true },
},
},
},
tags: {
alert: {
attributes: {
level: {
type: String,
default: "info",
matches: ["info", "danger", "warning", "tip"],
},
},
},
tabs: {
attributes: {},
},
tab: {
attributes: {
label: { type: String, required: true },
},
},
stepper: {
attributes: {
open: { type: Boolean, default: false },
level: {
type: String,
default: "h3",
matches: ["h1", "h2", "h3", "h4", "h5", "h6"],
},
},
},
step: {
attributes: {
title: { type: String, required: true },
},
},
"stepper-finished": {
attributes: {},
},
"region-selector": {
attributes: {},
},
"whats-next": {
attributes: {
desc: { type: String },
},
},
"next-link": {
attributes: {
href: { type: String, required: true },
tag: { type: String },
},
},
"collapse-content": {
attributes: {
title: { type: String, required: true },
level: {
type: String,
default: "h3",
matches: ["h1", "h2", "h3", "h4", "h5", "h6"],
},
expanded: { type: Boolean, default: false },
id: { type: String },
},
},
ui: {
attributes: {},
},
kbd: {
attributes: {},
},
sup: {
attributes: {},
},
nbsp: {
attributes: {},
selfClosing: true,
},
"agent-only": {
attributes: {},
},
img: {
selfClosing: true,
attributes: {
src: { type: String, required: true },
alt: { type: String },
caption: { type: String },
width: { type: String },
height: { type: String },
widthPercent: { type: Number },
video: { type: Boolean, default: false },
inline: { type: Boolean, default: false },
popup: { type: Boolean, default: true },
},
validate(node) {
const { widthPercent, width, height } = node.attributes;
if (widthPercent != null && (width != null || height != null)) {
return [
{
id: "img-widthPercent-conflict",
level: "error",
message:
"The `widthPercent` attribute can't be combined with `width` or `height`.",
},
];
}
return [];
},
},
},
};