@diplodoc/transform 4.71.0 → 4.73.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/_yfm-only.css.map +1 -1
- package/dist/css/_yfm-only.min.css.map +1 -1
- package/dist/css/base.css.map +1 -1
- package/dist/css/base.min.css.map +1 -1
- package/dist/css/print.css.map +1 -1
- package/dist/css/yfm.css.map +1 -1
- package/dist/css/yfm.min.css.map +1 -1
- package/lib/plugins/images/index.js +7 -0
- package/lib/plugins/images/index.js.map +1 -1
- package/lib/plugins/term/termDefinitions.js +54 -27
- package/lib/plugins/term/termDefinitions.js.map +1 -1
- package/lib/sanitize.js +8 -5
- package/lib/sanitize.js.map +1 -1
- package/lib/typings.d.ts +10 -0
- package/package.json +2 -2
- package/src/transform/plugins/images/index.ts +8 -0
- package/src/transform/plugins/term/termDefinitions.ts +71 -33
- package/src/transform/sanitize.ts +10 -5
- package/src/transform/typings.ts +10 -0
package/lib/sanitize.js
CHANGED
|
@@ -520,9 +520,9 @@ const svgAttrs = [
|
|
|
520
520
|
'xlink:href',
|
|
521
521
|
'use',
|
|
522
522
|
];
|
|
523
|
+
const CSS_VAR_DECLARATION_RE = /^--[a-zA-Z0-9_-]+$/;
|
|
523
524
|
const defaultCssWhitelist = {
|
|
524
525
|
...cssfilter_1.default.whiteList,
|
|
525
|
-
'--method': true,
|
|
526
526
|
};
|
|
527
527
|
const yfmHtmlAttrs = ['note-type', 'term-key'];
|
|
528
528
|
const allowedTags = Array.from(new Set([...htmlTags, ...svgTags, ...sanitize_html_1.default.defaults.allowedTags]));
|
|
@@ -697,19 +697,22 @@ function sanitizeStyleTags(dom, cssWhiteList) {
|
|
|
697
697
|
if (!declaration.property || !declaration.value) {
|
|
698
698
|
return false;
|
|
699
699
|
}
|
|
700
|
-
const
|
|
700
|
+
const rawProp = String(declaration.property);
|
|
701
|
+
const prop = rawProp.toLowerCase();
|
|
701
702
|
const val = String(declaration.value);
|
|
702
703
|
if (!isSafeCssValue(prop, val)) {
|
|
703
704
|
return false;
|
|
704
705
|
}
|
|
706
|
+
const isCssVariable = CSS_VAR_DECLARATION_RE.test(rawProp);
|
|
705
707
|
const isWhiteListed = Boolean(cssWhiteList[prop]);
|
|
706
|
-
if (isWhiteListed) {
|
|
707
|
-
|
|
708
|
+
if (!isWhiteListed && !isCssVariable) {
|
|
709
|
+
return false;
|
|
708
710
|
}
|
|
711
|
+
declaration.value = cssfilter_1.default.safeAttrValue(prop, val);
|
|
709
712
|
if (!declaration.value) {
|
|
710
713
|
return false;
|
|
711
714
|
}
|
|
712
|
-
return
|
|
715
|
+
return true;
|
|
713
716
|
});
|
|
714
717
|
});
|
|
715
718
|
dom(element).text(css_1.default.stringify(parsedCSS));
|
package/lib/sanitize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/transform/sanitize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sanitize.js","sourceRoot":"","sources":["../src/transform/sanitize.ts"],"names":[],"mappings":"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"}
|
package/lib/typings.d.ts
CHANGED
|
@@ -110,6 +110,15 @@ export interface MarkdownItPluginOpts {
|
|
|
110
110
|
enabled: boolean;
|
|
111
111
|
maxFileSize: number;
|
|
112
112
|
};
|
|
113
|
+
/**
|
|
114
|
+
* When true, term definitions continue past blank lines until the next
|
|
115
|
+
* `[*key]:` or end of block. Designed for documents where all term
|
|
116
|
+
* definitions are placed at the end of the file.
|
|
117
|
+
*
|
|
118
|
+
* When false (default), a blank line terminates the definition unless
|
|
119
|
+
* the next non-blank line is an `{% include %}` directive.
|
|
120
|
+
*/
|
|
121
|
+
multilineTermDefinitions?: boolean;
|
|
113
122
|
}
|
|
114
123
|
export type MarkdownItPluginCb<T extends {} = {}> = {
|
|
115
124
|
(md: MarkdownIt, opts: T & MarkdownItPluginOpts): void;
|
|
@@ -129,4 +138,5 @@ export type CssWhiteList = {
|
|
|
129
138
|
export type ImageOptions = {
|
|
130
139
|
width: string | undefined | null;
|
|
131
140
|
height: string | undefined | null;
|
|
141
|
+
title: string | undefined | null;
|
|
132
142
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@diplodoc/transform",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.73.0",
|
|
4
4
|
"description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"markdown",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"lint": "lint update && lint",
|
|
50
50
|
"lint:fix": "lint update && lint fix",
|
|
51
51
|
"pre-commit": "lint update && lint-staged",
|
|
52
|
-
"prepare": "husky"
|
|
52
|
+
"prepare": "husky || exit 0"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@diplodoc/cut-extension": "^1.1.1",
|
|
@@ -147,6 +147,7 @@ const index: MarkdownItPluginCb<Opts> = (md, opts) => {
|
|
|
147
147
|
const imageOpts = {
|
|
148
148
|
width: image.attrGet('width'),
|
|
149
149
|
height: image.attrGet('height'),
|
|
150
|
+
title: image.attrGet('title'),
|
|
150
151
|
};
|
|
151
152
|
|
|
152
153
|
const from = state.env.path || opts.path;
|
|
@@ -225,6 +226,13 @@ function replaceSvgContent(content: string | null, options: ImageOptions) {
|
|
|
225
226
|
content = content.replace(/.*?<svg([^>]*)>/, `<svg${svgRoot}>`);
|
|
226
227
|
}
|
|
227
228
|
|
|
229
|
+
// title
|
|
230
|
+
const hasTitle = /<title>.*?<\/title>/i.test(content);
|
|
231
|
+
if (!hasTitle && options.title) {
|
|
232
|
+
// Insert title tag after the opening svg tag
|
|
233
|
+
content = content.replace(/(<svg[^>]*>)/, `$1<title>${options.title}</title>`);
|
|
234
|
+
}
|
|
235
|
+
|
|
228
236
|
// randomize ids
|
|
229
237
|
content = optimize(content, {
|
|
230
238
|
plugins: [
|
|
@@ -6,24 +6,38 @@ import {BASIC_TERM_REGEXP} from './constants';
|
|
|
6
6
|
|
|
7
7
|
const INCLUDE_LINE_RE = /^{%\s*include\s/;
|
|
8
8
|
const NEW_LINE_RE = /^(\r\n|\r|\n)/;
|
|
9
|
-
const TERM_DEF_RE = /^\[\*(\
|
|
9
|
+
const TERM_DEF_RE = /^\[\*([^[\]]+)\]:/;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @param state - markdown-it block state
|
|
13
|
+
* @param line - line number to read
|
|
14
|
+
* @returns raw source text of the given line
|
|
15
|
+
*/
|
|
16
|
+
function getNextLineContent(state: StateBlock, line: number): string {
|
|
17
|
+
const start = state.bMarks[line];
|
|
18
|
+
const end = state.eMarks[line];
|
|
19
|
+
|
|
20
|
+
return start === end ? state.src[start] : state.src.slice(start, end);
|
|
21
|
+
}
|
|
10
22
|
|
|
11
23
|
/**
|
|
12
24
|
* Checks whether the first non-blank line after {@link fromLine} is an
|
|
13
25
|
* `{% include %}` directive. Used to allow blank-line gaps between
|
|
14
26
|
* consecutive includes inside a single term definition.
|
|
15
27
|
*
|
|
16
|
-
* @param
|
|
17
|
-
* @param
|
|
18
|
-
* @param
|
|
19
|
-
* @returns
|
|
28
|
+
* @param state - markdown-it block state
|
|
29
|
+
* @param fromLine - line number from which to start searching
|
|
30
|
+
* @param endLine - last line number to search within
|
|
31
|
+
* @returns true if the first non-blank line is an include directive
|
|
20
32
|
*/
|
|
21
33
|
function hasIncludeAfterBlanks(state: StateBlock, fromLine: number, endLine: number): boolean {
|
|
22
34
|
for (let line = fromLine + 1; line <= endLine; line++) {
|
|
23
35
|
const start = state.bMarks[line];
|
|
24
36
|
const end = state.eMarks[line];
|
|
25
37
|
|
|
26
|
-
if (start === end)
|
|
38
|
+
if (start === end) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
27
41
|
|
|
28
42
|
const content = state.src.slice(start, end);
|
|
29
43
|
return INCLUDE_LINE_RE.test(content.trimStart());
|
|
@@ -31,7 +45,51 @@ function hasIncludeAfterBlanks(state: StateBlock, fromLine: number, endLine: num
|
|
|
31
45
|
return false;
|
|
32
46
|
}
|
|
33
47
|
|
|
48
|
+
/**
|
|
49
|
+
* Scans forward from {@link startLine} to find where the current term
|
|
50
|
+
* definition ends.
|
|
51
|
+
*
|
|
52
|
+
* When `multilineTermDefinitions` is enabled, the definition continues
|
|
53
|
+
* past blank lines and stops only at the next `[*key]:` or end of block.
|
|
54
|
+
* Otherwise blank lines terminate the definition unless followed by an
|
|
55
|
+
* `{% include %}` directive (legacy behaviour).
|
|
56
|
+
*
|
|
57
|
+
* @param state - markdown-it block state
|
|
58
|
+
* @param startLine - line where the current definition starts
|
|
59
|
+
* @param endLine - last line of the block
|
|
60
|
+
* @param multiline - whether multiline mode is enabled
|
|
61
|
+
* @returns line number where the definition ends
|
|
62
|
+
*/
|
|
63
|
+
function findDefinitionEnd(
|
|
64
|
+
state: StateBlock,
|
|
65
|
+
startLine: number,
|
|
66
|
+
endLine: number,
|
|
67
|
+
multiline: boolean,
|
|
68
|
+
): number {
|
|
69
|
+
let currentLine = startLine;
|
|
70
|
+
|
|
71
|
+
for (; currentLine < endLine; currentLine++) {
|
|
72
|
+
const nextLine = getNextLineContent(state, currentLine + 1);
|
|
73
|
+
|
|
74
|
+
if (TERM_DEF_RE.test(nextLine)) {
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if (!multiline && NEW_LINE_RE.test(nextLine)) {
|
|
79
|
+
if (!hasIncludeAfterBlanks(state, currentLine + 1, endLine)) {
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
state.line = currentLine + 1;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return currentLine;
|
|
88
|
+
}
|
|
89
|
+
|
|
34
90
|
export function termDefinitions(md: MarkdownIt, options: MarkdownItPluginOpts) {
|
|
91
|
+
const multiline = options.multilineTermDefinitions === true;
|
|
92
|
+
|
|
35
93
|
return (state: StateBlock, startLine: number, endLine: number, silent: boolean) => {
|
|
36
94
|
let ch;
|
|
37
95
|
let labelEnd;
|
|
@@ -63,33 +121,7 @@ export function termDefinitions(md: MarkdownIt, options: MarkdownItPluginOpts) {
|
|
|
63
121
|
}
|
|
64
122
|
}
|
|
65
123
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
// Allow multiline term definition.
|
|
69
|
-
// Blank lines normally terminate the definition, but we look ahead
|
|
70
|
-
// past them: if the next non-blank line is an {% include %} directive,
|
|
71
|
-
// we keep scanning so that multiple includes can be part of one term.
|
|
72
|
-
for (; currentLine < endLine; currentLine++) {
|
|
73
|
-
const nextLineStart = state.bMarks[currentLine + 1];
|
|
74
|
-
const nextLineEnd = state.eMarks[currentLine + 1];
|
|
75
|
-
|
|
76
|
-
const nextLine =
|
|
77
|
-
nextLineStart === nextLineEnd
|
|
78
|
-
? state.src[nextLineStart]
|
|
79
|
-
: state.src.slice(nextLineStart, nextLineEnd);
|
|
80
|
-
|
|
81
|
-
if (TERM_DEF_RE.test(nextLine)) {
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if (NEW_LINE_RE.test(nextLine)) {
|
|
86
|
-
if (!hasIncludeAfterBlanks(state, currentLine + 1, endLine)) {
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
state.line = currentLine + 1;
|
|
92
|
-
}
|
|
124
|
+
const currentLine = findDefinitionEnd(state, startLine, endLine, multiline);
|
|
93
125
|
|
|
94
126
|
max = state.eMarks[currentLine];
|
|
95
127
|
|
|
@@ -165,6 +197,8 @@ function processTermDefinition(
|
|
|
165
197
|
state.env.terms[':' + label] = title;
|
|
166
198
|
}
|
|
167
199
|
|
|
200
|
+
const fromInclude = Array.isArray(state.env.includes) && state.env.includes.length > 0;
|
|
201
|
+
|
|
168
202
|
token = new state.Token('dfn_open', 'dfn', 1);
|
|
169
203
|
token.attrSet('class', 'yfm yfm-term_dfn');
|
|
170
204
|
token.attrSet('id', ':' + label + '_element');
|
|
@@ -172,6 +206,10 @@ function processTermDefinition(
|
|
|
172
206
|
token.attrSet('aria-live', 'polite');
|
|
173
207
|
token.attrSet('aria-modal', 'true');
|
|
174
208
|
|
|
209
|
+
if (fromInclude) {
|
|
210
|
+
token.attrSet('from-include', 'true');
|
|
211
|
+
}
|
|
212
|
+
|
|
175
213
|
state.tokens.push(token);
|
|
176
214
|
|
|
177
215
|
const titleTokens = md.parse(title, state.env);
|
|
@@ -494,9 +494,10 @@ const svgAttrs = [
|
|
|
494
494
|
'use',
|
|
495
495
|
];
|
|
496
496
|
|
|
497
|
+
const CSS_VAR_DECLARATION_RE = /^--[a-zA-Z0-9_-]+$/;
|
|
498
|
+
|
|
497
499
|
const defaultCssWhitelist = {
|
|
498
500
|
...cssfilter.whiteList,
|
|
499
|
-
'--method': true,
|
|
500
501
|
};
|
|
501
502
|
|
|
502
503
|
const yfmHtmlAttrs = ['note-type', 'term-key'];
|
|
@@ -724,24 +725,28 @@ function sanitizeStyleTags(dom: cheerio.CheerioAPI, cssWhiteList: CssWhiteList)
|
|
|
724
725
|
return false;
|
|
725
726
|
}
|
|
726
727
|
|
|
727
|
-
const
|
|
728
|
+
const rawProp = String(declaration.property);
|
|
729
|
+
const prop = rawProp.toLowerCase();
|
|
728
730
|
const val = String(declaration.value);
|
|
729
731
|
|
|
730
732
|
if (!isSafeCssValue(prop, val)) {
|
|
731
733
|
return false;
|
|
732
734
|
}
|
|
733
735
|
|
|
736
|
+
const isCssVariable = CSS_VAR_DECLARATION_RE.test(rawProp);
|
|
734
737
|
const isWhiteListed = Boolean(cssWhiteList[prop]);
|
|
735
738
|
|
|
736
|
-
if (isWhiteListed) {
|
|
737
|
-
|
|
739
|
+
if (!isWhiteListed && !isCssVariable) {
|
|
740
|
+
return false;
|
|
738
741
|
}
|
|
739
742
|
|
|
743
|
+
declaration.value = cssfilter.safeAttrValue(prop, val);
|
|
744
|
+
|
|
740
745
|
if (!declaration.value) {
|
|
741
746
|
return false;
|
|
742
747
|
}
|
|
743
748
|
|
|
744
|
-
return
|
|
749
|
+
return true;
|
|
745
750
|
});
|
|
746
751
|
});
|
|
747
752
|
|
package/src/transform/typings.ts
CHANGED
|
@@ -144,6 +144,15 @@ export interface MarkdownItPluginOpts {
|
|
|
144
144
|
enabled: boolean;
|
|
145
145
|
maxFileSize: number;
|
|
146
146
|
};
|
|
147
|
+
/**
|
|
148
|
+
* When true, term definitions continue past blank lines until the next
|
|
149
|
+
* `[*key]:` or end of block. Designed for documents where all term
|
|
150
|
+
* definitions are placed at the end of the file.
|
|
151
|
+
*
|
|
152
|
+
* When false (default), a blank line terminates the definition unless
|
|
153
|
+
* the next non-blank line is an `{% include %}` directive.
|
|
154
|
+
*/
|
|
155
|
+
multilineTermDefinitions?: boolean;
|
|
147
156
|
}
|
|
148
157
|
|
|
149
158
|
export type MarkdownItPluginCb<T extends {} = {}> = {
|
|
@@ -174,4 +183,5 @@ export type CssWhiteList = {[property: string]: boolean};
|
|
|
174
183
|
export type ImageOptions = {
|
|
175
184
|
width: string | undefined | null;
|
|
176
185
|
height: string | undefined | null;
|
|
186
|
+
title: string | undefined | null;
|
|
177
187
|
};
|