@diplodoc/transform 4.31.4-beta1 → 4.32.2

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.
Files changed (40) hide show
  1. package/dist/css/print.css.map +2 -2
  2. package/dist/css/yfm.css +6 -6
  3. package/dist/css/yfm.css.map +3 -3
  4. package/dist/css/yfm.min.css +1 -1
  5. package/dist/css/yfm.min.css.map +3 -3
  6. package/dist/js/yfm.js +2 -2
  7. package/lib/frontmatter/common.d.ts +21 -0
  8. package/lib/frontmatter/common.js +24 -0
  9. package/lib/frontmatter/common.js.map +1 -0
  10. package/lib/frontmatter/emplace.d.ts +4 -0
  11. package/lib/frontmatter/emplace.js +21 -0
  12. package/lib/frontmatter/emplace.js.map +1 -0
  13. package/lib/frontmatter/extract.d.ts +8 -0
  14. package/lib/frontmatter/extract.js +65 -0
  15. package/lib/frontmatter/extract.js.map +1 -0
  16. package/lib/frontmatter/index.d.ts +4 -0
  17. package/lib/frontmatter/index.js +23 -0
  18. package/lib/frontmatter/index.js.map +1 -0
  19. package/lib/frontmatter/transformValues.d.ts +2 -0
  20. package/lib/frontmatter/transformValues.js +20 -0
  21. package/lib/frontmatter/transformValues.js.map +1 -0
  22. package/lib/index.js +3 -1
  23. package/lib/index.js.map +1 -1
  24. package/lib/liquid/index.d.ts +9 -2
  25. package/lib/liquid/index.js +34 -4
  26. package/lib/liquid/index.js.map +1 -1
  27. package/lib/md.js +0 -1
  28. package/lib/md.js.map +1 -1
  29. package/lib/utilsFS.js.map +1 -1
  30. package/package.json +2 -2
  31. package/src/scss/_note.scss +7 -4
  32. package/src/transform/frontmatter/common.ts +27 -0
  33. package/src/transform/frontmatter/emplace.ts +24 -0
  34. package/src/transform/frontmatter/extract.ts +94 -0
  35. package/src/transform/frontmatter/index.ts +4 -0
  36. package/src/transform/frontmatter/transformValues.ts +26 -0
  37. package/src/transform/index.ts +4 -2
  38. package/src/transform/liquid/index.ts +73 -4
  39. package/src/transform/md.ts +0 -1
  40. package/src/transform/utilsFS.ts +2 -2
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.countLineAmount = exports.unescapeLiquidSubstitutionSyntax = exports.escapeLiquidSubstitutionSyntax = exports.frontMatterFence = void 0;
4
+ exports.frontMatterFence = '---';
5
+ /**
6
+ * Temporary workaround to enable parsing YAML metadata from potentially
7
+ * Liquid-aware source files
8
+ * @param content Input string which could contain Liquid-style substitution syntax (which clashes with YAML
9
+ * object syntax)
10
+ * @returns String with `{}` escaped, ready to be parsed with `js-yaml`
11
+ */
12
+ const escapeLiquidSubstitutionSyntax = (content) => content.replace(/{{/g, '(({{').replace(/}}/g, '}}))');
13
+ exports.escapeLiquidSubstitutionSyntax = escapeLiquidSubstitutionSyntax;
14
+ /**
15
+ * Inverse of a workaround defined above.
16
+ * @see `escapeLiquidSubstitutionSyntax`
17
+ * @param escapedContent Input string with `{}` escaped with backslashes
18
+ * @returns Unescaped string
19
+ */
20
+ const unescapeLiquidSubstitutionSyntax = (escapedContent) => escapedContent.replace(/\(\({{/g, '{{').replace(/}}\)\)/g, '}}');
21
+ exports.unescapeLiquidSubstitutionSyntax = unescapeLiquidSubstitutionSyntax;
22
+ const countLineAmount = (str) => str.split(/\r?\n/).length;
23
+ exports.countLineAmount = countLineAmount;
24
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/transform/frontmatter/common.ts"],"names":[],"mappings":";;;AAKa,QAAA,gBAAgB,GAAG,KAAK,CAAC;AAEtC;;;;;;GAMG;AACI,MAAM,8BAA8B,GAAG,CAAC,OAAe,EAAU,EAAE,CACtE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAD7C,QAAA,8BAA8B,kCACe;AAE1D;;;;;GAKG;AACI,MAAM,gCAAgC,GAAG,CAAC,cAAsB,EAAU,EAAE,CAC/E,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AADxD,QAAA,gCAAgC,oCACwB;AAE9D,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;AAA7D,QAAA,eAAe,mBAA8C"}
@@ -0,0 +1,4 @@
1
+ import { FrontMatter } from './common';
2
+ export declare const serializeFrontMatter: (frontMatter: FrontMatter) => string;
3
+ export declare const emplaceSerializedFrontMatter: (frontMatterStrippedContent: string, frontMatter: string) => string;
4
+ export declare const emplaceFrontMatter: (frontMatterStrippedContent: string, frontMatter: FrontMatter) => string;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.emplaceFrontMatter = exports.emplaceSerializedFrontMatter = exports.serializeFrontMatter = void 0;
4
+ const js_yaml_1 = require("js-yaml");
5
+ const common_1 = require("./common");
6
+ const serializeFrontMatter = (frontMatter) => {
7
+ const dumped = (0, js_yaml_1.dump)(frontMatter, { lineWidth: -1 }).trim();
8
+ // This empty object check is a bit naive
9
+ // The other option would be to check if all own fields are `undefined`,
10
+ // since we exploit passing in `undefined` to remove a field quite a bit
11
+ if (dumped === '{}') {
12
+ return '';
13
+ }
14
+ return `${common_1.frontMatterFence}\n${dumped}\n${common_1.frontMatterFence}\n`;
15
+ };
16
+ exports.serializeFrontMatter = serializeFrontMatter;
17
+ const emplaceSerializedFrontMatter = (frontMatterStrippedContent, frontMatter) => `${frontMatter}${frontMatterStrippedContent}`;
18
+ exports.emplaceSerializedFrontMatter = emplaceSerializedFrontMatter;
19
+ const emplaceFrontMatter = (frontMatterStrippedContent, frontMatter) => (0, exports.emplaceSerializedFrontMatter)(frontMatterStrippedContent, (0, exports.serializeFrontMatter)(frontMatter));
20
+ exports.emplaceFrontMatter = emplaceFrontMatter;
21
+ //# sourceMappingURL=emplace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emplace.js","sourceRoot":"","sources":["../../src/transform/frontmatter/emplace.ts"],"names":[],"mappings":";;;AAAA,qCAA6B;AAE7B,qCAAuD;AAEhD,MAAM,oBAAoB,GAAG,CAAC,WAAwB,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAA,cAAI,EAAC,WAAW,EAAE,EAAC,SAAS,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzD,yCAAyC;IACzC,wEAAwE;IACxE,wEAAwE;IACxE,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,OAAO,EAAE,CAAC;KACb;IAED,OAAO,GAAG,yBAAgB,KAAK,MAAM,KAAK,yBAAgB,IAAI,CAAC;AACnE,CAAC,CAAC;AAXW,QAAA,oBAAoB,wBAW/B;AAEK,MAAM,4BAA4B,GAAG,CACxC,0BAAkC,EAClC,WAAmB,EACrB,EAAE,CAAC,GAAG,WAAW,GAAG,0BAA0B,EAAE,CAAC;AAHtC,QAAA,4BAA4B,gCAGU;AAE5C,MAAM,kBAAkB,GAAG,CAAC,0BAAkC,EAAE,WAAwB,EAAE,EAAE,CAC/F,IAAA,oCAA4B,EAAC,0BAA0B,EAAE,IAAA,4BAAoB,EAAC,WAAW,CAAC,CAAC,CAAC;AADnF,QAAA,kBAAkB,sBACiE"}
@@ -0,0 +1,8 @@
1
+ import { FrontMatter } from './common';
2
+ declare type ParseExistingMetadataReturn = {
3
+ frontMatter: FrontMatter;
4
+ frontMatterStrippedContent: string;
5
+ frontMatterLineCount: number;
6
+ };
7
+ export declare const separateAndExtractFrontMatter: (fileContent: string, filePath?: string) => ParseExistingMetadataReturn;
8
+ export {};
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.separateAndExtractFrontMatter = void 0;
4
+ const js_yaml_1 = require("js-yaml");
5
+ const log_1 = require("../log");
6
+ const common_1 = require("./common");
7
+ const transformValues_1 = require("./transformValues");
8
+ const matchMetadata = (fileContent) => {
9
+ if (!fileContent.startsWith(common_1.frontMatterFence)) {
10
+ return null;
11
+ }
12
+ // Search by format:
13
+ // ---
14
+ // metaName1: metaValue1
15
+ // metaName2: meta value2
16
+ // incorrectMetadata
17
+ // ---
18
+ const regexpMetadata = '(?<=-{3}\\r?\\n)((.*\\r?\\n)*?)(?=-{3}\\r?\\n)';
19
+ // Search by format:
20
+ // ---
21
+ // main content 123
22
+ const regexpFileContent = '-{3}\\r?\\n((.*[\r?\n]*)*)';
23
+ const regexpParseFileContent = new RegExp(`${regexpMetadata}${regexpFileContent}`, 'gm');
24
+ return regexpParseFileContent.exec(fileContent);
25
+ };
26
+ const duplicateKeysCompatibleLoad = (yaml, filePath) => {
27
+ try {
28
+ return (0, js_yaml_1.load)(yaml);
29
+ }
30
+ catch (e) {
31
+ if (e instanceof js_yaml_1.YAMLException) {
32
+ const duplicateKeysDeprecationWarning = `
33
+ In ${filePath !== null && filePath !== void 0 ? filePath : '(unknown)'}: Encountered a YAML parsing exception when processing file metadata: ${e.reason}.
34
+ It's highly possible the input file contains duplicate mapping keys.
35
+ Will retry processing with necessary compatibility flags.
36
+ Please note that this behaviour is DEPRECATED and WILL be removed in a future version
37
+ without further notice, so the build WILL fail when supplied with YAML-incompatible meta.
38
+ `
39
+ .replace(/^\s+/gm, '')
40
+ .replace(/\n/g, ' ')
41
+ .trim();
42
+ log_1.log.warn(duplicateKeysDeprecationWarning);
43
+ return (0, js_yaml_1.load)(yaml, { json: true });
44
+ }
45
+ throw e;
46
+ }
47
+ };
48
+ const separateAndExtractFrontMatter = (fileContent, filePath) => {
49
+ const matches = matchMetadata(fileContent);
50
+ if (matches && matches.length > 0) {
51
+ const [, metadata, , metadataStrippedContent] = matches;
52
+ return {
53
+ frontMatter: (0, transformValues_1.transformFrontMatterValues)(duplicateKeysCompatibleLoad((0, common_1.escapeLiquidSubstitutionSyntax)(metadata), filePath), (v) => (typeof v === 'string' ? (0, common_1.unescapeLiquidSubstitutionSyntax)(v) : v)),
54
+ frontMatterStrippedContent: metadataStrippedContent,
55
+ frontMatterLineCount: (0, common_1.countLineAmount)(metadata),
56
+ };
57
+ }
58
+ return {
59
+ frontMatter: {},
60
+ frontMatterStrippedContent: fileContent,
61
+ frontMatterLineCount: 0,
62
+ };
63
+ };
64
+ exports.separateAndExtractFrontMatter = separateAndExtractFrontMatter;
65
+ //# sourceMappingURL=extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/transform/frontmatter/extract.ts"],"names":[],"mappings":";;;AAAA,qCAA4C;AAE5C,gCAA2B;AAE3B,qCAMkB;AAClB,uDAA6D;AAQ7D,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC1C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,yBAAgB,CAAC,EAAE;QAC3C,OAAO,IAAI,CAAC;KACf;IAED,oBAAoB;IACpB,MAAM;IACN,wBAAwB;IACxB,yBAAyB;IACzB,oBAAoB;IACpB,MAAM;IACN,MAAM,cAAc,GAAG,gDAAgD,CAAC;IACxE,oBAAoB;IACpB,MAAM;IACN,mBAAmB;IACnB,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;IAEvD,MAAM,sBAAsB,GAAG,IAAI,MAAM,CAAC,GAAG,cAAc,GAAG,iBAAiB,EAAE,EAAE,IAAI,CAAC,CAAC;IAEzF,OAAO,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAAC,IAAY,EAAE,QAA4B,EAAE,EAAE;IAC/E,IAAI;QACA,OAAO,IAAA,cAAI,EAAC,IAAI,CAAC,CAAC;KACrB;IAAC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,YAAY,uBAAa,EAAE;YAC5B,MAAM,+BAA+B,GAAG;qBAC/B,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,WAAW,yEAAyE,CAAC,CAAC,MAAM;;;;;aAKhH;iBACI,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;iBACnB,IAAI,EAAE,CAAC;YAEZ,SAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAE1C,OAAO,IAAA,cAAI,EAAC,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;SACnC;QAED,MAAM,CAAC,CAAC;KACX;AACL,CAAC,CAAC;AAEK,MAAM,6BAA6B,GAAG,CACzC,WAAmB,EACnB,QAAiB,EACU,EAAE;IAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,CAAC,EAAE,QAAQ,EAAE,AAAD,EAAG,uBAAuB,CAAC,GAAG,OAAO,CAAC;QAExD,OAAO;YACH,WAAW,EAAE,IAAA,4CAA0B,EACnC,2BAA2B,CACvB,IAAA,uCAA8B,EAAC,QAAQ,CAAC,EACxC,QAAQ,CACI,EAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAA,yCAAgC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC3E;YACD,0BAA0B,EAAE,uBAAuB;YACnD,oBAAoB,EAAE,IAAA,wBAAe,EAAC,QAAQ,CAAC;SAClD,CAAC;KACL;IAED,OAAO;QACH,WAAW,EAAE,EAAE;QACf,0BAA0B,EAAE,WAAW;QACvC,oBAAoB,EAAE,CAAC;KAC1B,CAAC;AACN,CAAC,CAAC;AA3BW,QAAA,6BAA6B,iCA2BxC"}
@@ -0,0 +1,4 @@
1
+ export * from './extract';
2
+ export * from './emplace';
3
+ export * from './transformValues';
4
+ export { countLineAmount } from './common';
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.countLineAmount = void 0;
18
+ __exportStar(require("./extract"), exports);
19
+ __exportStar(require("./emplace"), exports);
20
+ __exportStar(require("./transformValues"), exports);
21
+ var common_1 = require("./common");
22
+ Object.defineProperty(exports, "countLineAmount", { enumerable: true, get: function () { return common_1.countLineAmount; } });
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transform/frontmatter/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B;AAC1B,oDAAkC;AAClC,mCAAyC;AAAjC,yGAAA,eAAe,OAAA"}
@@ -0,0 +1,2 @@
1
+ import { FrontMatter } from './common';
2
+ export declare const transformFrontMatterValues: (frontMatter: FrontMatter, valueMapper: (v: unknown) => unknown) => FrontMatter;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformFrontMatterValues = void 0;
4
+ const transformFrontMatterValues = (frontMatter, valueMapper) => {
5
+ const transformInner = (something) => {
6
+ if (Array.isArray(something)) {
7
+ return something.map((el) => transformInner(el));
8
+ }
9
+ if (typeof something === 'object' && something !== null) {
10
+ return Object.fromEntries(Object.entries(something).map(([k, v]) => [k, transformInner(v)]));
11
+ }
12
+ if (typeof something === 'function') {
13
+ return something;
14
+ }
15
+ return valueMapper(something);
16
+ };
17
+ return transformInner(frontMatter);
18
+ };
19
+ exports.transformFrontMatterValues = transformFrontMatterValues;
20
+ //# sourceMappingURL=transformValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformValues.js","sourceRoot":"","sources":["../../src/transform/frontmatter/transformValues.ts"],"names":[],"mappings":";;;AAEO,MAAM,0BAA0B,GAAG,CACtC,WAAwB,EACxB,WAAoC,EACzB,EAAE;IACb,MAAM,cAAc,GAAG,CAAC,SAAkB,EAAW,EAAE;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC1B,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;SACpD;QAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE;YACrD,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CACpE,CAAC;SACL;QAED,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;YACjC,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,cAAc,CAAC,WAAW,CAAgB,CAAC;AACtD,CAAC,CAAC;AAvBW,QAAA,0BAA0B,8BAuBrC"}
package/lib/index.js CHANGED
@@ -8,7 +8,9 @@ const liquid_1 = __importDefault(require("./liquid"));
8
8
  const md_1 = __importDefault(require("./md"));
9
9
  function applyLiquid(input, options) {
10
10
  const { vars = {}, path, conditionsInCode = false, disableLiquid = false, isLiquided = false, } = options;
11
- return disableLiquid || isLiquided ? input : (0, liquid_1.default)(input, vars, path, { conditionsInCode });
11
+ return disableLiquid || isLiquided
12
+ ? input
13
+ : (0, liquid_1.default)(input, vars, path, { conditionsInCode });
12
14
  }
13
15
  function handleError(error, path) {
14
16
  log_1.log.error(`Error occurred${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/transform/index.ts"],"names":[],"mappings":";;;;AAEA,iCAA2B;AAE3B,+BAA0B;AAC1B,sDAA8B;AAC9B,8CAAkC;AAElC,SAAS,WAAW,CAAC,KAAa,EAAE,OAAoB;IACpD,MAAM,EACF,IAAI,GAAG,EAAE,EACT,IAAI,EACJ,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,KAAK,EACrB,UAAU,GAAG,KAAK,GACrB,GAAG,OAAO,CAAC;IAEZ,OAAO,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,gBAAM,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,gBAAgB,EAAC,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAa;IAC9C,SAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9D,MAAM,KAAK,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,GAAY;IAC1C,OAAO;QACH,MAAM,kCAAM,GAAG,KAAE,IAAI,GAAC;QACtB,IAAI,EAAE,SAAG,CAAC,GAAG,EAAE;KAClB,CAAC;AACN,CAAC;AAED,6CAA6C;AAC7C,SAAS,SAAS,CAAC,WAAmB,EAAE,UAAuB,EAAE;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,IAAA,YAAc,EAAC,OAAO,CAAC,CAAC;IAEtD,IAAI;QACA,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACjD;IAAC,OAAO,KAAK,EAAE;QACZ,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACpC;AACL,CAAC;AAED,iBAAS,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/transform/index.ts"],"names":[],"mappings":";;;;AAEA,iCAA2B;AAE3B,+BAA0B;AAC1B,sDAAqC;AACrC,8CAAkC;AAElC,SAAS,WAAW,CAAC,KAAa,EAAE,OAAoB;IACpD,MAAM,EACF,IAAI,GAAG,EAAE,EACT,IAAI,EACJ,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,KAAK,EACrB,UAAU,GAAG,KAAK,GACrB,GAAG,OAAO,CAAC;IAEZ,OAAO,aAAa,IAAI,UAAU;QAC9B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAA,gBAAa,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,gBAAgB,EAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAa;IAC9C,SAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9D,MAAM,KAAK,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,GAAY;IAC1C,OAAO;QACH,MAAM,kCAAM,GAAG,KAAE,IAAI,GAAC;QACtB,IAAI,EAAE,SAAG,CAAC,GAAG,EAAE;KAClB,CAAC;AACN,CAAC;AAED,6CAA6C;AAC7C,SAAS,SAAS,CAAC,WAAmB,EAAE,UAAuB,EAAE;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,IAAA,YAAc,EAAC,OAAO,CAAC,CAAC;IAEtD,IAAI;QACA,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACjD;IAAC,OAAO,KAAK,EAAE;QACZ,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACpC;AACL,CAAC;AAED,iBAAS,SAAS,CAAC"}
@@ -1,9 +1,16 @@
1
1
  import type { Dictionary } from 'lodash';
2
2
  import { ArgvSettings } from './services/argv';
3
- declare function liquid<B extends boolean = false, C = B extends false ? string : {
3
+ declare function liquidSnippet<B extends boolean = false, C = B extends false ? string : {
4
4
  output: string;
5
5
  sourceMap: Dictionary<string>;
6
6
  }>(originInput: string, vars: Record<string, unknown>, path?: string, settings?: ArgvSettings & {
7
7
  withSourceMap?: B;
8
8
  }): C;
9
- export default liquid;
9
+ declare function liquidDocument<B extends boolean = false, C = B extends false ? string : {
10
+ output: string;
11
+ sourceMap: Dictionary<string>;
12
+ }>(originInput: string, vars: Record<string, unknown>, path?: string, settings?: ArgvSettings & {
13
+ withSourceMap?: B;
14
+ }): C;
15
+ export { liquidDocument, liquidSnippet };
16
+ export default liquidDocument;
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.liquidSnippet = exports.liquidDocument = void 0;
7
+ const frontmatter_1 = require("../frontmatter");
6
8
  const substitutions_1 = __importDefault(require("./substitutions"));
7
9
  const sourceMap_1 = require("./sourceMap");
8
10
  const cycles_1 = __importDefault(require("./cycles"));
@@ -40,7 +42,7 @@ function saveCode(str, vars, codes, path, substitutions) {
40
42
  function repairCode(str, codes) {
41
43
  return replace(fence, fence, (code) => codes[Number(code)], str);
42
44
  }
43
- function liquid(originInput, vars, path, settings) {
45
+ function liquidSnippet(originInput, vars, path, settings) {
44
46
  const { cycles = true, conditions = true, substitutions = true, conditionsInCode = false, useLegacyConditions = false, keepNotVar = false, withSourceMap, } = settings || {};
45
47
  argv_1.default.init({
46
48
  cycles,
@@ -85,7 +87,35 @@ function liquid(originInput, vars, path, settings) {
85
87
  }
86
88
  return output;
87
89
  }
88
- // 'export default' instead of 'export = ' because of circular dependency with './cycles.ts'.
89
- // somehow it breaks import in './cycles.ts' and imports nothing
90
- exports.default = liquid;
90
+ exports.liquidSnippet = liquidSnippet;
91
+ function transformSourceMap(sourceMap, { emplacedResultOffset, emplacedSourceOffset }) {
92
+ return Object.fromEntries(Object.entries(sourceMap).map(([lineInResult, lineInSource]) => [
93
+ (Number(lineInResult) + emplacedResultOffset).toString(),
94
+ (Number(lineInSource) + emplacedSourceOffset).toString(),
95
+ ]));
96
+ }
97
+ function liquidDocument(originInput, vars, path, settings) {
98
+ const { frontMatter, frontMatterStrippedContent, frontMatterLineCount } = (0, frontmatter_1.separateAndExtractFrontMatter)(originInput, path);
99
+ const transformedFrontMatter = (0, frontmatter_1.transformFrontMatterValues)(frontMatter, (v) => typeof v === 'string'
100
+ ? liquidSnippet(v, vars, path, Object.assign(Object.assign({}, settings), { withSourceMap: false }))
101
+ : v);
102
+ const transformedAndSerialized = (0, frontmatter_1.serializeFrontMatter)(transformedFrontMatter);
103
+ // -1 comes from the fact that the last line in serialized FM is the same as the first line in stripped content
104
+ const resultFrontMatterOffset = Math.max(0, (0, frontmatter_1.countLineAmount)(transformedAndSerialized) - 1);
105
+ const sourceFrontMatterOffset = Math.max(0, frontMatterLineCount - 1);
106
+ const liquidProcessedContent = liquidSnippet(frontMatterStrippedContent, vars, path, settings);
107
+ // typeof check for better inference; the catch is that return of liquidSnippet can be an
108
+ // object even with source maps off, see `substitutions.test.ts`
109
+ return ((settings === null || settings === void 0 ? void 0 : settings.withSourceMap) && typeof liquidProcessedContent === 'object'
110
+ ? {
111
+ output: (0, frontmatter_1.emplaceSerializedFrontMatter)(liquidProcessedContent.output, transformedAndSerialized),
112
+ sourceMap: transformSourceMap(liquidProcessedContent.sourceMap, {
113
+ emplacedResultOffset: resultFrontMatterOffset,
114
+ emplacedSourceOffset: sourceFrontMatterOffset,
115
+ }),
116
+ }
117
+ : (0, frontmatter_1.emplaceSerializedFrontMatter)(liquidProcessedContent, transformedAndSerialized));
118
+ }
119
+ exports.liquidDocument = liquidDocument;
120
+ exports.default = liquidDocument;
91
121
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transform/liquid/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transform/liquid/index.ts"],"names":[],"mappings":"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"}
package/lib/md.js CHANGED
@@ -69,7 +69,6 @@ function getPluginOptions(options) {
69
69
  function initPlugins(md, options, pluginOptions) {
70
70
  const { linkify = false, linkifyTlds, leftDelimiter = '{', rightDelimiter = '}', plugins = plugins_1.default, } = options;
71
71
  // Need for ids of headers
72
- // @ts-ignore
73
72
  md.use(markdown_it_attrs_1.default, { leftDelimiter, rightDelimiter });
74
73
  plugins.forEach((plugin) => md.use(plugin, pluginOptions));
75
74
  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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utilsFS.js","sourceRoot":"","sources":["../src/transform/utilsFS.ts"],"names":[],"mappings":";;;;;;AAEA,2BAA0C;AAC1C,uEAA+C;AAC/C,+BAAyD;AAEzD,sDAA8B;AAE9B,mCAA6C;AAE7C,MAAM,UAAU,GAA2B,EAAE,CAAC;AAE9C,SAAgB,YAAY,CAAC,IAAY;IACrC,IAAI;QACA,MAAM,KAAK,GAAG,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC;QAE7B,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;KACzB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AARD,oCAQC;AAED,SAAgB,mBAAmB,CAAC,QAAgB,EAAE,YAAoB;IACtE,MAAM,EAAC,GAAG,EAAE,OAAO,EAAC,GAAG,IAAA,YAAK,EAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,IAAA,cAAO,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC1C,CAAC;AAJD,kDAIC;AAeD,SAAgB,aAAa,CAAC,IAAY,EAAE,KAAgB,EAAE,OAA0B;IACpF,MAAM,EACF,cAAc,EACd,IAAI,EACJ,aAAa,EACb,WAAW,EACX,YAAY,EACZ,2BAA2B,EAC3B,oBAAoB,EACpB,WAAW,GAAG,IAAI,EAClB,gBAAgB,GACnB,GAAG,OAAO,CAAC;IACZ,IAAI,EAAC,OAAO,EAAC,GAAG,OAAO,CAAC;IAExB,MAAM,SAAS,GAAG,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAEvF,wDAAwD;IACxD,IAAI,CAAC,OAAO,EAAE;QACV,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YAClB,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACH,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;SAC9B;KACJ;IAED,IAAI,SAAS,CAAC;IAEd,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,YAAY,GAAG,IAAA,gBAAM,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE;YAClD,aAAa,EAAE,IAAI;YACnB,gBAAgB;SACnB,CAAC,CAAC;QAEH,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;QAC9B,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;KACtC;IAED,IAAI,CAAC,WAAW,IAAI,YAAY,EAAE;QAC9B,YAAY,CAAC;YACT,KAAK,EAAE,OAAO;YACd,IAAI;YACJ,SAAS;SACZ,CAAC,CAAC;KACN;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,kCAC9B,KAAK,CAAC,GAAG,KACZ,IAAI;QACJ,2BAA2B;QAC3B,oBAAoB,IACtB,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;IAErB,OAAO,MAAM,CAAC;AAClB,CAAC;AAxDD,sCAwDC;AAEM,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,IAAY,EAAE,IAAY,EAAE,EAAE;IAClF,IAAI,eAAe,CAAC;IACpB,IAAI,WAAW,CAAC,UAAU,CAAC,UAAG,CAAC,EAAE;QAC7B,eAAe,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KAC7C;SAAM;QACH,eAAe,GAAG,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;KAC5D;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEF,SAAgB,qBAAqB,CAAC,IAKrC;IACG,MAAM,EAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;IACjD,IAAI,YAAY,GAAG,WAAW,CAAC;IAE/B,IAAI,QAAQ,EAAE;QACV,YAAY,GAAG,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;KAC7D;IAED,YAAY,GAAG,YAAY;SACtB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;SAClC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAA,sBAAY,EAAC,UAAG,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAEvD,IAAI,IAAI,EAAE;QACN,YAAY,GAAG,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACrD;IAED,OAAO,IAAI,YAAY,EAAE,CAAC;AAC9B,CAAC;AAvBD,sDAuBC;AAED,SAAgB,aAAa,CACzB,EACI,IAAI,EACJ,IAAI,EACJ,cAAc,EACd,aAAa,GAMhB,EACD,KAAqB;IAErB,MAAM,WAAW,GAAG,KAAK,IAAI,IAAI,IAAI,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,IAAA,cAAO,EAAC,IAAI,IAAI,EAAE,EAAE,cAAc,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,aAAa,IAAI,4BAAoB,CAAC;IAC1D,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC;AAChB,CAAC;AAnBD,sCAmBC;AAED,SAAgB,eAAe,CAAC,IAAY,EAAE,MAAc;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACf,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAG,CAAC,CAAC;IACtC,OAAO,IAAA,eAAQ,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;AALD,0CAKC"}
1
+ {"version":3,"file":"utilsFS.js","sourceRoot":"","sources":["../src/transform/utilsFS.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.31.4-beta1",
3
+ "version": "4.32.2",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -41,7 +41,7 @@
41
41
  "prepare": "husky"
42
42
  },
43
43
  "dependencies": {
44
- "@diplodoc/cut-extension": "^0.2.6-beta4",
44
+ "@diplodoc/cut-extension": "^0.3.0",
45
45
  "@diplodoc/tabs-extension": "^3.4.0",
46
46
  "chalk": "^4.1.2",
47
47
  "cheerio": "^1.0.0",
@@ -29,11 +29,14 @@
29
29
  }
30
30
  }
31
31
 
32
+
33
+ // @todo replace with variables
34
+
32
35
  $colors: (
33
- yfm-accent-info: #ffffff,
34
- yfm-accent-tip: #f9f9f9,
35
- yfm-accent-alert: #f6f6f6,
36
- yfm-accent-warning: #f2f2f2,
36
+ yfm-accent-info: #027bf3,
37
+ yfm-accent-tip: #56bd67,
38
+ yfm-accent-warning: #f19518,
39
+ yfm-accent-alert: #ff4645,
37
40
  );
38
41
 
39
42
  @each $type, $color in $colors {
@@ -0,0 +1,27 @@
1
+ export type FrontMatter = {
2
+ [key: string]: unknown;
3
+ metadata?: Record<string, unknown>[];
4
+ };
5
+
6
+ export const frontMatterFence = '---';
7
+
8
+ /**
9
+ * Temporary workaround to enable parsing YAML metadata from potentially
10
+ * Liquid-aware source files
11
+ * @param content Input string which could contain Liquid-style substitution syntax (which clashes with YAML
12
+ * object syntax)
13
+ * @returns String with `{}` escaped, ready to be parsed with `js-yaml`
14
+ */
15
+ export const escapeLiquidSubstitutionSyntax = (content: string): string =>
16
+ content.replace(/{{/g, '(({{').replace(/}}/g, '}}))');
17
+
18
+ /**
19
+ * Inverse of a workaround defined above.
20
+ * @see `escapeLiquidSubstitutionSyntax`
21
+ * @param escapedContent Input string with `{}` escaped with backslashes
22
+ * @returns Unescaped string
23
+ */
24
+ export const unescapeLiquidSubstitutionSyntax = (escapedContent: string): string =>
25
+ escapedContent.replace(/\(\({{/g, '{{').replace(/}}\)\)/g, '}}');
26
+
27
+ export const countLineAmount = (str: string) => str.split(/\r?\n/).length;
@@ -0,0 +1,24 @@
1
+ import {dump} from 'js-yaml';
2
+
3
+ import {FrontMatter, frontMatterFence} from './common';
4
+
5
+ export const serializeFrontMatter = (frontMatter: FrontMatter) => {
6
+ const dumped = dump(frontMatter, {lineWidth: -1}).trim();
7
+
8
+ // This empty object check is a bit naive
9
+ // The other option would be to check if all own fields are `undefined`,
10
+ // since we exploit passing in `undefined` to remove a field quite a bit
11
+ if (dumped === '{}') {
12
+ return '';
13
+ }
14
+
15
+ return `${frontMatterFence}\n${dumped}\n${frontMatterFence}\n`;
16
+ };
17
+
18
+ export const emplaceSerializedFrontMatter = (
19
+ frontMatterStrippedContent: string,
20
+ frontMatter: string,
21
+ ) => `${frontMatter}${frontMatterStrippedContent}`;
22
+
23
+ export const emplaceFrontMatter = (frontMatterStrippedContent: string, frontMatter: FrontMatter) =>
24
+ emplaceSerializedFrontMatter(frontMatterStrippedContent, serializeFrontMatter(frontMatter));
@@ -0,0 +1,94 @@
1
+ import {YAMLException, load} from 'js-yaml';
2
+
3
+ import {log} from '../log';
4
+
5
+ import {
6
+ FrontMatter,
7
+ countLineAmount,
8
+ escapeLiquidSubstitutionSyntax,
9
+ frontMatterFence,
10
+ unescapeLiquidSubstitutionSyntax,
11
+ } from './common';
12
+ import {transformFrontMatterValues} from './transformValues';
13
+
14
+ type ParseExistingMetadataReturn = {
15
+ frontMatter: FrontMatter;
16
+ frontMatterStrippedContent: string;
17
+ frontMatterLineCount: number;
18
+ };
19
+
20
+ const matchMetadata = (fileContent: string) => {
21
+ if (!fileContent.startsWith(frontMatterFence)) {
22
+ return null;
23
+ }
24
+
25
+ // Search by format:
26
+ // ---
27
+ // metaName1: metaValue1
28
+ // metaName2: meta value2
29
+ // incorrectMetadata
30
+ // ---
31
+ const regexpMetadata = '(?<=-{3}\\r?\\n)((.*\\r?\\n)*?)(?=-{3}\\r?\\n)';
32
+ // Search by format:
33
+ // ---
34
+ // main content 123
35
+ const regexpFileContent = '-{3}\\r?\\n((.*[\r?\n]*)*)';
36
+
37
+ const regexpParseFileContent = new RegExp(`${regexpMetadata}${regexpFileContent}`, 'gm');
38
+
39
+ return regexpParseFileContent.exec(fileContent);
40
+ };
41
+
42
+ const duplicateKeysCompatibleLoad = (yaml: string, filePath: string | undefined) => {
43
+ try {
44
+ return load(yaml);
45
+ } catch (e) {
46
+ if (e instanceof YAMLException) {
47
+ const duplicateKeysDeprecationWarning = `
48
+ In ${filePath ?? '(unknown)'}: Encountered a YAML parsing exception when processing file metadata: ${e.reason}.
49
+ It's highly possible the input file contains duplicate mapping keys.
50
+ Will retry processing with necessary compatibility flags.
51
+ Please note that this behaviour is DEPRECATED and WILL be removed in a future version
52
+ without further notice, so the build WILL fail when supplied with YAML-incompatible meta.
53
+ `
54
+ .replace(/^\s+/gm, '')
55
+ .replace(/\n/g, ' ')
56
+ .trim();
57
+
58
+ log.warn(duplicateKeysDeprecationWarning);
59
+
60
+ return load(yaml, {json: true});
61
+ }
62
+
63
+ throw e;
64
+ }
65
+ };
66
+
67
+ export const separateAndExtractFrontMatter = (
68
+ fileContent: string,
69
+ filePath?: string,
70
+ ): ParseExistingMetadataReturn => {
71
+ const matches = matchMetadata(fileContent);
72
+
73
+ if (matches && matches.length > 0) {
74
+ const [, metadata, , metadataStrippedContent] = matches;
75
+
76
+ return {
77
+ frontMatter: transformFrontMatterValues(
78
+ duplicateKeysCompatibleLoad(
79
+ escapeLiquidSubstitutionSyntax(metadata),
80
+ filePath,
81
+ ) as FrontMatter,
82
+ (v) => (typeof v === 'string' ? unescapeLiquidSubstitutionSyntax(v) : v),
83
+ ),
84
+ frontMatterStrippedContent: metadataStrippedContent,
85
+ frontMatterLineCount: countLineAmount(metadata),
86
+ };
87
+ }
88
+
89
+ return {
90
+ frontMatter: {},
91
+ frontMatterStrippedContent: fileContent,
92
+ frontMatterLineCount: 0,
93
+ };
94
+ };
@@ -0,0 +1,4 @@
1
+ export * from './extract';
2
+ export * from './emplace';
3
+ export * from './transformValues';
4
+ export {countLineAmount} from './common';
@@ -0,0 +1,26 @@
1
+ import {FrontMatter} from './common';
2
+
3
+ export const transformFrontMatterValues = (
4
+ frontMatter: FrontMatter,
5
+ valueMapper: (v: unknown) => unknown,
6
+ ): FrontMatter => {
7
+ const transformInner = (something: unknown): unknown => {
8
+ if (Array.isArray(something)) {
9
+ return something.map((el) => transformInner(el));
10
+ }
11
+
12
+ if (typeof something === 'object' && something !== null) {
13
+ return Object.fromEntries(
14
+ Object.entries(something).map(([k, v]) => [k, transformInner(v)]),
15
+ );
16
+ }
17
+
18
+ if (typeof something === 'function') {
19
+ return something;
20
+ }
21
+
22
+ return valueMapper(something);
23
+ };
24
+
25
+ return transformInner(frontMatter) as FrontMatter;
26
+ };
@@ -3,7 +3,7 @@ import type {EnvType, OptionsType, OutputType} from './typings';
3
3
  import {bold} from 'chalk';
4
4
 
5
5
  import {log} from './log';
6
- import liquid from './liquid';
6
+ import liquidSnippet from './liquid';
7
7
  import initMarkdownit from './md';
8
8
 
9
9
  function applyLiquid(input: string, options: OptionsType) {
@@ -15,7 +15,9 @@ function applyLiquid(input: string, options: OptionsType) {
15
15
  isLiquided = false,
16
16
  } = options;
17
17
 
18
- return disableLiquid || isLiquided ? input : liquid(input, vars, path, {conditionsInCode});
18
+ return disableLiquid || isLiquided
19
+ ? input
20
+ : liquidSnippet(input, vars, path, {conditionsInCode});
19
21
  }
20
22
 
21
23
  function handleError(error: unknown, path?: string): never {