@diplodoc/transform 4.0.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.
- package/CHANGELOG.diplodoc.md +38 -0
- package/CHANGELOG.md +404 -0
- package/LICENSE +21 -0
- package/README.md +41 -0
- package/README.ru.md +36 -0
- package/dist/css/yfm.css +736 -0
- package/dist/css/yfm.css.map +7 -0
- package/dist/css/yfm.min.css +2 -0
- package/dist/css/yfm.min.css.map +7 -0
- package/dist/js/code.d.ts +1 -0
- package/dist/js/cut.d.ts +1 -0
- package/dist/js/index.d.ts +5 -0
- package/dist/js/polyfill.d.ts +1 -0
- package/dist/js/tabs.d.ts +1 -0
- package/dist/js/term/index.d.ts +1 -0
- package/dist/js/term/utils.d.ts +10 -0
- package/dist/js/utils.d.ts +2 -0
- package/dist/js/yfm.js +432 -0
- package/dist/js/yfm.js.map +7 -0
- package/dist/js/yfm.min.js +2 -0
- package/dist/js/yfm.min.js.map +7 -0
- package/lib/getObject.d.ts +2 -0
- package/lib/getObject.js +11 -0
- package/lib/getObject.js.map +1 -0
- package/lib/headings.d.ts +4 -0
- package/lib/headings.js +73 -0
- package/lib/headings.js.map +1 -0
- package/lib/highlight.d.ts +3 -0
- package/lib/highlight.js +29 -0
- package/lib/highlight.js.map +1 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +35 -0
- package/lib/index.js.map +1 -0
- package/lib/liquid/conditions.d.ts +4 -0
- package/lib/liquid/conditions.js +181 -0
- package/lib/liquid/conditions.js.map +1 -0
- package/lib/liquid/cycles.d.ts +4 -0
- package/lib/liquid/cycles.js +160 -0
- package/lib/liquid/cycles.js.map +1 -0
- package/lib/liquid/errors.d.ts +3 -0
- package/lib/liquid/errors.js +13 -0
- package/lib/liquid/errors.js.map +1 -0
- package/lib/liquid/evaluation.d.ts +3 -0
- package/lib/liquid/evaluation.js +138 -0
- package/lib/liquid/evaluation.js.map +1 -0
- package/lib/liquid/filters.d.ts +9 -0
- package/lib/liquid/filters.js +22 -0
- package/lib/liquid/filters.js.map +1 -0
- package/lib/liquid/index.d.ts +9 -0
- package/lib/liquid/index.js +87 -0
- package/lib/liquid/index.js.map +1 -0
- package/lib/liquid/lexical.d.ts +14 -0
- package/lib/liquid/lexical.js +79 -0
- package/lib/liquid/lexical.js.map +1 -0
- package/lib/liquid/services/argv.d.ts +15 -0
- package/lib/liquid/services/argv.js +17 -0
- package/lib/liquid/services/argv.js.map +1 -0
- package/lib/liquid/sourceMap.d.ts +24 -0
- package/lib/liquid/sourceMap.js +56 -0
- package/lib/liquid/sourceMap.js.map +1 -0
- package/lib/liquid/substitutions.d.ts +2 -0
- package/lib/liquid/substitutions.js +36 -0
- package/lib/liquid/substitutions.js.map +1 -0
- package/lib/liquid/utils.d.ts +8 -0
- package/lib/liquid/utils.js +24 -0
- package/lib/liquid/utils.js.map +1 -0
- package/lib/log.d.ts +18 -0
- package/lib/log.js +54 -0
- package/lib/log.js.map +1 -0
- package/lib/md.d.ts +14 -0
- package/lib/md.js +96 -0
- package/lib/md.js.map +1 -0
- package/lib/plugins/anchors/collect.d.ts +5 -0
- package/lib/plugins/anchors/collect.js +81 -0
- package/lib/plugins/anchors/collect.js.map +1 -0
- package/lib/plugins/anchors/constants.d.ts +2 -0
- package/lib/plugins/anchors/constants.js +6 -0
- package/lib/plugins/anchors/constants.js.map +1 -0
- package/lib/plugins/anchors/index.d.ts +7 -0
- package/lib/plugins/anchors/index.js +134 -0
- package/lib/plugins/anchors/index.js.map +1 -0
- package/lib/plugins/changelog/collect.d.ts +8 -0
- package/lib/plugins/changelog/collect.js +50 -0
- package/lib/plugins/changelog/collect.js.map +1 -0
- package/lib/plugins/changelog/index.d.ts +6 -0
- package/lib/plugins/changelog/index.js +131 -0
- package/lib/plugins/changelog/index.js.map +1 -0
- package/lib/plugins/changelog/types.d.ts +10 -0
- package/lib/plugins/changelog/types.js +3 -0
- package/lib/plugins/changelog/types.js.map +1 -0
- package/lib/plugins/checkbox/checkbox.d.ts +7 -0
- package/lib/plugins/checkbox/checkbox.js +91 -0
- package/lib/plugins/checkbox/checkbox.js.map +1 -0
- package/lib/plugins/checkbox/index.d.ts +8 -0
- package/lib/plugins/checkbox/index.js +12 -0
- package/lib/plugins/checkbox/index.js.map +1 -0
- package/lib/plugins/code.d.ts +3 -0
- package/lib/plugins/code.js +61 -0
- package/lib/plugins/code.js.map +1 -0
- package/lib/plugins/cut.d.ts +3 -0
- package/lib/plugins/cut.js +70 -0
- package/lib/plugins/cut.js.map +1 -0
- package/lib/plugins/deflist.d.ts +3 -0
- package/lib/plugins/deflist.js +8 -0
- package/lib/plugins/deflist.js.map +1 -0
- package/lib/plugins/file/const.d.ts +27 -0
- package/lib/plugins/file/const.js +47 -0
- package/lib/plugins/file/const.js.map +1 -0
- package/lib/plugins/file/file.d.ts +8 -0
- package/lib/plugins/file/file.js +63 -0
- package/lib/plugins/file/file.js.map +1 -0
- package/lib/plugins/file/index.d.ts +4 -0
- package/lib/plugins/file/index.js +9 -0
- package/lib/plugins/file/index.js.map +1 -0
- package/lib/plugins/images/collect.d.ts +8 -0
- package/lib/plugins/images/collect.js +43 -0
- package/lib/plugins/images/collect.js.map +1 -0
- package/lib/plugins/images/index.d.ts +10 -0
- package/lib/plugins/images/index.js +81 -0
- package/lib/plugins/images/index.js.map +1 -0
- package/lib/plugins/imsize/const.d.ts +7 -0
- package/lib/plugins/imsize/const.js +12 -0
- package/lib/plugins/imsize/const.js.map +1 -0
- package/lib/plugins/imsize/helpers.d.ts +6 -0
- package/lib/plugins/imsize/helpers.js +64 -0
- package/lib/plugins/imsize/helpers.js.map +1 -0
- package/lib/plugins/imsize/index.d.ts +8 -0
- package/lib/plugins/imsize/index.js +12 -0
- package/lib/plugins/imsize/index.js.map +1 -0
- package/lib/plugins/imsize/plugin.d.ts +3 -0
- package/lib/plugins/imsize/plugin.js +188 -0
- package/lib/plugins/imsize/plugin.js.map +1 -0
- package/lib/plugins/includes/collect.d.ts +8 -0
- package/lib/plugins/includes/collect.js +49 -0
- package/lib/plugins/includes/collect.js.map +1 -0
- package/lib/plugins/includes/index.d.ts +8 -0
- package/lib/plugins/includes/index.js +98 -0
- package/lib/plugins/includes/index.js.map +1 -0
- package/lib/plugins/links/collect.d.ts +7 -0
- package/lib/plugins/links/collect.js +74 -0
- package/lib/plugins/links/collect.js.map +1 -0
- package/lib/plugins/links/constants.d.ts +1 -0
- package/lib/plugins/links/constants.js +5 -0
- package/lib/plugins/links/constants.js.map +1 -0
- package/lib/plugins/links/index.d.ts +24 -0
- package/lib/plugins/links/index.js +178 -0
- package/lib/plugins/links/index.js.map +1 -0
- package/lib/plugins/meta.d.ts +3 -0
- package/lib/plugins/meta.js +8 -0
- package/lib/plugins/meta.js.map +1 -0
- package/lib/plugins/monospace.d.ts +3 -0
- package/lib/plugins/monospace.js +109 -0
- package/lib/plugins/monospace.js.map +1 -0
- package/lib/plugins/notes.d.ts +3 -0
- package/lib/plugins/notes.js +103 -0
- package/lib/plugins/notes.js.map +1 -0
- package/lib/plugins/sup.d.ts +3 -0
- package/lib/plugins/sup.js +8 -0
- package/lib/plugins/sup.js.map +1 -0
- package/lib/plugins/table/index.d.ts +3 -0
- package/lib/plugins/table/index.js +215 -0
- package/lib/plugins/table/index.js.map +1 -0
- package/lib/plugins/tabs.d.ts +4 -0
- package/lib/plugins/tabs.js +4 -0
- package/lib/plugins/tabs.js.map +1 -0
- package/lib/plugins/term/constants.d.ts +1 -0
- package/lib/plugins/term/constants.js +5 -0
- package/lib/plugins/term/constants.js.map +1 -0
- package/lib/plugins/term/index.d.ts +3 -0
- package/lib/plugins/term/index.js +108 -0
- package/lib/plugins/term/index.js.map +1 -0
- package/lib/plugins/term/termDefinitions.d.ts +4 -0
- package/lib/plugins/term/termDefinitions.js +125 -0
- package/lib/plugins/term/termDefinitions.js.map +1 -0
- package/lib/plugins/typings.d.ts +12 -0
- package/lib/plugins/typings.js +3 -0
- package/lib/plugins/typings.js.map +1 -0
- package/lib/plugins/utils.d.ts +6 -0
- package/lib/plugins/utils.js +30 -0
- package/lib/plugins/utils.js.map +1 -0
- package/lib/plugins/video/const.d.ts +10 -0
- package/lib/plugins/video/const.js +22 -0
- package/lib/plugins/video/const.js.map +1 -0
- package/lib/plugins/video/index.d.ts +8 -0
- package/lib/plugins/video/index.js +104 -0
- package/lib/plugins/video/index.js.map +1 -0
- package/lib/plugins/video/parsers.d.ts +6 -0
- package/lib/plugins/video/parsers.js +64 -0
- package/lib/plugins/video/parsers.js.map +1 -0
- package/lib/plugins/video/types.d.ts +34 -0
- package/lib/plugins/video/types.js +3 -0
- package/lib/plugins/video/types.js.map +1 -0
- package/lib/plugins/video/utils.d.ts +2 -0
- package/lib/plugins/video/utils.js +25 -0
- package/lib/plugins/video/utils.js.map +1 -0
- package/lib/plugins.d.ts +3 -0
- package/lib/plugins.js +36 -0
- package/lib/plugins.js.map +1 -0
- package/lib/sanitize.d.ts +12 -0
- package/lib/sanitize.js +572 -0
- package/lib/sanitize.js.map +1 -0
- package/lib/title.d.ts +7 -0
- package/lib/title.js +18 -0
- package/lib/title.js.map +1 -0
- package/lib/typings.d.ts +57 -0
- package/lib/typings.js +3 -0
- package/lib/typings.js.map +1 -0
- package/lib/utils.d.ts +13 -0
- package/lib/utils.js +79 -0
- package/lib/utils.js.map +1 -0
- package/lib/utilsFS.d.ts +27 -0
- package/lib/utilsFS.js +89 -0
- package/lib/utilsFS.js.map +1 -0
- package/lib/yfmlint/index.d.ts +26 -0
- package/lib/yfmlint/index.js +72 -0
- package/lib/yfmlint/index.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/index.d.ts +9 -0
- package/lib/yfmlint/markdownlint-custom-rule/index.js +22 -0
- package/lib/yfmlint/markdownlint-custom-rule/index.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm001.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm001.js +28 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm001.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm002.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm002.js +33 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm002.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm003.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm003.js +33 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm003.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm004.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm004.js +28 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm004.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm005.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm005.js +28 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm005.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm006.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm006.js +28 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm006.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm007.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm007.js +29 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm007.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm008.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm008.js +28 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm008.js.map +1 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm009.d.ts +2 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm009.js +47 -0
- package/lib/yfmlint/markdownlint-custom-rule/yfm009.js.map +1 -0
- package/lib/yfmlint/typings.d.ts +12 -0
- package/lib/yfmlint/typings.js +3 -0
- package/lib/yfmlint/typings.js.map +1 -0
- package/lib/yfmlint/utils.d.ts +9 -0
- package/lib/yfmlint/utils.js +22 -0
- package/lib/yfmlint/utils.js.map +1 -0
- package/lib/yfmlint/yfmlint.d.ts +3 -0
- package/lib/yfmlint/yfmlint.js +69 -0
- package/lib/yfmlint/yfmlint.js.map +1 -0
- package/package.json +106 -0
- package/src/.eslintrc +10 -0
- package/src/js/code.ts +65 -0
- package/src/js/cut.ts +57 -0
- package/src/js/index.ts +6 -0
- package/src/js/polyfill.js +27 -0
- package/src/js/term/index.ts +79 -0
- package/src/js/term/utils.ts +151 -0
- package/src/js/utils.ts +9 -0
- package/src/scss/_anchor.scss +33 -0
- package/src/scss/_code.scss +23 -0
- package/src/scss/_common.scss +407 -0
- package/src/scss/_cut.scss +42 -0
- package/src/scss/_file.scss +35 -0
- package/src/scss/_highlight.scss +96 -0
- package/src/scss/_note.scss +73 -0
- package/src/scss/_print.scss +20 -0
- package/src/scss/_term.scss +79 -0
- package/src/scss/_variables.scss +16 -0
- package/src/scss/yfm.scss +11 -0
- package/src/transform/getObject.ts +10 -0
- package/src/transform/headings.ts +88 -0
- package/src/transform/highlight.ts +33 -0
- package/src/transform/index.ts +50 -0
- package/src/transform/liquid/conditions.ts +259 -0
- package/src/transform/liquid/cycles.ts +244 -0
- package/src/transform/liquid/errors.ts +10 -0
- package/src/transform/liquid/evaluation.ts +145 -0
- package/src/transform/liquid/filters.ts +19 -0
- package/src/transform/liquid/index.ts +141 -0
- package/src/transform/liquid/lexical.ts +86 -0
- package/src/transform/liquid/services/argv.ts +23 -0
- package/src/transform/liquid/sourceMap.ts +72 -0
- package/src/transform/liquid/substitutions.ts +40 -0
- package/src/transform/liquid/utils.ts +30 -0
- package/src/transform/log.ts +60 -0
- package/src/transform/md.ts +123 -0
- package/src/transform/plugins/anchors/collect.ts +101 -0
- package/src/transform/plugins/anchors/constants.ts +2 -0
- package/src/transform/plugins/anchors/index.ts +166 -0
- package/src/transform/plugins/changelog/collect.ts +66 -0
- package/src/transform/plugins/changelog/index.ts +164 -0
- package/src/transform/plugins/changelog/types.ts +10 -0
- package/src/transform/plugins/checkbox/checkbox.ts +107 -0
- package/src/transform/plugins/checkbox/index.ts +15 -0
- package/src/transform/plugins/code.ts +79 -0
- package/src/transform/plugins/cut.ts +98 -0
- package/src/transform/plugins/deflist.ts +5 -0
- package/src/transform/plugins/file/README.md +34 -0
- package/src/transform/plugins/file/const.ts +46 -0
- package/src/transform/plugins/file/file.ts +82 -0
- package/src/transform/plugins/file/index.ts +10 -0
- package/src/transform/plugins/images/collect.ts +60 -0
- package/src/transform/plugins/images/index.ts +119 -0
- package/src/transform/plugins/imsize/const.ts +7 -0
- package/src/transform/plugins/imsize/helpers.ts +75 -0
- package/src/transform/plugins/imsize/index.ts +14 -0
- package/src/transform/plugins/imsize/plugin.ts +214 -0
- package/src/transform/plugins/includes/collect.ts +73 -0
- package/src/transform/plugins/includes/index.ts +127 -0
- package/src/transform/plugins/links/collect.ts +92 -0
- package/src/transform/plugins/links/constants.ts +1 -0
- package/src/transform/plugins/links/index.ts +218 -0
- package/src/transform/plugins/meta.ts +5 -0
- package/src/transform/plugins/monospace.ts +141 -0
- package/src/transform/plugins/notes.ts +134 -0
- package/src/transform/plugins/sup.ts +5 -0
- package/src/transform/plugins/table/index.ts +290 -0
- package/src/transform/plugins/tabs.ts +3 -0
- package/src/transform/plugins/term/constants.ts +1 -0
- package/src/transform/plugins/term/index.ts +139 -0
- package/src/transform/plugins/term/termDefinitions.ts +177 -0
- package/src/transform/plugins/typings.ts +14 -0
- package/src/transform/plugins/utils.ts +38 -0
- package/src/transform/plugins/video/const.ts +20 -0
- package/src/transform/plugins/video/index.ts +134 -0
- package/src/transform/plugins/video/parsers.ts +65 -0
- package/src/transform/plugins/video/types.ts +27 -0
- package/src/transform/plugins/video/utils.ts +24 -0
- package/src/transform/plugins.ts +35 -0
- package/src/transform/sanitize.ts +596 -0
- package/src/transform/title.ts +22 -0
- package/src/transform/typings.ts +64 -0
- package/src/transform/utils.ts +91 -0
- package/src/transform/utilsFS.ts +128 -0
- package/src/transform/yfmlint/README.md +48 -0
- package/src/transform/yfmlint/index.ts +124 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/index.ts +9 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm001.ts +36 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm002.ts +33 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm003.ts +33 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm004.ts +27 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm005.ts +27 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm006.ts +26 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm007.ts +28 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm008.ts +26 -0
- package/src/transform/yfmlint/markdownlint-custom-rule/yfm009.ts +54 -0
- package/src/transform/yfmlint/typings.ts +13 -0
- package/src/transform/yfmlint/utils.ts +31 -0
- package/src/transform/yfmlint/yfmlint.ts +73 -0
package/lib/headings.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
function getTitle(token) {
|
|
3
|
+
var _a;
|
|
4
|
+
return (((_a = token.children) === null || _a === void 0 ? void 0 : _a.reduce((acc, tok) => {
|
|
5
|
+
if (tok.type === 'text' || tok.type === 'code_inline') {
|
|
6
|
+
return acc + tok.content;
|
|
7
|
+
}
|
|
8
|
+
return acc;
|
|
9
|
+
}, '')) || '');
|
|
10
|
+
}
|
|
11
|
+
function getHref(token) {
|
|
12
|
+
return '#' + (token.attrGet('id') || '');
|
|
13
|
+
}
|
|
14
|
+
function getFilteredHeadings(tokens) {
|
|
15
|
+
const headings = [];
|
|
16
|
+
let parents = [headings];
|
|
17
|
+
let prevLevel;
|
|
18
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
19
|
+
const isHeading = tokens[i].type === 'heading_open';
|
|
20
|
+
const level = Number.parseInt(tokens[i].tag.slice(1), 10);
|
|
21
|
+
if (isHeading && level >= 2) {
|
|
22
|
+
const entry = {
|
|
23
|
+
title: getTitle(tokens[i + 1]),
|
|
24
|
+
href: getHref(tokens[i]),
|
|
25
|
+
level,
|
|
26
|
+
};
|
|
27
|
+
let closestParent = parents[parents.length - 1];
|
|
28
|
+
if ((!prevLevel && level === 2) || prevLevel === level) {
|
|
29
|
+
closestParent.push(entry);
|
|
30
|
+
prevLevel = level;
|
|
31
|
+
// skip if nested heading level is lower than for previous by 2 or more
|
|
32
|
+
}
|
|
33
|
+
else if (prevLevel && level - prevLevel === 1) {
|
|
34
|
+
const lastItemInClosestParent = closestParent[closestParent.length - 1];
|
|
35
|
+
const newParent = (lastItemInClosestParent.items = [entry]);
|
|
36
|
+
parents.push(newParent);
|
|
37
|
+
prevLevel = level;
|
|
38
|
+
}
|
|
39
|
+
else if (prevLevel && level < prevLevel) {
|
|
40
|
+
const levelDiff = prevLevel - level;
|
|
41
|
+
const closestParentIndex = parents.length - levelDiff - 1;
|
|
42
|
+
if (closestParentIndex < 0) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
closestParent = parents[closestParentIndex];
|
|
46
|
+
closestParent.push(entry);
|
|
47
|
+
parents = parents.slice(0, closestParentIndex + 1);
|
|
48
|
+
prevLevel = level;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return headings;
|
|
53
|
+
}
|
|
54
|
+
function getFlatListHeadings(tokens) {
|
|
55
|
+
const headings = [];
|
|
56
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
57
|
+
const isHeading = tokens[i].type === 'heading_open';
|
|
58
|
+
const level = Number.parseInt(tokens[i].tag.slice(1), 10);
|
|
59
|
+
if (!isHeading) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
headings.push({
|
|
63
|
+
title: getTitle(tokens[i + 1]),
|
|
64
|
+
href: getHref(tokens[i]),
|
|
65
|
+
level,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return headings;
|
|
69
|
+
}
|
|
70
|
+
module.exports = function getHeadings(tokens, needFlatListHeadings) {
|
|
71
|
+
return needFlatListHeadings ? getFlatListHeadings(tokens) : getFilteredHeadings(tokens);
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=headings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headings.js","sourceRoot":"","sources":["../src/transform/headings.ts"],"names":[],"mappings":"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"}
|
package/lib/highlight.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const utils_1 = require("markdown-it/lib/common/utils");
|
|
3
|
+
module.exports = function makeHighlight(langs = {}) {
|
|
4
|
+
try {
|
|
5
|
+
// Important require.
|
|
6
|
+
// Because we want to have a posibility to run in projects without hljs dependency
|
|
7
|
+
const hljs = require('highlight.js');
|
|
8
|
+
Object.keys(langs).forEach((lang) => {
|
|
9
|
+
hljs.registerLanguage(lang, langs[lang]);
|
|
10
|
+
});
|
|
11
|
+
return function highlight(str, lang) {
|
|
12
|
+
let highlightedStr;
|
|
13
|
+
const classNames = ['hljs'];
|
|
14
|
+
if (lang && hljs.getLanguage(lang)) {
|
|
15
|
+
classNames.push(lang);
|
|
16
|
+
try {
|
|
17
|
+
highlightedStr = hljs.highlight(lang, str, true).value;
|
|
18
|
+
}
|
|
19
|
+
catch (_) { }
|
|
20
|
+
}
|
|
21
|
+
highlightedStr = highlightedStr || (0, utils_1.escapeHtml)(str);
|
|
22
|
+
return `<pre><code class="${classNames.join(' ')}">${highlightedStr}</code></pre>`;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
catch (_a) {
|
|
26
|
+
return (str) => (0, utils_1.escapeHtml)(str);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=highlight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlight.js","sourceRoot":"","sources":["../src/transform/highlight.ts"],"names":[],"mappings":";AAAA,wDAAwD;AAGxD,iBAAS,SAAS,aAAa,CAAC,QAA0B,EAAE;IACxD,IAAI;QACA,qBAAqB;QACrB,kFAAkF;QAClF,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAErC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,SAAS,CAAC,GAAW,EAAE,IAAY;YAC/C,IAAI,cAAc,CAAC;YACnB,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC;YAE5B,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBAChC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEtB,IAAI;oBACA,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;iBAC1D;gBAAC,OAAO,CAAC,EAAE,GAAE;aACjB;YAED,cAAc,GAAG,cAAc,IAAI,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;YAEnD,OAAO,qBAAqB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,cAAc,eAAe,CAAC;QACvF,CAAC,CAAC;KACL;IAAC,WAAM;QACJ,OAAO,CAAC,GAAW,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;KAC3C;AACL,CAAC,CAAC"}
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
const chalk_1 = require("chalk");
|
|
6
|
+
const log_1 = require("./log");
|
|
7
|
+
const liquid_1 = __importDefault(require("./liquid"));
|
|
8
|
+
const md_1 = __importDefault(require("./md"));
|
|
9
|
+
function applyLiquid(input, options) {
|
|
10
|
+
const { vars = {}, path, conditionsInCode = false, disableLiquid = false, isLiquided = false, } = options;
|
|
11
|
+
return disableLiquid || isLiquided ? input : (0, liquid_1.default)(input, vars, path, { conditionsInCode });
|
|
12
|
+
}
|
|
13
|
+
function handleError(error, path) {
|
|
14
|
+
log_1.log.error(`Error occurred${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`);
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
function emitResult(html, env) {
|
|
18
|
+
return {
|
|
19
|
+
result: Object.assign(Object.assign({}, env), { html }),
|
|
20
|
+
logs: log_1.log.get(),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
// eslint-disable-next-line consistent-return
|
|
24
|
+
function transform(originInput, options = {}) {
|
|
25
|
+
const input = applyLiquid(originInput, options);
|
|
26
|
+
const { parse, compile, env } = (0, md_1.default)(options);
|
|
27
|
+
try {
|
|
28
|
+
return emitResult(compile(parse(input)), env);
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
handleError(error, options.path);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
module.exports = transform;
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/transform/index.ts"],"names":[],"mappings":";;;;AACA,iCAA2B;AAC3B,+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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
const chalk_1 = require("chalk");
|
|
6
|
+
const evaluation_1 = __importDefault(require("./evaluation"));
|
|
7
|
+
const lexical_1 = require("./lexical");
|
|
8
|
+
const log_1 = require("../log");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
const sourceMap_1 = require("./sourceMap");
|
|
11
|
+
function changeSourceMap({ firstLineNumber, lastLineNumber, resFirstLineNumber, resLastLineNumber, linesTotal, sourceMap, }) {
|
|
12
|
+
if (!sourceMap) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const { isInlineTag, getSourceMapValue, moveLines, removeLines } = (0, sourceMap_1.createSourceMapApi)({
|
|
16
|
+
firstLineNumber,
|
|
17
|
+
lastLineNumber,
|
|
18
|
+
sourceMap,
|
|
19
|
+
});
|
|
20
|
+
if (isInlineTag) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
let offsetRestLines;
|
|
24
|
+
if (resFirstLineNumber) {
|
|
25
|
+
// Move condition's content to the top
|
|
26
|
+
const offsetContentLines = firstLineNumber - resFirstLineNumber;
|
|
27
|
+
moveLines({
|
|
28
|
+
start: resFirstLineNumber,
|
|
29
|
+
end: resLastLineNumber - 1,
|
|
30
|
+
offset: offsetContentLines,
|
|
31
|
+
withReplace: true,
|
|
32
|
+
});
|
|
33
|
+
// Remove the rest lines of the condition block
|
|
34
|
+
removeLines({ start: firstLineNumber, end: resFirstLineNumber - 1 });
|
|
35
|
+
removeLines({ start: resLastLineNumber, end: lastLineNumber });
|
|
36
|
+
// Calculate an offset of the rest lines
|
|
37
|
+
offsetRestLines = getSourceMapValue(resLastLineNumber - 1) - lastLineNumber;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// Remove the whole condition block
|
|
41
|
+
removeLines({ start: firstLineNumber, end: lastLineNumber });
|
|
42
|
+
// Calculate offset of the rest lines
|
|
43
|
+
offsetRestLines = firstLineNumber - lastLineNumber - 1;
|
|
44
|
+
}
|
|
45
|
+
// Offset the rest lines
|
|
46
|
+
moveLines({ start: lastLineNumber + 1, end: linesTotal, offset: offsetRestLines });
|
|
47
|
+
}
|
|
48
|
+
function getElseProp({ elses }, propName, index = 0) {
|
|
49
|
+
if (!elses.length || index >= elses.length) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return elses[index][propName];
|
|
53
|
+
}
|
|
54
|
+
function inlineConditions({ ifTag, vars, content, match, lastIndex, sourceMap, linesTotal }) {
|
|
55
|
+
let res = '';
|
|
56
|
+
const firstLineNumber = (0, sourceMap_1.getLineNumber)(content, ifTag.startPos);
|
|
57
|
+
const lastLineNumber = (0, sourceMap_1.getLineNumber)(content, lastIndex);
|
|
58
|
+
let resFirstLineNumber = 0;
|
|
59
|
+
let resLastLineNumber = 0;
|
|
60
|
+
if ((0, evaluation_1.default)(ifTag.condition, vars)) {
|
|
61
|
+
const ifRawLastIndex = ifTag.startPos + ifTag.ifRaw.length;
|
|
62
|
+
const contentLastIndex = getElseProp(ifTag, 'startPos') || match.index;
|
|
63
|
+
res = content.substring(ifRawLastIndex, contentLastIndex);
|
|
64
|
+
resFirstLineNumber = (0, sourceMap_1.getLineNumber)(content, ifRawLastIndex + 1);
|
|
65
|
+
resLastLineNumber = (0, sourceMap_1.getLineNumber)(content, contentLastIndex + 1);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
ifTag.elses.some(({ condition, startPos, raw }, index) => {
|
|
69
|
+
const isTruthy = !condition || (0, evaluation_1.default)(condition, vars);
|
|
70
|
+
if (isTruthy) {
|
|
71
|
+
const elseRawLastIndex = startPos + raw.length;
|
|
72
|
+
const contentLastIndex = getElseProp(ifTag, 'startPos', index + 1) || match.index;
|
|
73
|
+
res = content.substring(elseRawLastIndex, contentLastIndex);
|
|
74
|
+
resFirstLineNumber = (0, sourceMap_1.getLineNumber)(content, elseRawLastIndex + 1);
|
|
75
|
+
resLastLineNumber = (0, sourceMap_1.getLineNumber)(content, contentLastIndex + 1);
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
changeSourceMap({
|
|
82
|
+
firstLineNumber,
|
|
83
|
+
lastLineNumber,
|
|
84
|
+
resFirstLineNumber,
|
|
85
|
+
resLastLineNumber,
|
|
86
|
+
linesTotal,
|
|
87
|
+
sourceMap,
|
|
88
|
+
});
|
|
89
|
+
const preparedLeftContent = (0, utils_1.getPreparedLeftContent)({
|
|
90
|
+
content,
|
|
91
|
+
tagStartPos: ifTag.startPos,
|
|
92
|
+
tagContent: res,
|
|
93
|
+
});
|
|
94
|
+
let shift = 0;
|
|
95
|
+
if (res === '' &&
|
|
96
|
+
preparedLeftContent[preparedLeftContent.length - 1] === '\n' &&
|
|
97
|
+
content[lastIndex] === '\n') {
|
|
98
|
+
shift = 1;
|
|
99
|
+
}
|
|
100
|
+
if (res !== '') {
|
|
101
|
+
if (res[0] === '\n') {
|
|
102
|
+
res = res.substring(1);
|
|
103
|
+
}
|
|
104
|
+
res = (0, utils_1.removeIndentBlock)(res);
|
|
105
|
+
if (res[res.length - 1] === '\n') {
|
|
106
|
+
res = res.slice(0, -1);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const leftPart = preparedLeftContent + res;
|
|
110
|
+
return {
|
|
111
|
+
result: leftPart + content.substring(lastIndex + shift),
|
|
112
|
+
idx: leftPart.length,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
module.exports = function conditions(originInput, vars, path, settings) {
|
|
116
|
+
const sourceMap = (settings === null || settings === void 0 ? void 0 : settings.sourceMap) || {};
|
|
117
|
+
const R_LIQUID = /({%-?([\s\S]*?)-?%})/g;
|
|
118
|
+
let match;
|
|
119
|
+
const tagStack = [];
|
|
120
|
+
let input = originInput;
|
|
121
|
+
let linesTotal = originInput.split('\n').length;
|
|
122
|
+
while ((match = R_LIQUID.exec(input)) !== null) {
|
|
123
|
+
if (!match[1]) {
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
const tagMatch = match[2].trim().match(lexical_1.tagLine);
|
|
127
|
+
if (!tagMatch) {
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
const [type, args] = tagMatch.slice(1);
|
|
131
|
+
switch (type) {
|
|
132
|
+
case 'if':
|
|
133
|
+
tagStack.push({
|
|
134
|
+
isOpen: true,
|
|
135
|
+
condition: args,
|
|
136
|
+
startPos: match.index,
|
|
137
|
+
ifRaw: match[1],
|
|
138
|
+
elses: [],
|
|
139
|
+
});
|
|
140
|
+
break;
|
|
141
|
+
case 'else':
|
|
142
|
+
tagStack[tagStack.length - 1].elses.push({
|
|
143
|
+
startPos: match.index,
|
|
144
|
+
raw: match[1],
|
|
145
|
+
});
|
|
146
|
+
break;
|
|
147
|
+
case 'elsif':
|
|
148
|
+
tagStack[tagStack.length - 1].elses.push({
|
|
149
|
+
condition: args,
|
|
150
|
+
startPos: match.index,
|
|
151
|
+
raw: match[1],
|
|
152
|
+
});
|
|
153
|
+
break;
|
|
154
|
+
case 'endif': {
|
|
155
|
+
const ifTag = tagStack.pop();
|
|
156
|
+
if (!ifTag) {
|
|
157
|
+
log_1.log.error(`If block must be opened before close${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`);
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
const { idx, result } = inlineConditions({
|
|
161
|
+
ifTag,
|
|
162
|
+
vars,
|
|
163
|
+
content: input,
|
|
164
|
+
match,
|
|
165
|
+
lastIndex: R_LIQUID.lastIndex,
|
|
166
|
+
sourceMap,
|
|
167
|
+
linesTotal,
|
|
168
|
+
});
|
|
169
|
+
R_LIQUID.lastIndex = idx;
|
|
170
|
+
input = result;
|
|
171
|
+
linesTotal = result.split('\n').length;
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (tagStack.length !== 0) {
|
|
177
|
+
log_1.log.error(`Condition block must be closed${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`);
|
|
178
|
+
}
|
|
179
|
+
return input;
|
|
180
|
+
};
|
|
181
|
+
//# sourceMappingURL=conditions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/transform/liquid/conditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
const chalk_1 = require("chalk");
|
|
6
|
+
const evaluation_1 = require("./evaluation");
|
|
7
|
+
const lexical_1 = require("./lexical");
|
|
8
|
+
const log_1 = require("../log");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
const sourceMap_1 = require("./sourceMap");
|
|
11
|
+
const index_1 = __importDefault(require("./index"));
|
|
12
|
+
function changeSourceMap({ firstLineNumber, lastLineNumber, resFirstLineNumber, resLastLineNumber, contentLinesTotal, linesTotal, sourceMap, }) {
|
|
13
|
+
if (!sourceMap) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const { isInlineTag, moveLines, removeLine } = (0, sourceMap_1.createSourceMapApi)({
|
|
17
|
+
firstLineNumber,
|
|
18
|
+
lastLineNumber,
|
|
19
|
+
sourceMap,
|
|
20
|
+
});
|
|
21
|
+
if (isInlineTag || !resFirstLineNumber) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const offsetRestLines = contentLinesTotal - (lastLineNumber - firstLineNumber + 1);
|
|
25
|
+
// Move condition's content to the top
|
|
26
|
+
const offsetContentLines = firstLineNumber - resFirstLineNumber;
|
|
27
|
+
moveLines({
|
|
28
|
+
start: resFirstLineNumber,
|
|
29
|
+
end: resLastLineNumber - 1,
|
|
30
|
+
offset: offsetContentLines,
|
|
31
|
+
withReplace: true,
|
|
32
|
+
});
|
|
33
|
+
// Remove tags
|
|
34
|
+
removeLine(firstLineNumber);
|
|
35
|
+
removeLine(lastLineNumber);
|
|
36
|
+
// Offset the rest lines
|
|
37
|
+
moveLines({ start: lastLineNumber + 1, end: linesTotal, offset: offsetRestLines });
|
|
38
|
+
}
|
|
39
|
+
function inlineConditions({ forTag, vars, content, match, path, lastIndex, sourceMap, linesTotal, }) {
|
|
40
|
+
let res = '';
|
|
41
|
+
const firstLineNumber = (0, sourceMap_1.getLineNumber)(content, forTag.startPos);
|
|
42
|
+
const lastLineNumber = (0, sourceMap_1.getLineNumber)(content, lastIndex);
|
|
43
|
+
const forRawLastIndex = forTag.startPos + forTag.forRaw.length;
|
|
44
|
+
const contentLastIndex = match.index;
|
|
45
|
+
const forTemplate = content.substring(forRawLastIndex, contentLastIndex);
|
|
46
|
+
const resFirstLineNumber = (0, sourceMap_1.getLineNumber)(content, forRawLastIndex + 1);
|
|
47
|
+
const resLastLineNumber = (0, sourceMap_1.getLineNumber)(content, contentLastIndex + 1);
|
|
48
|
+
let collection = (0, evaluation_1.evalExp)(forTag.collectionName, vars);
|
|
49
|
+
if (!collection || !Array.isArray(collection)) {
|
|
50
|
+
collection = [];
|
|
51
|
+
log_1.log.error(`${(0, chalk_1.bold)(forTag.collectionName)} is undefined or not iterable`);
|
|
52
|
+
}
|
|
53
|
+
collection.forEach((item) => {
|
|
54
|
+
const newVars = Object.assign(Object.assign({}, vars), { [forTag.variableName]: item });
|
|
55
|
+
res += (0, index_1.default)(forTemplate, newVars, path).trimRight();
|
|
56
|
+
});
|
|
57
|
+
const contentLinesTotal = res.split('\n').length - 1;
|
|
58
|
+
changeSourceMap({
|
|
59
|
+
firstLineNumber,
|
|
60
|
+
lastLineNumber,
|
|
61
|
+
resFirstLineNumber,
|
|
62
|
+
resLastLineNumber,
|
|
63
|
+
linesTotal,
|
|
64
|
+
sourceMap,
|
|
65
|
+
contentLinesTotal,
|
|
66
|
+
});
|
|
67
|
+
const preparedLeftContent = (0, utils_1.getPreparedLeftContent)({
|
|
68
|
+
content,
|
|
69
|
+
tagStartPos: forTag.startPos,
|
|
70
|
+
tagContent: res,
|
|
71
|
+
});
|
|
72
|
+
let shift = 0;
|
|
73
|
+
if (res === '' &&
|
|
74
|
+
preparedLeftContent[preparedLeftContent.length - 1] === '\n' &&
|
|
75
|
+
content[lastIndex] === '\n') {
|
|
76
|
+
shift = 1;
|
|
77
|
+
}
|
|
78
|
+
if (res !== '') {
|
|
79
|
+
if (res[0] === ' ' || res[0] === '\n') {
|
|
80
|
+
res = res.substring(1);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const leftPart = preparedLeftContent + res;
|
|
84
|
+
return {
|
|
85
|
+
result: leftPart + content.substring(lastIndex + shift),
|
|
86
|
+
idx: leftPart.length,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
module.exports = function cycles(originInput, vars, path, settings = {}) {
|
|
90
|
+
const { sourceMap } = settings;
|
|
91
|
+
const R_LIQUID = /({%-?([\s\S]*?)-?%})/g;
|
|
92
|
+
const FOR_SYNTAX = new RegExp(`(\\w+)\\s+in\\s+(${lexical_1.variable.source})`);
|
|
93
|
+
let match;
|
|
94
|
+
const tagStack = [];
|
|
95
|
+
let input = originInput;
|
|
96
|
+
let countSkippedInnerTags = 0;
|
|
97
|
+
let linesTotal = originInput.split('\n').length;
|
|
98
|
+
while ((match = R_LIQUID.exec(input)) !== null) {
|
|
99
|
+
if (!match[1]) {
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
const tagMatch = match[2].trim().match(lexical_1.tagLine);
|
|
103
|
+
if (!tagMatch) {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const [type, args] = tagMatch.slice(1);
|
|
107
|
+
switch (type) {
|
|
108
|
+
case 'for': {
|
|
109
|
+
if (tagStack.length) {
|
|
110
|
+
countSkippedInnerTags += 1;
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
const matches = args.match(FOR_SYNTAX);
|
|
114
|
+
if (!matches) {
|
|
115
|
+
log_1.log.error(`Incorrect syntax in if condition${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`);
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
const [variableName, collectionName] = matches.slice(1);
|
|
119
|
+
tagStack.push({
|
|
120
|
+
item: args,
|
|
121
|
+
variableName,
|
|
122
|
+
collectionName,
|
|
123
|
+
startPos: match.index,
|
|
124
|
+
forRaw: match[1],
|
|
125
|
+
});
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case 'endfor': {
|
|
129
|
+
if (countSkippedInnerTags > 0) {
|
|
130
|
+
countSkippedInnerTags -= 1;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
const forTag = tagStack.pop();
|
|
134
|
+
if (!forTag) {
|
|
135
|
+
log_1.log.error(`For block must be opened before close${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`);
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
const { idx, result } = inlineConditions({
|
|
139
|
+
forTag,
|
|
140
|
+
vars,
|
|
141
|
+
content: input,
|
|
142
|
+
match,
|
|
143
|
+
path,
|
|
144
|
+
lastIndex: R_LIQUID.lastIndex,
|
|
145
|
+
sourceMap: sourceMap || {},
|
|
146
|
+
linesTotal,
|
|
147
|
+
});
|
|
148
|
+
R_LIQUID.lastIndex = idx;
|
|
149
|
+
input = result;
|
|
150
|
+
linesTotal = result.split('\n').length;
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
if (tagStack.length !== 0) {
|
|
156
|
+
log_1.log.error(`For block must be closed${path ? ` in ${(0, chalk_1.bold)(path)}` : ''}`);
|
|
157
|
+
}
|
|
158
|
+
return input;
|
|
159
|
+
};
|
|
160
|
+
//# sourceMappingURL=cycles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cycles.js","sourceRoot":"","sources":["../../src/transform/liquid/cycles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SkippedEvalError = void 0;
|
|
4
|
+
const chalk_1 = require("chalk");
|
|
5
|
+
class SkippedEvalError extends Error {
|
|
6
|
+
constructor(message, exp) {
|
|
7
|
+
super();
|
|
8
|
+
this.name = 'SkippedEvalError';
|
|
9
|
+
this.message = `${message}: ${(0, chalk_1.bold)(exp)}`;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.SkippedEvalError = SkippedEvalError;
|
|
13
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/transform/liquid/errors.ts"],"names":[],"mappings":";;;AAAA,iCAA2B;AAE3B,MAAa,gBAAiB,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAE,GAAW;QACpC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,OAAO,KAAK,IAAA,YAAI,EAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,CAAC;CACJ;AAPD,4CAOC"}
|