@diplodoc/transform 4.77.8 → 4.77.10

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.
@@ -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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"}
@@ -171,17 +171,40 @@ const imageWithSize = (md, opts) => {
171
171
  [const_1.ImsizeAttr.Src, href],
172
172
  [const_1.ImsizeAttr.Alt, ''],
173
173
  ];
174
- // Handle inline attribute from curly braces
175
- if (state.src.slice(Math.max(0, pos), max).includes('{')) {
176
- const result = parseInlineAttributes(state.src.slice(Math.max(0, pos) + 1, max - 1).replace(/\{?(.*?)\}.*/, '$1'));
177
- if (result.width !== '') {
178
- width = result.width;
179
- }
180
- if (result.height !== '') {
181
- height = result.height;
174
+ // 0x7b = "{"
175
+ if (pos < max && state.src.codePointAt(pos) === 0x7b /* { */) {
176
+ let bracePos = pos + 1;
177
+ let depth = 1;
178
+ while (bracePos < max && depth > 0) {
179
+ const braceCode = state.src.codePointAt(bracePos);
180
+ if (braceCode === 0x7b) {
181
+ depth++;
182
+ }
183
+ else if (braceCode === 0x7d) {
184
+ depth--;
185
+ }
186
+ if (depth > 0) {
187
+ bracePos++;
188
+ }
182
189
  }
183
- if (result.inline !== '') {
184
- token.attrs.push([const_1.ImsizeAttr.Inline, result.inline]);
190
+ if (depth === 0) {
191
+ const attrsBody = state.src.slice(pos + 1, bracePos);
192
+ const result = parseInlineAttributes(attrsBody);
193
+ if (result.width !== '') {
194
+ width = result.width;
195
+ }
196
+ if (result.height !== '') {
197
+ height = result.height;
198
+ }
199
+ if (result.inline !== '') {
200
+ token.attrs.push([const_1.ImsizeAttr.Inline, result.inline]);
201
+ }
202
+ if (result.dataAttrs) {
203
+ for (const [key, value] of Object.entries(result.dataAttrs)) {
204
+ token.attrs.push([key, value]);
205
+ }
206
+ }
207
+ pos = bracePos + 1;
185
208
  }
186
209
  }
187
210
  if (title) {
@@ -223,24 +246,37 @@ const imageWithSize = (md, opts) => {
223
246
  };
224
247
  };
225
248
  exports.imageWithSize = imageWithSize;
249
+ function resolveDataAttr(key, value) {
250
+ const isGalleryValid = value === 'true' || value === 'false';
251
+ if (key === 'gallery')
252
+ return isGalleryValid ? ['data-gallery', value] : null;
253
+ if (key === 'data-gallery')
254
+ return isGalleryValid ? [key, value] : null;
255
+ if (key === 'gallery-src')
256
+ return value !== '' ? ['data-gallery-src', value] : null;
257
+ if (key.startsWith('data-'))
258
+ return [key, value];
259
+ return null;
260
+ }
226
261
  function parseInlineAttributes(attrsStr) {
227
262
  // Parse key=value pairs
228
- const attrRegex = /(\w+)=(?:'([^']*)'|"([^"]*)"|(\S+))/g;
229
- const result = {
230
- width: '',
231
- height: '',
232
- inline: '',
233
- };
263
+ const attrRegex = /([\w-]+)=(?:'([^']*)'|"([^"]*)"|(\S+))/g;
264
+ const result = { width: '', height: '', inline: '', dataAttrs: {} };
234
265
  let match;
235
266
  while ((match = attrRegex.exec(attrsStr)) !== null) {
236
267
  const key = match[1];
237
- const value = match[2] || match[3] || match[4];
238
- switch (key) {
239
- case 'width':
240
- case 'height':
241
- case 'inline':
242
- result[key] = value;
243
- break;
268
+ let value = match[2] || match[3] || match[4];
269
+ if (value === null || value === void 0 ? void 0 : value.endsWith('}')) {
270
+ value = value.slice(0, -1);
271
+ }
272
+ if (key === 'width' || key === 'height' || key === 'inline') {
273
+ result[key] = value;
274
+ continue;
275
+ }
276
+ const resolved = resolveDataAttr(key, value);
277
+ if (resolved) {
278
+ result.dataAttrs = result.dataAttrs || {};
279
+ result.dataAttrs[resolved[0]] = resolved[1];
244
280
  }
245
281
  }
246
282
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/transform/plugins/imsize/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/transform/plugins/imsize/plugin.ts"],"names":[],"mappings":"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"}
package/lib/typings.d.ts CHANGED
@@ -150,4 +150,5 @@ export type ImageOptions = {
150
150
  width: string | undefined | null;
151
151
  height: string | undefined | null;
152
152
  title: string | undefined | null;
153
+ dataAttrs?: Record<string, string>;
153
154
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/transform",
3
- "version": "4.77.8",
3
+ "version": "4.77.10",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -13,6 +13,14 @@ import {filterTokens, getSrcTokenAttr, isExternalHref} from '../../utils';
13
13
  import {generateID as globalGenerateID} from '../utils';
14
14
 
15
15
  const sanitizeAttribute = (value: string): string => value.replace(/(\d*[%a-z]{0,5}).*/gi, '$1');
16
+ const sanitizeHTMLAttr = (value: string): string => {
17
+ return value
18
+ .replace(/&/g, '&amp;')
19
+ .replace(/"/g, '&quot;')
20
+ .replace(/'/g, '&#39;')
21
+ .replace(/</g, '&lt;')
22
+ .replace(/>/g, '&gt;');
23
+ };
16
24
 
17
25
  interface ImageOpts extends MarkdownItPluginOpts {
18
26
  assetsPublicPath: string;
@@ -103,6 +111,84 @@ function shouldBeInlined(token: Token, opts: InlineOptions) {
103
111
  return shouldInlineSvg;
104
112
  }
105
113
 
114
+ function isGalleryValid(value: string): boolean {
115
+ return value === 'true' || value === 'false';
116
+ }
117
+
118
+ function resolveGallerySrcAttr(
119
+ key: string,
120
+ value: string,
121
+ state: StateCore,
122
+ from: string,
123
+ calcPath: (root: string, path: string) => string,
124
+ replaceImage: typeof replaceImageSrc,
125
+ opts: ImageOpts,
126
+ ): [string, string] | null {
127
+ if (key !== 'gallery-src' && key !== 'data-gallery-src') {
128
+ return null;
129
+ }
130
+
131
+ if (!value) {
132
+ return null;
133
+ }
134
+
135
+ const galleryFile = calcPath(from, value);
136
+ const processedSrc = replaceImage(state, from, galleryFile, value, opts);
137
+
138
+ return ['data-gallery-src', processedSrc];
139
+ }
140
+
141
+ function collectDataAttrs(
142
+ image: Token,
143
+ state: StateCore,
144
+ from: string,
145
+ calcPath: (root: string, path: string) => string,
146
+ replaceImage: typeof replaceImageSrc,
147
+ opts: ImageOpts,
148
+ ): Record<string, string> {
149
+ const result: Record<string, string> = {};
150
+ if (!image.attrs) return result;
151
+
152
+ for (const [key, value] of image.attrs) {
153
+ if (key === 'gallery' && isGalleryValid(value)) {
154
+ result['data-gallery'] = value;
155
+ continue;
156
+ }
157
+
158
+ const gallerySrc = resolveGallerySrcAttr(
159
+ key,
160
+ value,
161
+ state,
162
+ from,
163
+ calcPath,
164
+ replaceImage,
165
+ opts,
166
+ );
167
+
168
+ if (gallerySrc) {
169
+ result[gallerySrc[0]] = gallerySrc[1];
170
+ continue;
171
+ }
172
+
173
+ if (
174
+ key.startsWith('data-') &&
175
+ key !== 'data-gallery-src' &&
176
+ (key !== 'data-gallery' || isGalleryValid(value))
177
+ ) {
178
+ result[key] = value;
179
+ }
180
+ }
181
+
182
+ image.attrs = image.attrs.filter(
183
+ ([key, value]) =>
184
+ key !== 'gallery' &&
185
+ key !== 'gallery-src' &&
186
+ (key !== 'data-gallery' || isGalleryValid(value)) &&
187
+ (key !== 'data-gallery-src' || value !== ''),
188
+ );
189
+ return result;
190
+ }
191
+
106
192
  const getRawFile = (path: string) => {
107
193
  return readFileSync(path, 'utf8').toString();
108
194
  };
@@ -122,65 +208,63 @@ const index: MarkdownItPluginCb<Opts> = (md, opts) => {
122
208
  }
123
209
  md.assets = [];
124
210
 
125
- const plugin = (state: StateCore) => {
126
- const tokens = state.tokens;
211
+ function processImageToken(
212
+ image: Token,
213
+ tokenIndex: number,
214
+ childrenTokens: Token[],
215
+ state: StateCore,
216
+ ): void {
217
+ if (image.attrGet('yfm_patched')) return;
218
+
219
+ const imgSrc = getSrcTokenAttr(image);
220
+ if (isExternalHref(imgSrc)) return;
221
+
222
+ const from = state.env.path || opts.path;
223
+ const dataAttrs = collectDataAttrs(image, state, from, calcPath, replaceImage, opts);
224
+ const forceInlineSvg = image.attrGet('inline') === 'true';
225
+ const imageOpts = {
226
+ width: image.attrGet('width'),
227
+ height: image.attrGet('height'),
228
+ title: image.attrGet('title'),
229
+ dataAttrs,
230
+ };
127
231
 
128
- filterTokens(tokens, 'inline', (inline, {commented}) => {
129
- if (commented || !inline.children) {
130
- return;
232
+ const file = calcPath(from, imgSrc);
233
+
234
+ if (shouldBeInlined(image, opts.svgInline)) {
235
+ const svgContent = getSvgContent(file, from, {...opts, rawContent});
236
+ if (svgContent) {
237
+ if (svgContent.length > opts.svgInline.maxFileSize && !forceInlineSvg) {
238
+ image.attrSet(
239
+ 'YFM011',
240
+ `Svg size: ${svgContent.length}; Config size: ${opts.svgInline.maxFileSize}; Src: ${bold(file)}`,
241
+ );
242
+ } else {
243
+ const svgToken = new state.Token('image_svg', '', 0);
244
+ svgToken.attrSet(
245
+ 'content',
246
+ replaceSvgContent(svgContent, imageOpts, opts.generateID),
247
+ );
248
+ childrenTokens[tokenIndex] = svgToken;
249
+ }
131
250
  }
251
+ }
132
252
 
133
- const childrenTokens = inline.children || [];
253
+ if (childrenTokens[tokenIndex].type === 'image') {
254
+ image.attrSet('src', replaceImage(state, from, file, imgSrc, opts));
255
+ image.attrSet('yfm_patched', '1');
256
+ for (const [key, value] of Object.entries(dataAttrs)) {
257
+ image.attrSet(key, value);
258
+ }
259
+ }
260
+ }
134
261
 
262
+ const plugin = (state: StateCore) => {
263
+ filterTokens(state.tokens, 'inline', (inline, {commented}) => {
264
+ if (commented || !inline.children) return;
265
+ const childrenTokens = inline.children;
135
266
  filterTokens(childrenTokens, 'image', (image, {commented, index}) => {
136
- const didPatch = image.attrGet('yfm_patched') || false;
137
-
138
- if (didPatch || commented) {
139
- return;
140
- }
141
-
142
- const imgSrc = getSrcTokenAttr(image);
143
- if (isExternalHref(imgSrc)) {
144
- return;
145
- }
146
-
147
- const forceInlineSvg = image.attrGet('inline') === 'true';
148
- const shouldInlineSvg = shouldBeInlined(image, opts.svgInline);
149
- const imageOpts = {
150
- width: image.attrGet('width'),
151
- height: image.attrGet('height'),
152
- title: image.attrGet('title'),
153
- };
154
-
155
- const from = state.env.path || opts.path;
156
- const file = calcPath(from, imgSrc);
157
-
158
- if (shouldInlineSvg) {
159
- const svgContent = getSvgContent(file, from, {
160
- ...opts,
161
- rawContent,
162
- });
163
- if (svgContent) {
164
- if (svgContent.length > opts.svgInline.maxFileSize && !forceInlineSvg) {
165
- image.attrSet(
166
- 'YFM011',
167
- `Svg size: ${svgContent.length}; Config size: ${opts.svgInline.maxFileSize}; Src: ${bold(file)}`,
168
- );
169
- } else {
170
- const svgToken = new state.Token('image_svg', '', 0);
171
- svgToken.attrSet(
172
- 'content',
173
- replaceSvgContent(svgContent, imageOpts, opts.generateID),
174
- );
175
- childrenTokens[index] = svgToken;
176
- }
177
- }
178
- }
179
-
180
- if (childrenTokens[index].type === 'image') {
181
- image.attrSet('src', replaceImage(state, from, file, imgSrc, opts));
182
- image.attrSet('yfm_patched', '1');
183
- }
267
+ if (!commented) processImageToken(image, index, childrenTokens, state);
184
268
  });
185
269
  });
186
270
  };
@@ -198,6 +282,18 @@ const index: MarkdownItPluginCb<Opts> = (md, opts) => {
198
282
  };
199
283
  };
200
284
 
285
+ function applyDataAttrs(svgRoot: string, dataAttrs: Record<string, string>): string {
286
+ let result = svgRoot;
287
+
288
+ for (const [key, value] of Object.entries(dataAttrs)) {
289
+ if (!result.includes(`${key}=`)) {
290
+ result = `${result} ${key}="${sanitizeHTMLAttr(value)}"`;
291
+ }
292
+ }
293
+
294
+ return result;
295
+ }
296
+
201
297
  function replaceSvgContent(
202
298
  content: string | null,
203
299
  options: ImageOptions,
@@ -232,7 +328,12 @@ function replaceSvgContent(
232
328
  svgRoot = `${svgRoot} height="${sanitizedHeight}"`;
233
329
  }
234
330
  if ((!width && options.width) || (!height && options.height)) {
235
- content = content.replace(/.*?<svg([^>]*)>/, `<svg${svgRoot}>`);
331
+ content = content.replace(/<svg([^>]*)>/, `<svg${svgRoot}>`);
332
+ }
333
+
334
+ if (options.dataAttrs) {
335
+ svgRoot = applyDataAttrs(svgRoot, options.dataAttrs);
336
+ content = content.replace(/<svg([^>]*)>/, `<svg${svgRoot}>`);
236
337
  }
237
338
 
238
339
  // title
@@ -268,11 +369,10 @@ function escapeMarkdownCharsInSvgTextNodes(content: string): string {
268
369
  }
269
370
 
270
371
  // Create an object that is the index function with an additional replaceSvgContent property
271
- const imagesPlugin: typeof index & {replaceSvgContent: typeof replaceSvgContent} = Object.assign(
272
- index,
273
- {
274
- replaceSvgContent,
275
- },
276
- );
372
+ const imagesPlugin: typeof index & {
373
+ replaceSvgContent: typeof replaceSvgContent;
374
+ } = Object.assign(index, {
375
+ replaceSvgContent,
376
+ });
277
377
 
278
378
  export = imagesPlugin;
@@ -199,20 +199,43 @@ export const imageWithSize = (md: MarkdownIt, opts?: ImsizeOptions): ParserInlin
199
199
  [ImsizeAttr.Alt, ''],
200
200
  ];
201
201
 
202
- // Handle inline attribute from curly braces
203
- if (state.src.slice(Math.max(0, pos), max).includes('{')) {
204
- const result = parseInlineAttributes(
205
- state.src.slice(Math.max(0, pos) + 1, max - 1).replace(/\{?(.*?)\}.*/, '$1'),
206
- );
207
-
208
- if (result.width !== '') {
209
- width = result.width;
210
- }
211
- if (result.height !== '') {
212
- height = result.height;
202
+ // 0x7b = "{"
203
+ if (pos < max && state.src.codePointAt(pos) === 0x7b /* { */) {
204
+ let bracePos = pos + 1;
205
+ let depth = 1;
206
+
207
+ while (bracePos < max && depth > 0) {
208
+ const braceCode = state.src.codePointAt(bracePos);
209
+ if (braceCode === 0x7b) {
210
+ depth++;
211
+ } else if (braceCode === 0x7d) {
212
+ depth--;
213
+ }
214
+ if (depth > 0) {
215
+ bracePos++;
216
+ }
213
217
  }
214
- if (result.inline !== '') {
215
- token.attrs.push([ImsizeAttr.Inline, result.inline]);
218
+
219
+ if (depth === 0) {
220
+ const attrsBody = state.src.slice(pos + 1, bracePos);
221
+ const result = parseInlineAttributes(attrsBody);
222
+
223
+ if (result.width !== '') {
224
+ width = result.width;
225
+ }
226
+ if (result.height !== '') {
227
+ height = result.height;
228
+ }
229
+ if (result.inline !== '') {
230
+ token.attrs.push([ImsizeAttr.Inline, result.inline]);
231
+ }
232
+ if (result.dataAttrs) {
233
+ for (const [key, value] of Object.entries(result.dataAttrs)) {
234
+ token.attrs.push([key, value]);
235
+ }
236
+ }
237
+
238
+ pos = bracePos + 1;
216
239
  }
217
240
  }
218
241
 
@@ -262,26 +285,46 @@ export const imageWithSize = (md: MarkdownIt, opts?: ImsizeOptions): ParserInlin
262
285
  };
263
286
  };
264
287
 
265
- function parseInlineAttributes(attrsStr: string): {width: string; height: string; inline: string} {
288
+ type ParsedAttrs = {
289
+ width: string;
290
+ height: string;
291
+ inline: string;
292
+ dataAttrs?: Record<string, string>;
293
+ };
294
+
295
+ function resolveDataAttr(key: string, value: string): [string, string] | null {
296
+ const isGalleryValid = value === 'true' || value === 'false';
297
+
298
+ if (key === 'gallery') return isGalleryValid ? ['data-gallery', value] : null;
299
+ if (key === 'data-gallery') return isGalleryValid ? [key, value] : null;
300
+ if (key === 'gallery-src') return value !== '' ? ['data-gallery-src', value] : null;
301
+ if (key.startsWith('data-')) return [key, value];
302
+ return null;
303
+ }
304
+
305
+ function parseInlineAttributes(attrsStr: string): ParsedAttrs {
266
306
  // Parse key=value pairs
267
- const attrRegex = /(\w+)=(?:'([^']*)'|"([^"]*)"|(\S+))/g;
268
- const result: {width: string; height: string; inline: string} = {
269
- width: '',
270
- height: '',
271
- inline: '',
272
- };
307
+ const attrRegex = /([\w-]+)=(?:'([^']*)'|"([^"]*)"|(\S+))/g;
308
+ const result: ParsedAttrs = {width: '', height: '', inline: '', dataAttrs: {}};
273
309
  let match;
274
310
 
275
311
  while ((match = attrRegex.exec(attrsStr)) !== null) {
276
312
  const key = match[1];
277
- const value = match[2] || match[3] || match[4];
278
-
279
- switch (key) {
280
- case 'width':
281
- case 'height':
282
- case 'inline':
283
- result[key] = value;
284
- break;
313
+ let value = match[2] || match[3] || match[4];
314
+
315
+ if (value?.endsWith('}')) {
316
+ value = value.slice(0, -1);
317
+ }
318
+
319
+ if (key === 'width' || key === 'height' || key === 'inline') {
320
+ result[key] = value;
321
+ continue;
322
+ }
323
+
324
+ const resolved = resolveDataAttr(key, value);
325
+ if (resolved) {
326
+ result.dataAttrs = result.dataAttrs || {};
327
+ result.dataAttrs[resolved[0]] = resolved[1];
285
328
  }
286
329
  }
287
330
  return result;
@@ -195,4 +195,5 @@ export type ImageOptions = {
195
195
  width: string | undefined | null;
196
196
  height: string | undefined | null;
197
197
  title: string | undefined | null;
198
+ dataAttrs?: Record<string, string>;
198
199
  };