@diplodoc/transform 4.76.9 → 4.77.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.
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  /* eslint-disable max-len */
3
- const utils_1 = require("./utils");
3
+ const utils_1 = require("markdown-it/lib/common/utils");
4
+ const utils_2 = require("./utils");
4
5
  const wrapInFloatingContainer = (element, id, lineWrapping) => {
5
6
  const wrappingButton = lineWrapping
6
7
  ? `<button role="button" class="g-button g-button_view_flat g-button_size_m g-button_pin_round-round g-md-viewer-code-button yfm-code-button yfm-wrapping-button" tabindex="-1" type="button" aria-label="Toggle line wrapping" aria-pressed="false" data-tabindex="0">
@@ -102,7 +103,38 @@ function balanceSpansPerLine(lines) {
102
103
  return prefix + line + suffix;
103
104
  });
104
105
  }
105
- function addLineNumbers(code, { lineWrapping }) {
106
+ /**
107
+ * Strips the prompt prefix from the raw fence content BEFORE it reaches the highlighter.
108
+ *
109
+ * @param content - Raw fence content.
110
+ * @param prompt - Raw prompt string (e.g. `$`, `#`, `>>>`).
111
+ * @returns Stripped content (same number of lines) and a per-line prompt flag array.
112
+ */
113
+ function stripPrompt(content, prompt) {
114
+ const hasTrailingNewline = content.endsWith('\n');
115
+ const lines = content.split('\n');
116
+ const linesToProcess = hasTrailingNewline ? lines.slice(0, -1) : lines;
117
+ const flags = [];
118
+ const stripped = linesToProcess.map((line) => {
119
+ const trimmed = line.trimStart();
120
+ const leadingWs = line.slice(0, line.length - trimmed.length);
121
+ if (trimmed.startsWith(prompt + ' ')) {
122
+ flags.push(true);
123
+ return leadingWs + trimmed.slice(prompt.length + 1);
124
+ }
125
+ if (trimmed === prompt) {
126
+ flags.push(true);
127
+ return leadingWs;
128
+ }
129
+ flags.push(false);
130
+ return line;
131
+ });
132
+ return {
133
+ content: stripped.join('\n') + (hasTrailingNewline ? '\n' : ''),
134
+ flags,
135
+ };
136
+ }
137
+ function postProcessCode(code, { showLineNumbers, lineWrapping, promptFlags, promptEscaped, }) {
106
138
  const hasTrailingNewline = code.endsWith('\n');
107
139
  const lines = code.split('\n');
108
140
  const linesToProcess = hasTrailingNewline ? lines.slice(0, -1) : lines;
@@ -110,41 +142,102 @@ function addLineNumbers(code, { lineWrapping }) {
110
142
  const maxDigits = String(normalized.length).length;
111
143
  return (normalized
112
144
  .map((line, index) => {
113
- const lineNumber = String(index + 1).padStart(maxDigits, ' ');
114
- return lineWrapping
115
- ? `<span class="yfm-line-number">${lineNumber}</span><span class="yfm-line">${line}</span>`
116
- : `<span class="yfm-line-number">${lineNumber}</span>${line}`;
145
+ // The prompt was already stripped from the raw content before
146
+ // highlighting, so `line` here is the highlighted command only.
147
+ // Re-insert the prompt as a dedicated, non-selectable span after
148
+ // any leading whitespace. `promptFlags` marks which lines carried
149
+ // a prompt in the original source.
150
+ if ((promptFlags === null || promptFlags === void 0 ? void 0 : promptFlags[index]) && promptEscaped !== undefined) {
151
+ const trimmed = line.trimStart();
152
+ const leadingWs = line.slice(0, line.length - trimmed.length);
153
+ line =
154
+ `${leadingWs}` +
155
+ `<span class="yfm-code-prompt" aria-hidden="true">${promptEscaped} </span>` +
156
+ `${trimmed}`;
157
+ }
158
+ if (showLineNumbers) {
159
+ const lineNumber = String(index + 1).padStart(maxDigits, ' ');
160
+ line = lineWrapping
161
+ ? `<span class="yfm-line-number">${lineNumber}</span><span class="yfm-line">${line}</span>`
162
+ : `<span class="yfm-line-number">${lineNumber}</span>${line}`;
163
+ }
164
+ return line;
117
165
  })
118
166
  .join('\n') + (hasTrailingNewline ? '\n' : ''));
119
167
  }
168
+ /**
169
+ * @param info - Raw fence info string (e.g. `js showLineNumbers prompt="$"`).
170
+ * @returns Parsed flags and the optional prompt value.
171
+ */
172
+ function parseFenceInfo(info) {
173
+ var _a;
174
+ const promptMatch = /(?:^|\s)prompt=(?:"([^"]*)"|'([^']*)')/.exec(info);
175
+ const prompt = (_a = promptMatch === null || promptMatch === void 0 ? void 0 : promptMatch[1]) !== null && _a !== void 0 ? _a : promptMatch === null || promptMatch === void 0 ? void 0 : promptMatch[2];
176
+ const rest = promptMatch ? info.replace(promptMatch[0], ' ') : info;
177
+ return {
178
+ showLineNumbers: /\bshowLineNumbers\b/.test(rest),
179
+ wrapLines: /\bwrap\b/.test(rest),
180
+ prompt,
181
+ };
182
+ }
120
183
  const code = (md, opts) => {
121
184
  var _a;
122
185
  const lineWrapping = (opts === null || opts === void 0 ? void 0 : opts.codeLineWrapping) || false;
123
- const generateID = (_a = opts.generateID) !== null && _a !== void 0 ? _a : utils_1.generateID;
186
+ const generateID = (_a = opts === null || opts === void 0 ? void 0 : opts.generateID) !== null && _a !== void 0 ? _a : utils_2.generateID;
124
187
  const superCodeRenderer = md.renderer.rules.fence;
125
188
  md.renderer.rules.fence = function (tokens, idx, options, env, self) {
126
189
  const token = tokens[idx];
127
- const showLineNumbers = token.info.includes('showLineNumbers');
128
- const wrapLines = token.info.includes('wrap');
190
+ const { showLineNumbers, prompt, wrapLines } = parseFenceInfo(token.info);
129
191
  const shouldWrap = wrapLines;
192
+ // Strip the prompt prefix from the raw content BEFORE handing it
193
+ // to the highlighter, so language grammars never misinterpret prompt
194
+ // symbols (e.g. `#` as a shell comment, `$` as a variable). The prompt is
195
+ // re-inserted as a span in postProcessCode, driven by `promptFlags`.
196
+ let promptFlags;
197
+ let promptEscaped;
198
+ const originalContent = token.content;
199
+ if (prompt) {
200
+ const stripped = stripPrompt(token.content, prompt);
201
+ token.content = stripped.content;
202
+ promptFlags = stripped.flags;
203
+ promptEscaped = (0, utils_1.escapeHtml)(prompt);
204
+ }
130
205
  let superCode = superCodeRenderer === null || superCodeRenderer === void 0 ? void 0 : superCodeRenderer(tokens, idx, options, env, self);
131
- if (superCode && showLineNumbers) {
206
+ // Restore the original content so the mutation does not leak to other
207
+ // consumers of the token.
208
+ token.content = originalContent;
209
+ if (superCode && (showLineNumbers || prompt)) {
132
210
  // Extract the code content from the pre/code tags
133
211
  const codeMatch = superCode.match(/<pre[^>]*><code[^>]*>([\s\S]*?)<\/code><\/pre>/);
134
212
  if (codeMatch) {
135
213
  const codeContent = codeMatch[1];
136
- const codeWithLineNumbers = addLineNumbers(codeContent, { lineWrapping });
214
+ const processedCode = postProcessCode(codeContent, {
215
+ showLineNumbers,
216
+ lineWrapping,
217
+ promptFlags,
218
+ promptEscaped,
219
+ });
137
220
  // Escape $ in replacement string: $$ becomes a literal $ in String.replace()
138
- const escapedReplacement = codeWithLineNumbers.replace(/\$/g, '$$$$');
221
+ const escapedReplacement = processedCode.replace(/\$/g, '$$$$');
139
222
  superCode = superCode.replace(codeContent, escapedReplacement);
140
223
  }
141
224
  }
142
- if (superCode && shouldWrap) {
143
- superCode = superCode.replace(/<code([^>]*)>/, (_match, attrs) => {
144
- if (attrs.includes('class=')) {
145
- return `<code${attrs.replace(/class="([^"]*)"/, 'class="$1 wrap"')}>`;
225
+ // Attach the raw prompt value as a data attribute on <code> so that the
226
+ // copy widget can strip it from the plain-text content without relying on
227
+ // any class names or DOM structure introduced by the plugin.
228
+ if (superCode && (prompt || shouldWrap)) {
229
+ superCode = superCode.replace(/(<pre[^>]*><code)([^>]*)>/, (_match, open, attrs) => {
230
+ // Add the wrap class
231
+ if (shouldWrap) {
232
+ attrs = /class="[^"]*"/.test(attrs)
233
+ ? attrs.replace(/class="([^"]*)"/, 'class="$1 wrap"')
234
+ : ` class="wrap"${attrs}`;
235
+ }
236
+ // Add the data-prompt attribute
237
+ if (prompt) {
238
+ attrs = ` data-prompt="${(0, utils_1.escapeHtml)(prompt)}"${attrs}`;
146
239
  }
147
- return `<code class="wrap"${attrs}>`;
240
+ return `${open}${attrs}>`;
148
241
  });
149
242
  }
150
243
  const superCodeWithTerms = superCode && (env === null || env === void 0 ? void 0 : env.terms)
@@ -1 +1 @@
1
- {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/transform/plugins/code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/transform/plugins/code.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  const markdown_it_1 = __importDefault(require("markdown-it"));
6
6
  const path_1 = require("path");
7
- const url_1 = __importDefault(require("url"));
8
- const utils_1 = require("../../utils");
7
+ const utils_1 = require("@diplodoc/utils");
8
+ const utils_2 = require("../../utils");
9
9
  const utilsFS_1 = require("../../utilsFS");
10
10
  const index_1 = __importDefault(require("./index"));
11
11
  const replaceLinkHref = (input, href, newHref) => {
@@ -38,15 +38,15 @@ const collect = (input, options) => {
38
38
  continue;
39
39
  }
40
40
  const linkToken = childrenTokens[j];
41
- const href = (0, utils_1.getHrefTokenAttr)(linkToken);
41
+ const href = (0, utils_2.getHrefTokenAttr)(linkToken);
42
42
  const isIncludeLink = (0, utilsFS_1.resolveRelativePath)(startPath, href).includes(`_includes${path_1.sep}`);
43
- if (!href || !(0, utils_1.isLocalUrl)(href) || isIncludeLink) {
43
+ if (!href || !(0, utils_2.isLocalUrl)(href) || isIncludeLink) {
44
44
  j++;
45
45
  continue;
46
46
  }
47
- const { pathname, hash } = url_1.default.parse(href);
47
+ const { pathname, hash } = (0, utils_1.parseHref)(href);
48
48
  if (pathname) {
49
- const isPageFile = utils_1.PAGE_LINK_REGEXP.test(pathname);
49
+ const isPageFile = utils_2.PAGE_LINK_REGEXP.test(pathname);
50
50
  if (isPageFile) {
51
51
  const newHref = (0, utilsFS_1.getSinglePageAnchorId)({
52
52
  root,
@@ -1 +1 @@
1
- {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/transform/plugins/links/collect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect.js","sourceRoot":"","sources":["../../../src/transform/plugins/links/collect.ts"],"names":[],"mappings":";;;;AAAA,8DAAqC;AACrC,+BAAyB;AACzB,2CAA0C;AAE1C,uCAA2E;AAC3E,2CAAyE;AAEzE,oDAA4B;AAE5B,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE;IACrE,oCAAoC;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,EAAE,KAAK,OAAO,GAAG,CAAC,CAAC;AACxD,CAAC,CAAC;AAQF;;KAEK;AACL,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,OAAgB,EAAE,EAAE;IAChD,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAC,GAAG,OAAO,CAAC;IAEpD,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,+FAA+F;IAC/F,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,UAAG,EAAE,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC;IAC7C,MAAM,EAAE,GAAG,IAAI,qBAAU,EAAE,CAAC,GAAG,CAAC,eAAK,EAAE,EAAC,GAAG,OAAO,EAAE,aAAa,EAAE,cAAc,EAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEpC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,CAAC;YAEV,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC;gBAE/D,IAAI,CAAC,eAAe,EAAE,CAAC;oBACnB,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACb,CAAC;gBAED,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;gBAEzC,MAAM,aAAa,GAAG,IAAA,6BAAmB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,CAC/D,YAAY,UAAG,EAAE,CACpB,CAAC;gBAEF,IAAI,CAAC,IAAI,IAAI,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9C,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACb,CAAC;gBAED,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,UAAU,GAAG,wBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACnD,IAAI,UAAU,EAAE,CAAC;wBACb,MAAM,OAAO,GAAG,IAAA,+BAAqB,EAAC;4BAClC,IAAI;4BACJ,WAAW,EAAE,SAAS;4BACtB,QAAQ;4BACR,IAAI;yBACP,CAAC,CAAC;wBACH,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;oBACpD,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBACd,MAAM,OAAO,GAAG,IAAA,+BAAqB,EAAC,EAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;oBAC5E,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpD,CAAC;gBAED,CAAC,EAAE,CAAC;YACR,CAAC;QACL,CAAC;QAED,CAAC,EAAE,CAAC;IACR,CAAC;IAED,6CAA6C;IAC7C,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,iBAAS,OAAO,CAAC"}
@@ -32,13 +32,10 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- const url_1 = __importDefault(require("url"));
35
+ const utils_1 = require("@diplodoc/utils");
39
36
  const chalk_1 = require("chalk");
40
37
  const path_1 = __importStar(require("path"));
41
- const utils_1 = require("../../utils");
38
+ const utils_2 = require("../../utils");
42
39
  const utilsFS_1 = require("../../utilsFS");
43
40
  function getTitleFromTokens(tokens) {
44
41
  var _a;
@@ -47,7 +44,7 @@ function getTitleFromTokens(tokens) {
47
44
  while (i < tokens.length) {
48
45
  const token = tokens[i];
49
46
  if ((token === null || token === void 0 ? void 0 : token.type) === 'heading_open') {
50
- const info = (0, utils_1.headingInfo)(tokens, i);
47
+ const info = (0, utils_2.headingInfo)(tokens, i);
51
48
  title = (_a = info === null || info === void 0 ? void 0 : info.title) !== null && _a !== void 0 ? _a : '';
52
49
  break;
53
50
  }
@@ -67,7 +64,7 @@ const getTitle = (md, id, options) => {
67
64
  disableCircularError: true,
68
65
  inheritVars: false,
69
66
  }, included);
70
- const sourceTokens = id ? (0, utils_1.findBlockTokens)(fileTokens, id) : fileTokens;
67
+ const sourceTokens = id ? (0, utils_2.findBlockTokens)(fileTokens, id) : fileTokens;
71
68
  return getTitleFromTokens(sourceTokens);
72
69
  };
73
70
  const addTitle = (md, options) => {
@@ -103,16 +100,16 @@ function processLink(md, state, tokens, idx, opts) {
103
100
  const currentPath = state.env.path || startPath;
104
101
  const linkToken = tokens[idx];
105
102
  const nextToken = tokens[idx + 1];
106
- const originalHref = (0, utils_1.getHrefTokenAttr)(linkToken);
103
+ const originalHref = (0, utils_2.getHrefTokenAttr)(linkToken);
107
104
  if (!originalHref) {
108
105
  log.error(`Empty link in ${(0, chalk_1.bold)(startPath)}`);
109
106
  return;
110
107
  }
111
- const { pathname, hash } = url_1.default.parse(originalHref);
108
+ const { pathname, hash } = (0, utils_1.parseHref)(originalHref);
112
109
  let file;
113
110
  let fileExists;
114
111
  let isPageFile;
115
- if (!(0, utils_1.isLocalUrl)(originalHref)) {
112
+ if (!(0, utils_2.isLocalUrl)(originalHref)) {
116
113
  linkToken.attrSet('target', '_blank');
117
114
  linkToken.attrSet('rel', 'noreferrer noopener');
118
115
  return;
@@ -120,7 +117,7 @@ function processLink(md, state, tokens, idx, opts) {
120
117
  if (pathname) {
121
118
  file = (0, path_1.resolve)(path_1.default.parse(currentPath).dir, pathname);
122
119
  fileExists = skipLinkFileCheck || (0, utilsFS_1.isFileExists)(file);
123
- isPageFile = utils_1.PAGE_LINK_REGEXP.test(pathname);
120
+ isPageFile = utils_2.PAGE_LINK_REGEXP.test(pathname);
124
121
  if (isPageFile && !fileExists) {
125
122
  let needShowError = true;
126
123
  if (needSkipLinkFn) {
@@ -166,12 +163,12 @@ function processLink(md, state, tokens, idx, opts) {
166
163
  });
167
164
  }
168
165
  const patchedHref = !(0, path_1.isAbsolute)(originalHref) && !originalHref.includes('//')
169
- ? url_1.default.format({
170
- ...url_1.default.parse(originalHref),
166
+ ? (0, utils_1.formatHref)({
167
+ ...(0, utils_1.parseHref)(originalHref),
171
168
  pathname: getPublicPath(opts, file),
172
169
  })
173
170
  : originalHref;
174
- const linkHrefTransformer = transformLink || utils_1.defaultTransformLink;
171
+ const linkHrefTransformer = transformLink || utils_2.defaultTransformLink;
175
172
  linkToken.attrSet('href', linkHrefTransformer(patchedHref));
176
173
  }
177
174
  const index = (md, opts) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/links/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,8CAAsB;AACtB,iCAA2B;AAC3B,6CAAgE;AAEhE,uCAOqB;AACrB,2CAA0D;AAE1D,SAAS,kBAAkB,CAAC,MAAe;;IACvC,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAA,mBAAW,EAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACpC,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE,CAAC;YAE1B,MAAM;QACV,CAAC;QAED,CAAC,IAAI,CAAC,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAiBD,MAAM,QAAQ,GAAG,CAAC,EAAsB,EAAE,EAAiB,EAAE,OAAgB,EAAE,EAAE;;IAC7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,OAAO,CAAC;IAEpC,kDAAkD;IAClD,MAAM,QAAQ,GAAG,MAAA,EAAE,CAAC,QAAQ,0CAAG,IAAI,CAAC,CAAC;IAErC,MAAM,UAAU,GAAG,IAAA,uBAAa,EAC5B,IAAI,EACJ,KAAK,EACL;QACI,GAAG,IAAI;QACP,WAAW,EAAE,IAAI;QACjB,2BAA2B,EAAE,IAAI;QACjC,oBAAoB,EAAE,IAAI;QAC1B,WAAW,EAAE,KAAK;KACrB,EACD,QAAQ,CACX,CAAC;IACF,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,IAAA,uBAAe,EAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACvE,OAAO,kBAAkB,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAAsB,EAAE,OAAgB,EAAE,EAAE;;IAC1D,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAC,GACnF,OAAO,CAAC;IAEZ,MAAM,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,cAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,GAAG,CAAC,mCAAI,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAEvB,IAAI,KAAK,EAAE,CAAC;QACR,IAAI,SAAS,CAAC;QAEd,IAAI,WAAW,EAAE,CAAC;YACd,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,CAAC;SAAM,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAA,YAAI,EAAC,IAAI,CAAC,OAAO,IAAA,YAAI,EAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;AACL,CAAC,CAAC;AASF,SAAS,oBAAoB,CACzB,EACI,IAAI,EACJ,IAAI,GAIP,EACD,KAAqB;IAErB,MAAM,YAAY,GAAG,IAAA,eAAQ,EAAC,IAAA,YAAK,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1E,gFAAgF;IAChF,OAAO,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,sCAAsC;AACtC,SAAS,WAAW,CAChB,EAAsB,EACtB,KAAgB,EAChB,MAAe,EACf,GAAW,EACX,IAAc;IAEd,MAAM,EACF,IAAI,EAAE,SAAS,EACf,IAAI,EACJ,aAAa,EACb,UAAU,EACV,cAAc,EACd,GAAG,EACH,aAAa,GAAG,oBAAoB,EACpC,KAAK,EACL,iBAAiB,GAAG,KAAK,GAC5B,GAAG,IAAI,CAAC;IAET,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;IAEjD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,GAAG,CAAC,KAAK,CAAC,iBAAiB,IAAA,YAAI,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO;IACX,CAAC;IAED,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,aAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC;IACT,IAAI,UAAU,CAAC;IACf,IAAI,UAAU,CAAC;IAEf,IAAI,CAAC,IAAA,kBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAChD,OAAO;IACX,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,IAAI,GAAG,IAAA,cAAO,EAAC,cAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtD,UAAU,GAAG,iBAAiB,IAAI,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC;QACrD,UAAU,GAAG,wBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,IAAI,aAAa,GAAG,IAAI,CAAC;YACzB,IAAI,cAAc,EAAE,CAAC;gBACjB,aAAa,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;gBAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5C,gFAAgF;gBAChF,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAChB,GAAG,CAAC,KAAK,CAAC,wBAAwB,IAAA,YAAI,EAAC,YAAY,CAAC,OAAO,IAAA,YAAI,EAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACpF,CAAC;QACL,CAAC;IACL,CAAC;SAAM,IAAI,IAAI,EAAE,CAAC;QACd,IAAI,GAAG,SAAS,CAAC;QACjB,UAAU,GAAG,IAAI,CAAC;QAClB,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;SAAM,CAAC;QACJ,OAAO;IACX,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC;IACpD,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC;IACjF,IACI,CAAC,WAAW,IAAI,cAAc,CAAC;QAC/B,UAAU;QACV,UAAU;QACV,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,EACxC,CAAC;QACC,QAAQ,CAAC,EAAE,EAAE;YACT,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,WAAW;YACX,MAAM;YACN,GAAG;YACH,SAAS;YACT,IAAI,EAAE,YAAY;YAClB,WAAW;YACX,GAAG;YACH,KAAK;SACR,CAAC,CAAC;IACP,CAAC;IAED,MAAM,WAAW,GACb,CAAC,IAAA,iBAAU,EAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrD,CAAC,CAAC,aAAG,CAAC,MAAM,CAAC;YACP,GAAG,aAAG,CAAC,KAAK,CAAC,YAAY,CAAC;YAC1B,QAAQ,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;SACtC,CAAC;QACJ,CAAC,CAAC,YAAY,CAAC;IACvB,MAAM,mBAAmB,GAAG,aAAa,IAAI,4BAAoB,CAAC;IAElE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,KAAK,GAA2C,CAAC,EAAsB,EAAE,IAAI,EAAE,EAAE;IACnF,MAAM,MAAM,GAAG,CAAC,KAAgB,EAAE,EAAE;;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEV,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBAEhC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;oBACnD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAE1C,iCAAiC;oBACjC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC3E,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,sBAAsB,CAAC,CAAC;oBAEvE,IAAI,eAAe,IAAI,CAAC,kBAAkB,IAAI,CAAC,WAAW,EAAE,CAAC;wBACzD,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;wBAEhD,MAAA,KAAK,CAAC,IAAI,oCAAV,KAAK,CAAC,IAAI,GAAK,EAAE,EAAC;wBAClB,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;oBAC7C,CAAC;oBAED,CAAC,EAAE,CAAC;gBACR,CAAC;YACL,CAAC;YAED,CAAC,EAAE,CAAC;QACR,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC;QACD,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAAC,WAAM,CAAC;QACL,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;AACL,CAAC,CAAC;AAEF,iBAAS,KAAK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transform/plugins/links/index.ts"],"names":[],"mappings":"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"}
package/lib/utils.js CHANGED
@@ -1,7 +1,4 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.PAGE_LINK_REGEXP = void 0;
7
4
  exports.isLocalUrl = isLocalUrl;
@@ -13,9 +10,12 @@ exports.getHrefTokenAttr = getHrefTokenAttr;
13
10
  exports.getSrcTokenAttr = getSrcTokenAttr;
14
11
  exports.defaultTransformLink = defaultTransformLink;
15
12
  exports.filterTokens = filterTokens;
16
- const url_1 = __importDefault(require("url"));
13
+ const utils_1 = require("@diplodoc/utils");
17
14
  function isLocalUrl(url) {
18
- return !/^(?:[a-z]+:)?\/\//i.test(url);
15
+ // A URL is local unless it has an external scheme: either `scheme://...`
16
+ // / `//host...` (protocol-relative), or an opaque scheme URI without
17
+ // a slash-slash part (e.g. `mailto:`, `tel:`, `custom:`).
18
+ return !isExternalHref(url);
19
19
  }
20
20
  function findBlockTokens(tokens, id) {
21
21
  let blockTokens = [];
@@ -95,8 +95,8 @@ function getSrcTokenAttr(token) {
95
95
  exports.PAGE_LINK_REGEXP = /\.(md|ya?ml)$/i;
96
96
  function defaultTransformLink(href) {
97
97
  var _a;
98
- const parsed = url_1.default.parse(href);
99
- href = url_1.default.format({
98
+ const parsed = (0, utils_1.parseHref)(href);
99
+ href = (0, utils_1.formatHref)({
100
100
  ...parsed,
101
101
  pathname: (_a = parsed.pathname) === null || _a === void 0 ? void 0 : _a.replace(exports.PAGE_LINK_REGEXP, '.html'),
102
102
  });
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/transform/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/transform/utils.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.76.9",
3
+ "version": "4.77.0",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -56,7 +56,7 @@
56
56
  "@diplodoc/cut-extension": "^1.1.3",
57
57
  "@diplodoc/file-extension": "^0.2.4",
58
58
  "@diplodoc/tabs-extension": "^3.10.2",
59
- "@diplodoc/utils": "^2.2.3",
59
+ "@diplodoc/utils": "^2.3.3",
60
60
  "chalk": "^4.1.2",
61
61
  "cheerio": "^1.0.0",
62
62
  "css": "^3.0.0",
@@ -78,7 +78,7 @@
78
78
  "ts-dedent": "^2.2.0"
79
79
  },
80
80
  "devDependencies": {
81
- "@diplodoc/infra": "2.2.0",
81
+ "@diplodoc/infra": "2.2.1",
82
82
  "@types/css": "0.0.34",
83
83
  "@types/github-slugger": "^1.3.0",
84
84
  "@types/js-yaml": "^4.0.5",
@@ -94,6 +94,7 @@
94
94
  "esbuild-sass-plugin": "^3.3.1",
95
95
  "highlight.js": "^11.8.0",
96
96
  "jest-serializer-html": "^7.1.0",
97
+ "jsdom": "^25.0.1",
97
98
  "markdown-it-testgen": "^0.1.6",
98
99
  "npm-run-all": "^4.1.5",
99
100
  "postcss": "^8.4.27",
package/src/js/code.ts CHANGED
@@ -31,17 +31,34 @@ function buttonCopyFn(target: HTMLElement) {
31
31
  return;
32
32
  }
33
33
 
34
- // Get all text nodes and filter out line numbers
35
- const textContent = Array.from(code.childNodes)
36
- .filter((node) => {
37
- // Skip line number spans
38
- if (node instanceof HTMLElement && node.classList.contains('yfm-line-number')) {
39
- return false;
40
- }
41
- return true;
42
- })
43
- .map((node) => node.textContent)
44
- .join('');
34
+ // Strip line-number decorations (class-based, no semantic alternative).
35
+ const clone = code.cloneNode(true) as HTMLElement;
36
+
37
+ clone.querySelectorAll('.yfm-line-number').forEach((el) => el.remove());
38
+ let textContent = clone.textContent ?? '';
39
+
40
+ // Strip prompt prefix from each line using the raw value stored in data-prompt.
41
+ // This avoids any dependency on how (or whether) the prompt is wrapped in the DOM.
42
+ // Leading whitespace before the prompt is preserved so indented commands keep
43
+ // their indentation level in the copied text.
44
+ const promptValue = code.dataset.prompt;
45
+ if (promptValue) {
46
+ const prefix = promptValue + ' ';
47
+ textContent = textContent
48
+ .split('\n')
49
+ .map((line) => {
50
+ const trimmed = line.trimStart();
51
+ const leadingWs = line.slice(0, line.length - trimmed.length);
52
+ if (trimmed.startsWith(prefix)) {
53
+ return leadingWs + trimmed.slice(prefix.length);
54
+ }
55
+ if (trimmed === promptValue) {
56
+ return leadingWs;
57
+ }
58
+ return line;
59
+ })
60
+ .join('\n');
61
+ }
45
62
 
46
63
  copyToClipboard(textContent.trim()).then(() => {
47
64
  notifySuccess(container.querySelector('.yfm-clipboard-icon'));
@@ -65,6 +65,12 @@
65
65
  .yfm-code-icon {
66
66
  pointer-events: none;
67
67
  }
68
+
69
+ .yfm-code-prompt {
70
+ color: var(--yfm-color-hljs-comment-private);
71
+ pointer-events: none;
72
+ user-select: none;
73
+ }
68
74
  }
69
75
 
70
76
  &-clipboard-inline-code {