@diplodoc/transform 4.77.14 → 4.77.16

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/lib/md.js CHANGED
@@ -46,6 +46,7 @@ const headings_1 = __importDefault(require("./headings"));
46
46
  const sanitize_1 = __importStar(require("./sanitize"));
47
47
  const ol_attr_conversion_1 = require("./plugins/ol-attr-conversion");
48
48
  const linkify_strikethrough_1 = __importDefault(require("./plugins/linkify-strikethrough"));
49
+ const inline_svg_marker_1 = __importDefault(require("./plugins/inline-svg-marker"));
49
50
  const constants_1 = require("./constants");
50
51
  const utils_1 = require("./plugins/utils");
51
52
  function initMarkdownIt(options) {
@@ -109,6 +110,7 @@ function initPlugins(md, options, pluginOptions) {
109
110
  md.use(markdown_it_attrs_1.default, { leftDelimiter, rightDelimiter });
110
111
  }
111
112
  md.use(ol_attr_conversion_1.olAttrConversion);
113
+ md.use(inline_svg_marker_1.default);
112
114
  md.use(linkify_strikethrough_1.default);
113
115
  plugins.forEach((plugin) => md.use(plugin, pluginOptions));
114
116
  if (linkify && linkifyTlds) {
package/lib/md.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"md.js","sourceRoot":"","sources":["../src/transform/md.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"md.js","sourceRoot":"","sources":["../src/transform/md.ts"],"names":[],"mappings":"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"}
@@ -78,8 +78,9 @@ function resolveGallerySrcAttr(key, value, state, from, calcPath, replaceImage,
78
78
  }
79
79
  function collectDataAttrs(image, state, from, calcPath, replaceImage, opts) {
80
80
  const result = {};
81
- if (!image.attrs)
81
+ if (!image.attrs) {
82
82
  return result;
83
+ }
83
84
  for (const [key, value] of image.attrs) {
84
85
  if (key === 'gallery' && isGalleryValid(value)) {
85
86
  result['data-gallery'] = value;
@@ -126,11 +127,13 @@ const index = (md, opts) => {
126
127
  }
127
128
  md.assets = [];
128
129
  function processImageToken(image, tokenIndex, childrenTokens, state) {
129
- if (image.attrGet('yfm_patched'))
130
+ if (image.attrGet('yfm_patched')) {
130
131
  return;
132
+ }
131
133
  const imgSrc = (0, utils_1.getSrcTokenAttr)(image);
132
- if ((0, utils_1.isExternalHref)(imgSrc))
134
+ if ((0, utils_1.isExternalHref)(imgSrc)) {
133
135
  return;
136
+ }
134
137
  const from = state.env.path || opts.path;
135
138
  const dataAttrs = collectDataAttrs(image, state, from, calcPath, replaceImage, opts);
136
139
  const forceInlineSvg = image.attrGet('inline') === 'true';
@@ -164,12 +167,14 @@ const index = (md, opts) => {
164
167
  }
165
168
  const plugin = (state) => {
166
169
  (0, utils_1.filterTokens)(state.tokens, 'inline', (inline, { commented }) => {
167
- if (commented || !inline.children)
170
+ if (commented || !inline.children) {
168
171
  return;
172
+ }
169
173
  const childrenTokens = inline.children;
170
174
  (0, utils_1.filterTokens)(childrenTokens, 'image', (image, { commented, index }) => {
171
- if (!commented)
175
+ if (!commented) {
172
176
  processImageToken(image, index, childrenTokens, state);
177
+ }
173
178
  });
174
179
  });
175
180
  };
@@ -193,6 +198,19 @@ function applyDataAttrs(svgRoot, dataAttrs) {
193
198
  }
194
199
  return result;
195
200
  }
201
+ const removeProcessingInstructions = {
202
+ name: 'removeProcessingInstructions',
203
+ fn: () => {
204
+ return {
205
+ instruction: {
206
+ enter: (node, parent) => {
207
+ const start = parent.children.indexOf(node);
208
+ parent.children.splice(start, 1);
209
+ },
210
+ },
211
+ };
212
+ },
213
+ };
196
214
  function replaceSvgContent(content, options, generateID = utils_2.generateID) {
197
215
  var _a;
198
216
  if (!content) {
@@ -200,8 +218,21 @@ function replaceSvgContent(content, options, generateID = utils_2.generateID) {
200
218
  }
201
219
  // monoline
202
220
  content = content.replace(/>\r?\n</g, '><').replace(/\r?\n/g, ' ');
203
- // remove XML processing instructions (<?xml?>, <?plantuml?>, etc.) — invalid in HTML
204
- content = content.replace(/<\?[^?]*\?>/g, '');
221
+ const optimized = (0, svgo_1.optimize)(content, {
222
+ plugins: [
223
+ 'removeDoctype',
224
+ { name: 'removeComments', params: { preservePatterns: [] } },
225
+ removeProcessingInstructions,
226
+ {
227
+ name: 'prefixIds',
228
+ params: {
229
+ prefix: generateID('svg'),
230
+ prefixClassNames: false,
231
+ },
232
+ },
233
+ ],
234
+ });
235
+ content = optimized.data;
205
236
  // width, height
206
237
  let svgRoot = content.replace(/.*?<svg([^>]*)>.*/g, '$1');
207
238
  const { width, height } = ((_a = svgRoot
@@ -231,18 +262,6 @@ function replaceSvgContent(content, options, generateID = utils_2.generateID) {
231
262
  // Insert title tag after the opening svg tag
232
263
  content = content.replace(/(<svg[^>]*>)/, `$1<title>${options.title}</title>`);
233
264
  }
234
- // randomize ids
235
- content = (0, svgo_1.optimize)(content, {
236
- plugins: [
237
- {
238
- name: 'prefixIds',
239
- params: {
240
- prefix: generateID('svg'),
241
- prefixClassNames: false,
242
- },
243
- },
244
- ],
245
- }).data;
246
265
  return escapeMarkdownCharsInSvgTextNodes(content);
247
266
  }
248
267
  // Asterisks in SVG text nodes break markdown emphasis parsing when SVG is embedded in .md
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/images/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/images/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { MarkdownItPluginCb } from './typings';
2
+ declare const inlineSvgMarker: MarkdownItPluginCb;
3
+ export = inlineSvgMarker;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ const MARKER = /^<!--[ \t]*diplodoc:svg[ \t][^\r\n]*?-->(?=<svg\b)/;
3
+ const TOKEN_NAME = 'inline_svg_marker';
4
+ const inlineSvgMarker = (md) => {
5
+ md.block.ruler.before('html_block', TOKEN_NAME, (state, startLine) => {
6
+ var _a;
7
+ const start = state.bMarks[startLine] + state.tShift[startLine];
8
+ const content = state.src.slice(start, state.eMarks[startLine]);
9
+ const marker = (_a = MARKER.exec(content)) === null || _a === void 0 ? void 0 : _a[0];
10
+ if (marker) {
11
+ const src = state.src.slice(0, start) +
12
+ ' '.repeat(marker.length) +
13
+ state.src.slice(start + marker.length);
14
+ state.src = src;
15
+ }
16
+ return false;
17
+ }, { alt: ['paragraph', 'reference', 'blockquote'] });
18
+ md.inline.ruler.before('html_inline', TOKEN_NAME, (state) => {
19
+ var _a;
20
+ const content = state.src.slice(state.pos);
21
+ const marker = (_a = MARKER.exec(content)) === null || _a === void 0 ? void 0 : _a[0];
22
+ if (!marker) {
23
+ return false;
24
+ }
25
+ const token = state.push(TOKEN_NAME, '', 0);
26
+ token.meta = {
27
+ start: state.pos,
28
+ end: state.pos + marker.length,
29
+ };
30
+ state.pos += marker.length;
31
+ return true;
32
+ });
33
+ md.core.ruler.after('inline', `${TOKEN_NAME}_cleanup`, (state) => {
34
+ state.tokens.forEach((token) => {
35
+ if (token.type !== 'inline' || !token.children) {
36
+ return;
37
+ }
38
+ for (let index = token.children.length - 1; index >= 0; index--) {
39
+ const marker = token.children[index];
40
+ if (marker.type !== TOKEN_NAME) {
41
+ continue;
42
+ }
43
+ const { start, end } = marker.meta;
44
+ token.content = token.content.slice(0, start) + token.content.slice(end);
45
+ token.children.splice(index, 1);
46
+ }
47
+ });
48
+ });
49
+ };
50
+ module.exports = inlineSvgMarker;
51
+ //# sourceMappingURL=inline-svg-marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-svg-marker.js","sourceRoot":"","sources":["../../src/transform/plugins/inline-svg-marker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/transform",
3
- "version": "4.77.14",
3
+ "version": "4.77.16",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -55,7 +55,7 @@
55
55
  "dependencies": {
56
56
  "@diplodoc/cut-extension": "^1.1.6",
57
57
  "@diplodoc/file-extension": "^0.2.5",
58
- "@diplodoc/tabs-extension": "^3.10.5",
58
+ "@diplodoc/tabs-extension": "^3.10.7",
59
59
  "@diplodoc/utils": "^2.3.5",
60
60
  "chalk": "^4.1.2",
61
61
  "cheerio": "^1.0.0",
@@ -13,6 +13,7 @@ import getHeadings from './headings';
13
13
  import sanitizeHtml, {defaultOptions, sanitizeStyles} from './sanitize';
14
14
  import {olAttrConversion} from './plugins/ol-attr-conversion';
15
15
  import linkifyStrikethrough from './plugins/linkify-strikethrough';
16
+ import inlineSvgMarker from './plugins/inline-svg-marker';
16
17
  import {DEFAULT_LANG} from './constants';
17
18
  import {createIDGeneratorByStrategy} from './plugins/utils';
18
19
 
@@ -117,6 +118,7 @@ function initPlugins(md: MarkdownIt, options: OptionsType, pluginOptions: Markdo
117
118
  }
118
119
 
119
120
  md.use(olAttrConversion);
121
+ md.use(inlineSvgMarker);
120
122
 
121
123
  md.use(linkifyStrikethrough);
122
124
  plugins.forEach((plugin) => md.use(plugin, pluginOptions));
@@ -5,7 +5,7 @@ import type {IDGenerator} from '../utils';
5
5
 
6
6
  import {join, sep} from 'path';
7
7
  import {bold} from 'chalk';
8
- import {optimize} from 'svgo';
8
+ import {type PluginConfig, optimize} from 'svgo';
9
9
  import {readFileSync} from 'fs';
10
10
 
11
11
  import {isFileExists, resolveRelativePath} from '../../utilsFS';
@@ -147,7 +147,9 @@ function collectDataAttrs(
147
147
  opts: ImageOpts,
148
148
  ): Record<string, string> {
149
149
  const result: Record<string, string> = {};
150
- if (!image.attrs) return result;
150
+ if (!image.attrs) {
151
+ return result;
152
+ }
151
153
 
152
154
  for (const [key, value] of image.attrs) {
153
155
  if (key === 'gallery' && isGalleryValid(value)) {
@@ -227,10 +229,14 @@ const index: MarkdownItPluginCb<Opts> = (md, opts) => {
227
229
  childrenTokens: Token[],
228
230
  state: StateCore,
229
231
  ): void {
230
- if (image.attrGet('yfm_patched')) return;
232
+ if (image.attrGet('yfm_patched')) {
233
+ return;
234
+ }
231
235
 
232
236
  const imgSrc = getSrcTokenAttr(image);
233
- if (isExternalHref(imgSrc)) return;
237
+ if (isExternalHref(imgSrc)) {
238
+ return;
239
+ }
234
240
 
235
241
  const from = state.env.path || opts.path;
236
242
  const dataAttrs = collectDataAttrs(image, state, from, calcPath, replaceImage, opts);
@@ -274,10 +280,14 @@ const index: MarkdownItPluginCb<Opts> = (md, opts) => {
274
280
 
275
281
  const plugin = (state: StateCore) => {
276
282
  filterTokens(state.tokens, 'inline', (inline, {commented}) => {
277
- if (commented || !inline.children) return;
283
+ if (commented || !inline.children) {
284
+ return;
285
+ }
278
286
  const childrenTokens = inline.children;
279
287
  filterTokens(childrenTokens, 'image', (image, {commented, index}) => {
280
- if (!commented) processImageToken(image, index, childrenTokens, state);
288
+ if (!commented) {
289
+ processImageToken(image, index, childrenTokens, state);
290
+ }
281
291
  });
282
292
  });
283
293
  };
@@ -307,6 +317,21 @@ function applyDataAttrs(svgRoot: string, dataAttrs: Record<string, string>): str
307
317
  return result;
308
318
  }
309
319
 
320
+ const removeProcessingInstructions: PluginConfig = {
321
+ name: 'removeProcessingInstructions',
322
+ fn: () => {
323
+ return {
324
+ instruction: {
325
+ enter: (node, parent) => {
326
+ const start = parent.children.indexOf(node);
327
+
328
+ parent.children.splice(start, 1);
329
+ },
330
+ },
331
+ };
332
+ },
333
+ };
334
+
310
335
  function replaceSvgContent(
311
336
  content: string | null,
312
337
  options: ImageOptions,
@@ -318,8 +343,22 @@ function replaceSvgContent(
318
343
  // monoline
319
344
  content = content.replace(/>\r?\n</g, '><').replace(/\r?\n/g, ' ');
320
345
 
321
- // remove XML processing instructions (<?xml?>, <?plantuml?>, etc.) — invalid in HTML
322
- content = content.replace(/<\?[^?]*\?>/g, '');
346
+ const optimized = optimize(content, {
347
+ plugins: [
348
+ 'removeDoctype',
349
+ {name: 'removeComments', params: {preservePatterns: []}},
350
+ removeProcessingInstructions,
351
+ {
352
+ name: 'prefixIds',
353
+ params: {
354
+ prefix: generateID('svg'),
355
+ prefixClassNames: false,
356
+ },
357
+ },
358
+ ],
359
+ });
360
+
361
+ content = optimized.data;
323
362
 
324
363
  // width, height
325
364
  let svgRoot = content.replace(/.*?<svg([^>]*)>.*/g, '$1');
@@ -356,19 +395,6 @@ function replaceSvgContent(
356
395
  content = content.replace(/(<svg[^>]*>)/, `$1<title>${options.title}</title>`);
357
396
  }
358
397
 
359
- // randomize ids
360
- content = optimize(content, {
361
- plugins: [
362
- {
363
- name: 'prefixIds',
364
- params: {
365
- prefix: generateID('svg'),
366
- prefixClassNames: false,
367
- },
368
- },
369
- ],
370
- }).data;
371
-
372
398
  return escapeMarkdownCharsInSvgTextNodes(content);
373
399
  }
374
400
 
@@ -0,0 +1,75 @@
1
+ import type StateBlock from 'markdown-it/lib/rules_block/state_block';
2
+ import type StateCore from 'markdown-it/lib/rules_core/state_core';
3
+ import type StateInline from 'markdown-it/lib/rules_inline/state_inline';
4
+ import type {MarkdownItPluginCb} from './typings';
5
+
6
+ const MARKER = /^<!--[ \t]*diplodoc:svg[ \t][^\r\n]*?-->(?=<svg\b)/;
7
+ const TOKEN_NAME = 'inline_svg_marker';
8
+
9
+ type MarkerRange = {start: number; end: number};
10
+
11
+ const inlineSvgMarker: MarkdownItPluginCb = (md) => {
12
+ md.block.ruler.before(
13
+ 'html_block',
14
+ TOKEN_NAME,
15
+ (state: StateBlock, startLine: number) => {
16
+ const start = state.bMarks[startLine] + state.tShift[startLine];
17
+ const content = state.src.slice(start, state.eMarks[startLine]);
18
+ const marker = MARKER.exec(content)?.[0];
19
+
20
+ if (marker) {
21
+ const src =
22
+ state.src.slice(0, start) +
23
+ ' '.repeat(marker.length) +
24
+ state.src.slice(start + marker.length);
25
+
26
+ state.src = src;
27
+ }
28
+
29
+ return false;
30
+ },
31
+ {alt: ['paragraph', 'reference', 'blockquote']},
32
+ );
33
+
34
+ md.inline.ruler.before('html_inline', TOKEN_NAME, (state: StateInline) => {
35
+ const content = state.src.slice(state.pos);
36
+ const marker = MARKER.exec(content)?.[0];
37
+
38
+ if (!marker) {
39
+ return false;
40
+ }
41
+
42
+ const token = state.push(TOKEN_NAME, '', 0);
43
+
44
+ token.meta = {
45
+ start: state.pos,
46
+ end: state.pos + marker.length,
47
+ } satisfies MarkerRange;
48
+ state.pos += marker.length;
49
+
50
+ return true;
51
+ });
52
+
53
+ md.core.ruler.after('inline', `${TOKEN_NAME}_cleanup`, (state: StateCore) => {
54
+ state.tokens.forEach((token) => {
55
+ if (token.type !== 'inline' || !token.children) {
56
+ return;
57
+ }
58
+
59
+ for (let index = token.children.length - 1; index >= 0; index--) {
60
+ const marker = token.children[index];
61
+
62
+ if (marker.type !== TOKEN_NAME) {
63
+ continue;
64
+ }
65
+
66
+ const {start, end} = marker.meta as MarkerRange;
67
+
68
+ token.content = token.content.slice(0, start) + token.content.slice(end);
69
+ token.children.splice(index, 1);
70
+ }
71
+ });
72
+ });
73
+ };
74
+
75
+ export = inlineSvgMarker;