@diplodoc/transform 4.77.9 → 4.77.11

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.
@@ -204,7 +204,13 @@ const imageWithSize = (md, opts) => {
204
204
  token.attrs.push([key, value]);
205
205
  }
206
206
  }
207
- pos = bracePos + 1;
207
+ // Consume the block only when it belongs to imsize entirely.
208
+ // Otherwise leave its source text in the token stream: it still
209
+ // has to be seen by markdown-it-attrs and by the @diplodoc/translation
210
+ // skeleton, which extracts the translatable title from it.
211
+ if (!result.foreign) {
212
+ pos = bracePos + 1;
213
+ }
208
214
  }
209
215
  }
210
216
  if (title) {
@@ -246,12 +252,22 @@ const imageWithSize = (md, opts) => {
246
252
  };
247
253
  };
248
254
  exports.imageWithSize = imageWithSize;
255
+ function isOwnAttr(key) {
256
+ return (key === 'width' ||
257
+ key === 'height' ||
258
+ key === 'inline' ||
259
+ key === 'gallery' ||
260
+ key === 'gallery-src' ||
261
+ key.startsWith('data-'));
262
+ }
249
263
  function resolveDataAttr(key, value) {
250
264
  const isGalleryValid = value === 'true' || value === 'false';
251
265
  if (key === 'gallery')
252
266
  return isGalleryValid ? ['data-gallery', value] : null;
253
267
  if (key === 'data-gallery')
254
268
  return isGalleryValid ? [key, value] : null;
269
+ if (key === 'gallery-src')
270
+ return value === '' ? null : ['data-gallery-src', value];
255
271
  if (key.startsWith('data-'))
256
272
  return [key, value];
257
273
  return null;
@@ -259,14 +275,22 @@ function resolveDataAttr(key, value) {
259
275
  function parseInlineAttributes(attrsStr) {
260
276
  // Parse key=value pairs
261
277
  const attrRegex = /([\w-]+)=(?:'([^']*)'|"([^"]*)"|(\S+))/g;
262
- const result = { width: '', height: '', inline: '', dataAttrs: {} };
278
+ const result = { width: '', height: '', inline: '', dataAttrs: {}, foreign: false };
279
+ const dense = (str) => str.replace(/\s+/g, '').length;
263
280
  let match;
281
+ let own = 0;
282
+ let ownChars = 0;
264
283
  while ((match = attrRegex.exec(attrsStr)) !== null) {
265
284
  const key = match[1];
266
285
  let value = match[2] || match[3] || match[4];
267
286
  if (value === null || value === void 0 ? void 0 : value.endsWith('}')) {
268
287
  value = value.slice(0, -1);
269
288
  }
289
+ if (!isOwnAttr(key)) {
290
+ continue;
291
+ }
292
+ own++;
293
+ ownChars += dense(match[0]);
270
294
  if (key === 'width' || key === 'height' || key === 'inline') {
271
295
  result[key] = value;
272
296
  continue;
@@ -277,6 +301,9 @@ function parseInlineAttributes(attrsStr) {
277
301
  result.dataAttrs[resolved[0]] = resolved[1];
278
302
  }
279
303
  }
304
+ // The block is fully ours only if it carries our attributes and nothing
305
+ // foreign is left over — otherwise someone downstream has to parse it.
306
+ result.foreign = own === 0 || ownChars !== dense(attrsStr);
280
307
  return result;
281
308
  }
282
309
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/transform/plugins/imsize/plugin.ts"],"names":[],"mappings":";;;AAIA,mCAAmC;AACnC,uCAAyC;AAMlC,MAAM,aAAa,GAAG,CAAC,EAAc,EAAE,IAAoB,EAA2B,EAAE;IAC3F,sCAAsC;IACtC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;;;QACrB,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAExE,sDAAsD;QACtD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;QAEzB,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1D,EAAE;YACF,cAAc;YACd,EAAE;YAEF,8BAA8B;YAC9B,kCAAkC;YAClC,GAAG,EAAE,CAAC;YACN,OAAO,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACjC,MAAM;gBACV,CAAC;YACL,CAAC;YACD,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,8BAA8B;YAC9B,2CAA2C;YAC3C,IAAI,KAAK,GAAG,GAAG,CAAC;YAChB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACjF,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;gBAChB,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACJ,IAAI,GAAG,EAAE,CAAC;gBACd,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,0CAA0C;YAC1C,KAAK,GAAG,GAAG,CAAC;YACZ,OAAO,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACjC,MAAM;gBACV,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,8CAA8C;YAC9C,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5E,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;gBAC/C,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC;gBACxB,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;gBAEtB,8BAA8B;gBAC9B,mDAAmD;gBACnD,OAAO,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBACvC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBACjC,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,GAAG,EAAE,CAAC;YACf,CAAC;YAED,mCAAmC;YACnC,mDAAmD;YACnD,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAE3C,0CAA0C;gBAC1C,sCAAsC;gBACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAChB,MAAM,UAAU,GAAG,IAAA,wBAAc,EAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBAChE,IAAI,UAAU,CAAC,EAAE,EAAE,CAAC;wBAChB,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;wBACzB,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;wBAC3B,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;wBAErB,mCAAmC;wBACnC,wDAAwD;wBACxD,OAAO,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;4BACtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;4BACvC,qCAAqC;4BACrC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gCACjC,MAAM;4BACV,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3D,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;gBACnB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,GAAG,EAAE,CAAC;QACV,CAAC;aAAM,CAAC;YACJ,EAAE;YACF,iBAAiB;YACjB,EAAE;YACF,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,WAAW,EAAE,CAAC;gBAC9C,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,eAAe;YACf,qDAAqD;YACrD,OAAO,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBACjC,MAAM;gBACV,CAAC;YACL,CAAC;YAED,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;gBACtB,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5C,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;oBACX,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACJ,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,8CAA8C;YAC9C,sEAAsE;YACtE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC;gBACnB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAChB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,EAAE;QACF,uEAAuE;QACvE,iDAAiD;QACjD,EAAE;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC;YACvB,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;YAExB,MAAM,MAAM,GAAY,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CACtC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EACrC,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,GAAG,EACT,MAAM,CACT,CAAC;YACF,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;YACxB,KAAK,CAAC,KAAK,GAAG;gBACV,CAAC,kBAAU,CAAC,GAAG,EAAE,IAAI,CAAC;gBACtB,CAAC,kBAAU,CAAC,GAAG,EAAE,EAAE,CAAC;aACvB,CAAC;YAEF,aAAa;YACb,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3D,IAAI,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;gBACvB,IAAI,KAAK,GAAG,CAAC,CAAC;gBAEd,OAAO,QAAQ,GAAG,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAClD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;wBACrB,KAAK,EAAE,CAAC;oBACZ,CAAC;yBAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;wBAC5B,KAAK,EAAE,CAAC;oBACZ,CAAC;oBACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBACZ,QAAQ,EAAE,CAAC;oBACf,CAAC;gBACL,CAAC;gBAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBACd,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;oBACrD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;oBAEhD,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;wBACtB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBACzB,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;wBACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC3B,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;wBACvB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;wBACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC1D,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;wBACnC,CAAC;oBACL,CAAC;oBAED,GAAG,GAAG,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACf,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAChB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,EAAE,CAAC;gBAC5B,IAAI,KAAK,GAAuB,EAAE,CAAC;gBAEnC,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAE/C,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;oBACf,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;oBAC5D,KAAK,IAAI,UAAU,WAAW,GAAG,CAAC;gBACtC,CAAC;gBAED,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;oBAChB,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,iBAAiB,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC1D,KAAK,IAAI,iBAAiB,KAAK,MAAM,MAAM,gBAAgB,CAAC;wBAC5D,YAAA,KAAK,CAAC,GAAG,EAAC,6BAA6B,uCAA7B,6BAA6B,GAAK,EAAE,EAAC;wBAC/C,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;oBACnE,CAAC;yBAAM,CAAC;wBACJ,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;wBAChE,KAAK,IAAI,WAAW,YAAY,GAAG,CAAC;oBACxC,CAAC;gBACL,CAAC;gBAED,IAAI,KAAK,EAAE,CAAC;oBACR,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;QACL,CAAC;QAED,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC,CAAC;AAlRW,QAAA,aAAa,iBAkRxB;AASF,SAAS,eAAe,CAAC,GAAW,EAAE,KAAa;IAC/C,MAAM,cAAc,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC;IAC7D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,IAAI,GAAG,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAgB;IAC3C,wBAAwB;IACxB,MAAM,SAAS,GAAG,yCAAyC,CAAC;IAC5D,MAAM,MAAM,GAAgB,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,CAAC;IAC/E,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,SAAS;QACb,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAC1C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/transform/plugins/imsize/plugin.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.9",
3
+ "version": "4.77.11",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -78,7 +78,7 @@
78
78
  "ts-dedent": "^2.2.0"
79
79
  },
80
80
  "devDependencies": {
81
- "@diplodoc/infra": "2.2.2",
81
+ "@diplodoc/infra": "2.2.3",
82
82
  "@types/css": "0.0.34",
83
83
  "@types/github-slugger": "^1.3.0",
84
84
  "@types/js-yaml": "^4.0.5",
@@ -101,7 +101,7 @@
101
101
  "postcss-preset-env": "^9.1.1",
102
102
  "sass": "^1.79.0",
103
103
  "terminal-link": "^2.1.1",
104
- "typescript": "^5.6.3",
104
+ "typescript": "6.0.3",
105
105
  "vitest": "^2.1.8"
106
106
  },
107
107
  "peerDependencies": {
@@ -115,19 +115,76 @@ function isGalleryValid(value: string): boolean {
115
115
  return value === 'true' || value === 'false';
116
116
  }
117
117
 
118
- function collectDataAttrs(image: Token): Record<string, string> {
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> {
119
149
  const result: Record<string, string> = {};
120
150
  if (!image.attrs) return result;
121
151
 
122
152
  for (const [key, value] of image.attrs) {
123
153
  if (key === 'gallery' && isGalleryValid(value)) {
124
154
  result['data-gallery'] = value;
125
- } else if (key.startsWith('data-') && (key !== 'data-gallery' || isGalleryValid(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
+ ) {
126
178
  result[key] = value;
127
179
  }
128
180
  }
181
+
129
182
  image.attrs = image.attrs.filter(
130
- ([key, value]) => key !== 'gallery' && (key !== 'data-gallery' || isGalleryValid(value)),
183
+ ([key, value]) =>
184
+ key !== 'gallery' &&
185
+ key !== 'gallery-src' &&
186
+ (key !== 'data-gallery' || isGalleryValid(value)) &&
187
+ (key !== 'data-gallery-src' || value !== ''),
131
188
  );
132
189
  return result;
133
190
  }
@@ -162,7 +219,8 @@ const index: MarkdownItPluginCb<Opts> = (md, opts) => {
162
219
  const imgSrc = getSrcTokenAttr(image);
163
220
  if (isExternalHref(imgSrc)) return;
164
221
 
165
- const dataAttrs = collectDataAttrs(image);
222
+ const from = state.env.path || opts.path;
223
+ const dataAttrs = collectDataAttrs(image, state, from, calcPath, replaceImage, opts);
166
224
  const forceInlineSvg = image.attrGet('inline') === 'true';
167
225
  const imageOpts = {
168
226
  width: image.attrGet('width'),
@@ -171,7 +229,6 @@ const index: MarkdownItPluginCb<Opts> = (md, opts) => {
171
229
  dataAttrs,
172
230
  };
173
231
 
174
- const from = state.env.path || opts.path;
175
232
  const file = calcPath(from, imgSrc);
176
233
 
177
234
  if (shouldBeInlined(image, opts.svgInline)) {
@@ -225,6 +282,18 @@ const index: MarkdownItPluginCb<Opts> = (md, opts) => {
225
282
  };
226
283
  };
227
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
+
228
297
  function replaceSvgContent(
229
298
  content: string | null,
230
299
  options: ImageOptions,
@@ -263,9 +332,7 @@ function replaceSvgContent(
263
332
  }
264
333
 
265
334
  if (options.dataAttrs) {
266
- for (const [key, value] of Object.entries(options.dataAttrs)) {
267
- svgRoot = `${svgRoot} ${key}="${sanitizeHTMLAttr(value)}"`;
268
- }
335
+ svgRoot = applyDataAttrs(svgRoot, options.dataAttrs);
269
336
  content = content.replace(/<svg([^>]*)>/, `<svg${svgRoot}>`);
270
337
  }
271
338
 
@@ -235,7 +235,13 @@ export const imageWithSize = (md: MarkdownIt, opts?: ImsizeOptions): ParserInlin
235
235
  }
236
236
  }
237
237
 
238
- pos = bracePos + 1;
238
+ // Consume the block only when it belongs to imsize entirely.
239
+ // Otherwise leave its source text in the token stream: it still
240
+ // has to be seen by markdown-it-attrs and by the @diplodoc/translation
241
+ // skeleton, which extracts the translatable title from it.
242
+ if (!result.foreign) {
243
+ pos = bracePos + 1;
244
+ }
239
245
  }
240
246
  }
241
247
 
@@ -290,12 +296,28 @@ type ParsedAttrs = {
290
296
  height: string;
291
297
  inline: string;
292
298
  dataAttrs?: Record<string, string>;
299
+ // true when the {...} block holds anything imsize does not own:
300
+ // a foreign key (title=...) or free-form content like markdown-it-attrs' {.class}.
301
+ foreign: boolean;
293
302
  };
294
303
 
304
+ function isOwnAttr(key: string): boolean {
305
+ return (
306
+ key === 'width' ||
307
+ key === 'height' ||
308
+ key === 'inline' ||
309
+ key === 'gallery' ||
310
+ key === 'gallery-src' ||
311
+ key.startsWith('data-')
312
+ );
313
+ }
314
+
295
315
  function resolveDataAttr(key: string, value: string): [string, string] | null {
296
316
  const isGalleryValid = value === 'true' || value === 'false';
317
+
297
318
  if (key === 'gallery') return isGalleryValid ? ['data-gallery', value] : null;
298
319
  if (key === 'data-gallery') return isGalleryValid ? [key, value] : null;
320
+ if (key === 'gallery-src') return value === '' ? null : ['data-gallery-src', value];
299
321
  if (key.startsWith('data-')) return [key, value];
300
322
  return null;
301
323
  }
@@ -303,8 +325,11 @@ function resolveDataAttr(key: string, value: string): [string, string] | null {
303
325
  function parseInlineAttributes(attrsStr: string): ParsedAttrs {
304
326
  // Parse key=value pairs
305
327
  const attrRegex = /([\w-]+)=(?:'([^']*)'|"([^"]*)"|(\S+))/g;
306
- const result: ParsedAttrs = {width: '', height: '', inline: '', dataAttrs: {}};
328
+ const result: ParsedAttrs = {width: '', height: '', inline: '', dataAttrs: {}, foreign: false};
329
+ const dense = (str: string) => str.replace(/\s+/g, '').length;
307
330
  let match;
331
+ let own = 0;
332
+ let ownChars = 0;
308
333
 
309
334
  while ((match = attrRegex.exec(attrsStr)) !== null) {
310
335
  const key = match[1];
@@ -314,6 +339,13 @@ function parseInlineAttributes(attrsStr: string): ParsedAttrs {
314
339
  value = value.slice(0, -1);
315
340
  }
316
341
 
342
+ if (!isOwnAttr(key)) {
343
+ continue;
344
+ }
345
+
346
+ own++;
347
+ ownChars += dense(match[0]);
348
+
317
349
  if (key === 'width' || key === 'height' || key === 'inline') {
318
350
  result[key] = value;
319
351
  continue;
@@ -325,5 +357,10 @@ function parseInlineAttributes(attrsStr: string): ParsedAttrs {
325
357
  result.dataAttrs[resolved[0]] = resolved[1];
326
358
  }
327
359
  }
360
+
361
+ // The block is fully ours only if it carries our attributes and nothing
362
+ // foreign is left over — otherwise someone downstream has to parse it.
363
+ result.foreign = own === 0 || ownChars !== dense(attrsStr);
364
+
328
365
  return result;
329
366
  }