@diplodoc/transform 4.65.3 → 4.67.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/README.md +56 -3
- package/dist/css/_yfm-only.css +3 -1
- package/dist/css/_yfm-only.css.map +3 -3
- package/dist/css/_yfm-only.min.css +1 -1
- package/dist/css/_yfm-only.min.css.map +3 -3
- package/dist/css/base.css +2 -0
- package/dist/css/base.css.map +3 -3
- package/dist/css/base.min.css.map +3 -3
- package/dist/css/print.css.map +3 -3
- package/dist/css/yfm.css +5 -1
- package/dist/css/yfm.css.map +3 -3
- package/dist/css/yfm.min.css +1 -1
- package/dist/css/yfm.min.css.map +3 -3
- package/dist/js/base.js +2 -22
- package/dist/js/base.js.map +1 -1
- package/dist/js/base.min.js +3 -3
- package/dist/js/base.min.js.map +2 -2
- package/dist/js/yfm.js +27 -57
- package/dist/js/yfm.js.map +3 -3
- package/dist/js/yfm.min.js +3 -3
- package/dist/js/yfm.min.js.map +3 -3
- package/dist/scss/_common.scss +6 -4
- package/dist/scss/_note.scss +10 -8
- package/dist/scss/print/code.scss +1 -1
- package/dist/scss/print/common.scss +3 -2
- package/dist/scss/print/table.scss +3 -2
- package/dist/scss/print/term.scss +1 -1
- package/lib/frontmatter.d.ts +1 -1
- package/lib/frontmatter.js.map +1 -1
- package/lib/getObject.js.map +1 -1
- package/lib/headings.js.map +1 -1
- package/lib/highlight.js +1 -1
- package/lib/highlight.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/liquid/conditions.js.map +1 -1
- package/lib/liquid/cycles.js +1 -1
- package/lib/liquid/cycles.js.map +1 -1
- package/lib/liquid/evaluation.js +21 -11
- package/lib/liquid/evaluation.js.map +1 -1
- package/lib/liquid/filters.js +3 -4
- package/lib/liquid/filters.js.map +1 -1
- package/lib/liquid/index.js +3 -4
- package/lib/liquid/index.js.map +1 -1
- package/lib/liquid/legacyConditions.js.map +1 -1
- package/lib/liquid/lexical.js +5 -5
- package/lib/liquid/lexical.js.map +1 -1
- package/lib/liquid/services/argv.d.ts +1 -1
- package/lib/liquid/services/argv.js +3 -4
- package/lib/liquid/services/argv.js.map +1 -1
- package/lib/liquid/sourceMap.d.ts +2 -2
- package/lib/liquid/sourceMap.js +3 -4
- package/lib/liquid/sourceMap.js.map +1 -1
- package/lib/liquid/substitutions.js.map +1 -1
- package/lib/liquid/utils.d.ts +1 -1
- package/lib/liquid/utils.js +2 -3
- package/lib/liquid/utils.js.map +1 -1
- package/lib/log.d.ts +1 -1
- package/lib/log.js +1 -1
- package/lib/log.js.map +1 -1
- package/lib/md.d.ts +5 -5
- package/lib/md.js +31 -22
- package/lib/md.js.map +1 -1
- package/lib/plugins/anchors/collect.js.map +1 -1
- package/lib/plugins/anchors/index.js.map +1 -1
- package/lib/plugins/block-anchor/block-anchor.js +3 -3
- package/lib/plugins/block-anchor/block-anchor.js.map +1 -1
- package/lib/plugins/block-anchor/index.js +1 -1
- package/lib/plugins/block-anchor/index.js.map +1 -1
- package/lib/plugins/changelog/collect.d.ts +1 -1
- package/lib/plugins/changelog/collect.js.map +1 -1
- package/lib/plugins/changelog/index.js +6 -3
- package/lib/plugins/changelog/index.js.map +1 -1
- package/lib/plugins/checkbox/checkbox.d.ts +1 -1
- package/lib/plugins/checkbox/checkbox.js +83 -23
- package/lib/plugins/checkbox/checkbox.js.map +1 -1
- package/lib/plugins/code.js.map +1 -1
- package/lib/plugins/cut.d.ts +1 -1
- package/lib/plugins/deflist.d.ts +1 -1
- package/lib/plugins/images/collect.d.ts +1 -1
- package/lib/plugins/images/collect.js.map +1 -1
- package/lib/plugins/images/index.d.ts +1 -1
- package/lib/plugins/images/index.js +16 -7
- package/lib/plugins/images/index.js.map +1 -1
- package/lib/plugins/imsize/const.js +1 -1
- package/lib/plugins/imsize/const.js.map +1 -1
- package/lib/plugins/imsize/helpers.js +1 -2
- package/lib/plugins/imsize/helpers.js.map +1 -1
- package/lib/plugins/imsize/plugin.d.ts +1 -1
- package/lib/plugins/imsize/plugin.js.map +1 -1
- package/lib/plugins/includes/collect.js +11 -3
- package/lib/plugins/includes/collect.js.map +1 -1
- package/lib/plugins/includes/index.d.ts +1 -1
- package/lib/plugins/includes/index.js +5 -3
- package/lib/plugins/includes/index.js.map +1 -1
- package/lib/plugins/includes/types.d.ts +1 -1
- package/lib/plugins/links/collect.d.ts +1 -1
- package/lib/plugins/links/collect.js +1 -1
- package/lib/plugins/links/collect.js.map +1 -1
- package/lib/plugins/links/index.d.ts +1 -1
- package/lib/plugins/links/index.js +35 -12
- package/lib/plugins/links/index.js.map +1 -1
- package/lib/plugins/meta.js.map +1 -1
- package/lib/plugins/monospace.js +1 -1
- package/lib/plugins/monospace.js.map +1 -1
- package/lib/plugins/notes/index.d.ts +1 -1
- package/lib/plugins/notes/index.js +1 -1
- package/lib/plugins/notes/index.js.map +1 -1
- package/lib/plugins/ol-attr-conversion.js.map +1 -1
- package/lib/plugins/sup.d.ts +1 -1
- package/lib/plugins/table/index.js +7 -18
- package/lib/plugins/table/index.js.map +1 -1
- package/lib/plugins/table/types.d.ts +1 -1
- package/lib/plugins/tabs.d.ts +3 -3
- package/lib/plugins/term/index.js.map +1 -1
- package/lib/plugins/term/termDefinitions.js +1 -2
- package/lib/plugins/term/termDefinitions.js.map +1 -1
- package/lib/plugins/utils.d.ts +1 -1
- package/lib/plugins/utils.js +3 -3
- package/lib/plugins/utils.js.map +1 -1
- package/lib/plugins/video/const.js +1 -1
- package/lib/plugins/video/const.js.map +1 -1
- package/lib/plugins/video/index.js +1 -1
- package/lib/plugins/video/index.js.map +1 -1
- package/lib/plugins/video/parsers.js +9 -10
- package/lib/plugins/video/parsers.js.map +1 -1
- package/lib/plugins/video/types.d.ts +8 -8
- package/lib/plugins/video/utils.js.map +1 -1
- package/lib/plugins.d.ts +1 -1
- package/lib/preprocessors/included/index.js.map +1 -1
- package/lib/preprocessors/index.d.ts +1 -1
- package/lib/preprocessors/index.js +1 -2
- package/lib/preprocessors/index.js.map +1 -1
- package/lib/sanitize.d.ts +1 -1
- package/lib/sanitize.js +54 -26
- package/lib/sanitize.js.map +1 -1
- package/lib/title.js.map +1 -1
- package/lib/typings.d.ts +10 -10
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +16 -13
- package/lib/utils.js.map +1 -1
- package/lib/utilsFS.d.ts +2 -1
- package/lib/utilsFS.js +45 -15
- package/lib/utilsFS.js.map +1 -1
- package/lib/yfmlint/index.js +4 -1
- package/lib/yfmlint/index.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm001.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm002.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm003.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm004.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm005.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm006.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm007.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm008.js.map +1 -1
- package/lib/yfmlint/markdownlint-custom-rule/yfm009.js.map +1 -1
- package/lib/yfmlint/utils.js +6 -6
- package/lib/yfmlint/utils.js.map +1 -1
- package/lib/yfmlint/yfmlint.js +60 -60
- package/lib/yfmlint/yfmlint.js.map +1 -1
- package/package.json +12 -11
- package/src/scss/_common.scss +6 -4
- package/src/scss/_note.scss +10 -8
- package/src/scss/print/code.scss +1 -1
- package/src/scss/print/common.scss +3 -2
- package/src/scss/print/table.scss +3 -2
- package/src/scss/print/term.scss +1 -1
- package/src/transform/highlight.ts +1 -1
- package/src/transform/liquid/evaluation.ts +2 -2
- package/src/transform/plugins/block-anchor/index.ts +1 -1
- package/src/transform/plugins/changelog/index.ts +1 -1
- package/src/transform/plugins/checkbox/checkbox.ts +104 -26
- package/src/transform/plugins/images/index.ts +8 -6
- package/src/transform/plugins/includes/collect.ts +1 -1
- package/src/transform/plugins/includes/index.ts +5 -3
- package/src/transform/plugins/links/index.ts +7 -3
- package/src/transform/plugins/notes/index.ts +1 -1
- package/src/transform/plugins/video/types.ts +1 -1
- package/src/transform/sanitize.ts +1 -1
- package/src/transform/utils.ts +2 -2
- package/src/transform/utilsFS.ts +33 -6
- package/src/transform/yfmlint/index.ts +5 -1
- package/src/transform/yfmlint/utils.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yfm006.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm006.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAC/C,WAAW,EAAE,4BAA4B;IACzC,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"yfm006.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm006.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAC/C,WAAW,EAAE,4BAA4B;IACzC,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,CAAC,MAAM;aACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QACvC,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC;oBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yfm007.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm007.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IACjD,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"yfm007.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm007.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,8BAA8B,CAAC;IACjD,WAAW,EAAE,8BAA8B;IAC3C,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;;YACzB,OAAA,MAAA,EAAE,CAAC,QAAQ,0CACL,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;YACvC,CAAC,EACA,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzB,OAAO,CAAC;wBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;qBACrB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC,CAAC,CAAA;SAAA,CACT,CAAC;IACN,CAAC;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yfm008.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm008.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,oCAAoC,CAAC;IACvD,WAAW,EAAE,oCAAoC;IACjD,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"yfm008.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm008.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,oCAAoC,CAAC;IACvD,WAAW,EAAE,oCAAoC;IACjD,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QACD,MAAM,CAAC,MAAM;aACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACd,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;QACvC,CAAC,CAAC;aACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,4CAA4C;YAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC;oBACJ,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO,EAAE,IAAI,CAAC,IAAI;iBACrB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yfm009.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm009.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IAClD,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"yfm009.js","sourceRoot":"","sources":["../../../src/transform/yfmlint/markdownlint-custom-rule/yfm009.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAAS;IACxB,KAAK,EAAE,CAAC,QAAQ,EAAE,+BAA+B,CAAC;IAClD,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO;QACrC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;QACX,CAAC;QAED,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACxC,cAAc,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACxC,SAAS;YACb,CAAC;YAED,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;gBACjB,SAAS;YACb,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3C,SAAS;YACb,CAAC;YAED,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC3D,SAAS;YACb,CAAC;YAED,OAAO,CAAC;gBACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU;gBAC3C,MAAM,EAAE,qGAAqG;aAChH,CAAC,CAAC;QACP,CAAC;QAED,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QAED,IAAI,cAAc,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC;gBACJ,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,UAAU;gBACxD,MAAM,EAAE,mCAAmC;aAC9C,CAAC,CAAC;QACP,CAAC;IACL,CAAC;CACJ,CAAC"}
|
package/lib/yfmlint/utils.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
3
|
+
exports.errorToString = errorToString;
|
|
4
|
+
exports.getLogLevel = getLogLevel;
|
|
5
5
|
function errorToString(path, error, sourceMap) {
|
|
6
|
+
// Use forward slash for rule moniker separator for cross-platform compatibility
|
|
7
|
+
// Rule names like 'YFM001/inline-code-length' should use '/' not platform-specific separator
|
|
6
8
|
const ruleMoniker = error.ruleNames
|
|
7
|
-
? error.ruleNames.join(
|
|
9
|
+
? error.ruleNames.join('/')
|
|
8
10
|
: // @ts-expect-error bad markdownlint typings
|
|
9
|
-
error.ruleName +
|
|
11
|
+
error.ruleName + '/' + error.ruleAlias;
|
|
10
12
|
const lineNumber = sourceMap ? sourceMap[error.lineNumber] : error.lineNumber;
|
|
11
13
|
return (`${path}${lineNumber ? `: ${lineNumber}:` : ':'} ${ruleMoniker} ${error.ruleDescription}` +
|
|
12
14
|
(error.errorDetail ? ` [${error.errorDetail}]` : '') +
|
|
13
15
|
(error.errorContext ? ` [Context: "${error.errorContext}"]` : ''));
|
|
14
16
|
}
|
|
15
|
-
exports.errorToString = errorToString;
|
|
16
17
|
function getLogLevel(opts) {
|
|
17
18
|
const { ruleNames, logLevelsConfig, defaultLevel } = opts;
|
|
18
19
|
const ruleName = ruleNames.filter((ruleName) => ruleName in logLevelsConfig)[0];
|
|
19
20
|
return logLevelsConfig[ruleName] || defaultLevel;
|
|
20
21
|
}
|
|
21
|
-
exports.getLogLevel = getLogLevel;
|
|
22
22
|
//# sourceMappingURL=utils.js.map
|
package/lib/yfmlint/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/transform/yfmlint/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/transform/yfmlint/utils.ts"],"names":[],"mappings":";;AAIA,sCAcC;AAED,kCAWC;AA3BD,SAAgB,aAAa,CAAC,IAAY,EAAE,KAAgB,EAAE,SAA8B;IACxF,gFAAgF;IAChF,6FAA6F;IAC7F,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS;QAC/B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,CAAC,CAAC,4CAA4C;YAC5C,KAAK,CAAC,QAAQ,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;IAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAE9E,OAAO,CACH,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,IAAI,KAAK,CAAC,eAAe,EAAE;QACzF,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACpE,CAAC;AACN,CAAC;AAED,SAAgB,WAAW,CAAC,IAI3B;IACG,MAAM,EAAC,SAAS,EAAE,eAAe,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAC7B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,eAAe,CAC5C,CAAC,CAAC,CAAiC,CAAC;IAErC,OAAO,eAAe,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;AACrD,CAAC"}
|
package/lib/yfmlint/yfmlint.js
CHANGED
|
@@ -4,66 +4,66 @@ const index = {
|
|
|
4
4
|
// Default state for all rules
|
|
5
5
|
default: true,
|
|
6
6
|
'log-levels': {
|
|
7
|
-
MD001: log_1.LogLevels.DISABLED,
|
|
8
|
-
MD002: log_1.LogLevels.DISABLED,
|
|
9
|
-
MD003: log_1.LogLevels.DISABLED,
|
|
10
|
-
MD004: log_1.LogLevels.DISABLED,
|
|
11
|
-
MD005: log_1.LogLevels.DISABLED,
|
|
12
|
-
MD006: log_1.LogLevels.DISABLED,
|
|
13
|
-
MD007: log_1.LogLevels.DISABLED,
|
|
14
|
-
MD009: log_1.LogLevels.DISABLED,
|
|
15
|
-
MD010: log_1.LogLevels.DISABLED,
|
|
16
|
-
MD011: log_1.LogLevels.DISABLED,
|
|
17
|
-
MD012: log_1.LogLevels.DISABLED,
|
|
18
|
-
MD013: log_1.LogLevels.DISABLED,
|
|
19
|
-
MD014: log_1.LogLevels.DISABLED,
|
|
20
|
-
MD018: log_1.LogLevels.DISABLED,
|
|
21
|
-
MD019: log_1.LogLevels.DISABLED,
|
|
22
|
-
MD020: log_1.LogLevels.DISABLED,
|
|
23
|
-
MD021: log_1.LogLevels.DISABLED,
|
|
24
|
-
MD022: log_1.LogLevels.DISABLED,
|
|
25
|
-
MD023: log_1.LogLevels.DISABLED,
|
|
26
|
-
MD024: log_1.LogLevels.DISABLED,
|
|
27
|
-
MD025: log_1.LogLevels.DISABLED,
|
|
28
|
-
MD026: log_1.LogLevels.DISABLED,
|
|
29
|
-
MD027: log_1.LogLevels.DISABLED,
|
|
30
|
-
MD028: log_1.LogLevels.DISABLED,
|
|
31
|
-
MD029: log_1.LogLevels.DISABLED,
|
|
32
|
-
MD030: log_1.LogLevels.DISABLED,
|
|
33
|
-
MD031: log_1.LogLevels.DISABLED,
|
|
34
|
-
MD032: log_1.LogLevels.DISABLED,
|
|
35
|
-
MD033: log_1.LogLevels.DISABLED,
|
|
36
|
-
MD034: log_1.LogLevels.DISABLED,
|
|
37
|
-
MD035: log_1.LogLevels.DISABLED,
|
|
38
|
-
MD036: log_1.LogLevels.DISABLED,
|
|
39
|
-
MD037: log_1.LogLevels.DISABLED,
|
|
40
|
-
MD038: log_1.LogLevels.DISABLED,
|
|
41
|
-
MD039: log_1.LogLevels.DISABLED,
|
|
42
|
-
MD040: log_1.LogLevels.DISABLED,
|
|
43
|
-
MD041: log_1.LogLevels.DISABLED,
|
|
44
|
-
MD042: log_1.LogLevels.DISABLED,
|
|
45
|
-
MD043: log_1.LogLevels.DISABLED,
|
|
46
|
-
MD044: log_1.LogLevels.DISABLED,
|
|
47
|
-
MD045: log_1.LogLevels.DISABLED,
|
|
48
|
-
MD046: log_1.LogLevels.DISABLED,
|
|
49
|
-
MD047: log_1.LogLevels.DISABLED,
|
|
50
|
-
MD048: log_1.LogLevels.DISABLED,
|
|
51
|
-
MD049: log_1.LogLevels.DISABLED,
|
|
52
|
-
MD050: log_1.LogLevels.DISABLED,
|
|
53
|
-
MD051: log_1.LogLevels.DISABLED,
|
|
54
|
-
MD052: log_1.LogLevels.DISABLED,
|
|
55
|
-
MD053: log_1.LogLevels.DISABLED,
|
|
56
|
-
MD054: log_1.LogLevels.DISABLED,
|
|
57
|
-
MD055: log_1.LogLevels.DISABLED,
|
|
58
|
-
MD056: log_1.LogLevels.DISABLED,
|
|
59
|
-
YFM001: log_1.LogLevels.WARN,
|
|
60
|
-
YFM002: log_1.LogLevels.WARN,
|
|
61
|
-
YFM003: log_1.LogLevels.ERROR,
|
|
62
|
-
YFM004: log_1.LogLevels.ERROR,
|
|
63
|
-
YFM005: log_1.LogLevels.ERROR,
|
|
64
|
-
YFM006: log_1.LogLevels.WARN,
|
|
65
|
-
YFM007: log_1.LogLevels.WARN,
|
|
66
|
-
YFM008: log_1.LogLevels.WARN,
|
|
7
|
+
MD001: log_1.LogLevels.DISABLED, // Heading levels should only increment by one level at a time
|
|
8
|
+
MD002: log_1.LogLevels.DISABLED, // First heading should be a top-level heading~~
|
|
9
|
+
MD003: log_1.LogLevels.DISABLED, // Heading style
|
|
10
|
+
MD004: log_1.LogLevels.DISABLED, // Unordered list style
|
|
11
|
+
MD005: log_1.LogLevels.DISABLED, // Inconsistent indentation for list items at the same level
|
|
12
|
+
MD006: log_1.LogLevels.DISABLED, // Consider starting bulleted lists at the beginning of the line~~
|
|
13
|
+
MD007: log_1.LogLevels.DISABLED, // Unordered list indentation
|
|
14
|
+
MD009: log_1.LogLevels.DISABLED, // Trailing spaces
|
|
15
|
+
MD010: log_1.LogLevels.DISABLED, // Hard tabs
|
|
16
|
+
MD011: log_1.LogLevels.DISABLED, // Reversed link syntax
|
|
17
|
+
MD012: log_1.LogLevels.DISABLED, // Multiple consecutive blank lines
|
|
18
|
+
MD013: log_1.LogLevels.DISABLED, // Line length
|
|
19
|
+
MD014: log_1.LogLevels.DISABLED, // Dollar signs used before commands without showing output
|
|
20
|
+
MD018: log_1.LogLevels.DISABLED, // No space after hash on atx style heading
|
|
21
|
+
MD019: log_1.LogLevels.DISABLED, // Multiple spaces after hash on atx style heading
|
|
22
|
+
MD020: log_1.LogLevels.DISABLED, // No space inside hashes on closed atx style heading
|
|
23
|
+
MD021: log_1.LogLevels.DISABLED, // Multiple spaces inside hashes on closed atx style heading
|
|
24
|
+
MD022: log_1.LogLevels.DISABLED, // Headings should be surrounded by blank lines
|
|
25
|
+
MD023: log_1.LogLevels.DISABLED, // Headings must start at the beginning of the line
|
|
26
|
+
MD024: log_1.LogLevels.DISABLED, // Multiple headings with the same content
|
|
27
|
+
MD025: log_1.LogLevels.DISABLED, // Multiple top-level headings in the same document
|
|
28
|
+
MD026: log_1.LogLevels.DISABLED, // Trailing punctuation in heading
|
|
29
|
+
MD027: log_1.LogLevels.DISABLED, // Multiple spaces after blockquote symbol
|
|
30
|
+
MD028: log_1.LogLevels.DISABLED, // Blank line inside blockquote
|
|
31
|
+
MD029: log_1.LogLevels.DISABLED, // Ordered list item prefix
|
|
32
|
+
MD030: log_1.LogLevels.DISABLED, // Spaces after list markers
|
|
33
|
+
MD031: log_1.LogLevels.DISABLED, // Fenced code blocks should be surrounded by blank lines
|
|
34
|
+
MD032: log_1.LogLevels.DISABLED, // Lists should be surrounded by blank lines
|
|
35
|
+
MD033: log_1.LogLevels.DISABLED, // Inline HTML
|
|
36
|
+
MD034: log_1.LogLevels.DISABLED, // Bare URL used
|
|
37
|
+
MD035: log_1.LogLevels.DISABLED, // Horizontal rule style
|
|
38
|
+
MD036: log_1.LogLevels.DISABLED, // Emphasis used instead of a heading
|
|
39
|
+
MD037: log_1.LogLevels.DISABLED, // Spaces inside emphasis markers
|
|
40
|
+
MD038: log_1.LogLevels.DISABLED, // Spaces inside code span elements
|
|
41
|
+
MD039: log_1.LogLevels.DISABLED, // Spaces inside link text
|
|
42
|
+
MD040: log_1.LogLevels.DISABLED, // Fenced code blocks should have a language specified
|
|
43
|
+
MD041: log_1.LogLevels.DISABLED, // First line in a file should be a top-level heading
|
|
44
|
+
MD042: log_1.LogLevels.DISABLED, // No empty links
|
|
45
|
+
MD043: log_1.LogLevels.DISABLED, // Required heading structure
|
|
46
|
+
MD044: log_1.LogLevels.DISABLED, // Proper names should have the correct capitalization
|
|
47
|
+
MD045: log_1.LogLevels.DISABLED, // Images should have alternate text (alt text)
|
|
48
|
+
MD046: log_1.LogLevels.DISABLED, // Code block style
|
|
49
|
+
MD047: log_1.LogLevels.DISABLED, // Files should end with a single newline character
|
|
50
|
+
MD048: log_1.LogLevels.DISABLED, // Code fence style
|
|
51
|
+
MD049: log_1.LogLevels.DISABLED, // Emphasis style should be consistent
|
|
52
|
+
MD050: log_1.LogLevels.DISABLED, // Strong style should be consistent
|
|
53
|
+
MD051: log_1.LogLevels.DISABLED, // Link fragments should be valid
|
|
54
|
+
MD052: log_1.LogLevels.DISABLED, // Reference links and images should use a label that is defined
|
|
55
|
+
MD053: log_1.LogLevels.DISABLED, // Link and image reference definitions should be needed
|
|
56
|
+
MD054: log_1.LogLevels.DISABLED, // Link and image style
|
|
57
|
+
MD055: log_1.LogLevels.DISABLED, // Table pipe style
|
|
58
|
+
MD056: log_1.LogLevels.DISABLED, // Table column count
|
|
59
|
+
YFM001: log_1.LogLevels.WARN, // Inline code length
|
|
60
|
+
YFM002: log_1.LogLevels.WARN, // No header found in the file for the link text
|
|
61
|
+
YFM003: log_1.LogLevels.ERROR, // Link is unreachable
|
|
62
|
+
YFM004: log_1.LogLevels.ERROR, // Table not closed
|
|
63
|
+
YFM005: log_1.LogLevels.ERROR, // Tab list not closed
|
|
64
|
+
YFM006: log_1.LogLevels.WARN, // Term definition duplicated
|
|
65
|
+
YFM007: log_1.LogLevels.WARN, // Term used without definition
|
|
66
|
+
YFM008: log_1.LogLevels.WARN, // Term inside definition not allowed
|
|
67
67
|
YFM009: log_1.LogLevels.ERROR, // Term definition used not at the end of file
|
|
68
68
|
},
|
|
69
69
|
// Inline code length
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yfmlint.js","sourceRoot":"","sources":["../../src/transform/yfmlint/yfmlint.ts"],"names":[],"mappings":";AAEA,gCAAiC;AAEjC,MAAM,KAAK,GAAe;IACtB,8BAA8B;IAC9B,OAAO,EAAE,IAAI;IAEb,YAAY,EAAE;QACV,KAAK,EAAE,eAAS,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"yfmlint.js","sourceRoot":"","sources":["../../src/transform/yfmlint/yfmlint.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.
|
|
3
|
+
"version": "4.67.0",
|
|
4
4
|
"description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"markdown",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"artifact:playground": "node --input-type=module -e \"(await import('./playground/scripts/pages.mjs')).bundleDeployables('./pages-build')\"",
|
|
43
43
|
"artifact:pages": "npm run build && npm run artifact:playground",
|
|
44
44
|
"prepublishOnly": "npm run lint && npm run test && npm run build",
|
|
45
|
-
"test": "
|
|
45
|
+
"test": "vitest run --coverage",
|
|
46
46
|
"test:playwright:nobuild": "cd e2e && npm run playwright:docker --",
|
|
47
47
|
"test:playwright": "npm run build && npm run test:playwright:nobuild --",
|
|
48
48
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"prepare": "husky"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@diplodoc/cut-extension": "^1.1.
|
|
56
|
-
"@diplodoc/file-extension": "^0.2.
|
|
55
|
+
"@diplodoc/cut-extension": "^1.1.1",
|
|
56
|
+
"@diplodoc/file-extension": "^0.2.2",
|
|
57
57
|
"@diplodoc/tabs-extension": "^3.7.6",
|
|
58
58
|
"@diplodoc/utils": "^2.1.0",
|
|
59
59
|
"chalk": "^4.1.2",
|
|
@@ -78,30 +78,31 @@
|
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@diplodoc/babel-preset": "^1.0.2",
|
|
81
|
-
"@diplodoc/lint": "^1.2
|
|
81
|
+
"@diplodoc/lint": "^1.10.2",
|
|
82
82
|
"@diplodoc/tsconfig": "^1.0.2",
|
|
83
83
|
"@types/css": "0.0.34",
|
|
84
84
|
"@types/github-slugger": "^1.3.0",
|
|
85
|
-
"@types/jest": "28.1.7",
|
|
86
85
|
"@types/js-yaml": "^4.0.5",
|
|
87
86
|
"@types/lodash": "4.14.183",
|
|
88
87
|
"@types/markdown-it": "^13.0.9",
|
|
89
88
|
"@types/markdown-it-attrs": "4.1.0",
|
|
90
|
-
"@types/node": "
|
|
89
|
+
"@types/node": "^22.19.7",
|
|
91
90
|
"@types/sanitize-html": "^2.9.3",
|
|
91
|
+
"@vitest/coverage-v8": "^2.1.9",
|
|
92
|
+
"@vitest/ui": "^2.1.8",
|
|
92
93
|
"autoprefixer": "^10.4.15",
|
|
93
|
-
"esbuild": "^0.
|
|
94
|
+
"esbuild": "^0.27.2",
|
|
94
95
|
"esbuild-sass-plugin": "^3.3.1",
|
|
95
96
|
"highlight.js": "^11.8.0",
|
|
96
|
-
"jest": "28.1.3",
|
|
97
97
|
"jest-serializer-html": "^7.1.0",
|
|
98
98
|
"markdown-it-testgen": "^0.1.6",
|
|
99
99
|
"npm-run-all": "^4.1.5",
|
|
100
100
|
"postcss": "^8.4.27",
|
|
101
101
|
"postcss-preset-env": "^9.1.1",
|
|
102
102
|
"sass": "^1.79.0",
|
|
103
|
-
"
|
|
104
|
-
"typescript": "
|
|
103
|
+
"terminal-link": "^2.1.1",
|
|
104
|
+
"typescript": "^5.6.3",
|
|
105
|
+
"vitest": "^2.1.8"
|
|
105
106
|
},
|
|
106
107
|
"peerDependencies": {
|
|
107
108
|
"highlight.js": "^10.0.3 || ^11"
|
package/src/scss/_common.scss
CHANGED
|
@@ -23,10 +23,12 @@
|
|
|
23
23
|
color: var(--yfm-color-text, var(--yfm-color-text-private));
|
|
24
24
|
tab-size: var(--yfm-tab-size, inherit);
|
|
25
25
|
|
|
26
|
-
--yfm-font-family-monospace:
|
|
27
|
-
'
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
--yfm-font-family-monospace:
|
|
27
|
+
'Menlo', 'Monaco', 'Consolas', 'Ubuntu Mono', 'Liberation Mono', 'DejaVu Sans Mono',
|
|
28
|
+
'Courier New', 'Courier', monospace;
|
|
29
|
+
--yfm-font-family-sans:
|
|
30
|
+
'Segoe UI', arial, helvetica, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
|
31
|
+
'Segoe UI Symbol';
|
|
30
32
|
|
|
31
33
|
* {
|
|
32
34
|
box-sizing: border-box;
|
package/src/scss/_note.scss
CHANGED
|
@@ -51,17 +51,19 @@
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
$backgroundColors: (
|
|
54
|
-
yfm-accent-info:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
yfm-accent-
|
|
59
|
-
|
|
54
|
+
yfm-accent-info: var(
|
|
55
|
+
--yfm-color-note-info-background,
|
|
56
|
+
var(--yfm-color-note-info-background-private)
|
|
57
|
+
),
|
|
58
|
+
yfm-accent-tip: var(
|
|
59
|
+
--yfm-color-note-tip-background,
|
|
60
|
+
var(--yfm-color-note-tip-background-private)
|
|
61
|
+
),
|
|
62
|
+
yfm-accent-alert: var(
|
|
60
63
|
--yfm-color-note-important-background,
|
|
61
64
|
var(--yfm-color-note-important-background-private)
|
|
62
65
|
),
|
|
63
|
-
yfm-accent-warning:
|
|
64
|
-
var(
|
|
66
|
+
yfm-accent-warning: var(
|
|
65
67
|
--yfm-color-note-warning-background,
|
|
66
68
|
var(--yfm-color-note-warning-background-private)
|
|
67
69
|
),
|
package/src/scss/print/code.scss
CHANGED
package/src/scss/print/term.scss
CHANGED
|
@@ -28,7 +28,7 @@ const operators: Record<string, WithFilter | NoFilter | DotOperator> = {
|
|
|
28
28
|
'|': ((l, filter, exp) => {
|
|
29
29
|
try {
|
|
30
30
|
return filter(l);
|
|
31
|
-
} catch
|
|
31
|
+
} catch {
|
|
32
32
|
if (!filter) {
|
|
33
33
|
throw new SkippedEvalError('Cannot apply an unsupported filter', exp);
|
|
34
34
|
}
|
|
@@ -46,7 +46,7 @@ const operators: Record<string, WithFilter | NoFilter | DotOperator> = {
|
|
|
46
46
|
const {name, args} = parsed;
|
|
47
47
|
|
|
48
48
|
return l[name](...args);
|
|
49
|
-
} catch
|
|
49
|
+
} catch {
|
|
50
50
|
if (!l) {
|
|
51
51
|
throw new SkippedEvalError(
|
|
52
52
|
`Cannot apply the function '${name}' on an undefined variable`,
|
|
@@ -5,7 +5,7 @@ import {TOKEN_NAME, renderTokens, replaceTokens} from './block-anchor';
|
|
|
5
5
|
const blockAnchor = (md: MarkdownIt) => {
|
|
6
6
|
try {
|
|
7
7
|
md.core.ruler.before('curly_attributes', TOKEN_NAME, replaceTokens);
|
|
8
|
-
} catch
|
|
8
|
+
} catch {
|
|
9
9
|
md.core.ruler.push(TOKEN_NAME, replaceTokens);
|
|
10
10
|
}
|
|
11
11
|
md.renderer.rules[TOKEN_NAME] = renderTokens;
|
|
@@ -15,12 +15,20 @@ export const CheckboxTokenType = {
|
|
|
15
15
|
CheckboxLabelClose: 'checkbox_label_close',
|
|
16
16
|
} as const;
|
|
17
17
|
|
|
18
|
+
type ParsedCheckbox = {
|
|
19
|
+
tokens: Token[];
|
|
20
|
+
startLine: number;
|
|
21
|
+
endLine: number;
|
|
22
|
+
checked: boolean;
|
|
23
|
+
};
|
|
24
|
+
|
|
18
25
|
function matchOpenToken(tokens: Token[], i: number) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
if (tokens[i].type !== 'paragraph_open' || tokens[i + 1].type !== 'inline') {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const firstInline = tokens[i + 1].children?.[0];
|
|
31
|
+
return firstInline?.type === 'text' && pattern.test(firstInline.content);
|
|
24
32
|
}
|
|
25
33
|
|
|
26
34
|
export type CheckboxOptions = {
|
|
@@ -39,16 +47,16 @@ export const checkboxReplace = function (_md: MarkdownIt, opts?: CheckboxOptions
|
|
|
39
47
|
};
|
|
40
48
|
const options = Object.assign(defaults, opts);
|
|
41
49
|
|
|
42
|
-
const createTokens = function (state: StateCore,
|
|
50
|
+
const createTokens = function (state: StateCore, checkbox: ParsedCheckbox): Token[] {
|
|
43
51
|
let token: Token;
|
|
44
|
-
const nodes = [];
|
|
52
|
+
const nodes: Token[] = [];
|
|
45
53
|
|
|
46
54
|
/**
|
|
47
55
|
* <div class="checkbox">
|
|
48
56
|
*/
|
|
49
57
|
token = new state.Token(CheckboxTokenType.CheckboxOpen, 'div', 1);
|
|
50
58
|
token.block = true;
|
|
51
|
-
token.map =
|
|
59
|
+
token.map = [checkbox.startLine, checkbox.endLine];
|
|
52
60
|
token.attrs = [['class', options.divClass]];
|
|
53
61
|
nodes.push(token);
|
|
54
62
|
|
|
@@ -59,7 +67,7 @@ export const checkboxReplace = function (_md: MarkdownIt, opts?: CheckboxOptions
|
|
|
59
67
|
lastId += 1;
|
|
60
68
|
token = new state.Token(CheckboxTokenType.CheckboxInput, 'input', 0);
|
|
61
69
|
token.block = true;
|
|
62
|
-
token.map =
|
|
70
|
+
token.map = [checkbox.startLine, checkbox.endLine];
|
|
63
71
|
token.attrs = [
|
|
64
72
|
['type', 'checkbox'],
|
|
65
73
|
['id', id],
|
|
@@ -67,7 +75,7 @@ export const checkboxReplace = function (_md: MarkdownIt, opts?: CheckboxOptions
|
|
|
67
75
|
if (options.disabled) {
|
|
68
76
|
token.attrSet('disabled', '');
|
|
69
77
|
}
|
|
70
|
-
if (checked === true) {
|
|
78
|
+
if (checkbox.checked === true) {
|
|
71
79
|
token.attrSet('checked', 'true');
|
|
72
80
|
}
|
|
73
81
|
nodes.push(token);
|
|
@@ -82,41 +90,111 @@ export const checkboxReplace = function (_md: MarkdownIt, opts?: CheckboxOptions
|
|
|
82
90
|
/**
|
|
83
91
|
* content of label tag
|
|
84
92
|
*/
|
|
85
|
-
|
|
86
|
-
nodes.push(token);
|
|
93
|
+
nodes.push(...checkbox.tokens);
|
|
87
94
|
|
|
88
95
|
/**
|
|
89
96
|
* closing tags
|
|
90
97
|
*/
|
|
91
98
|
token = new state.Token(CheckboxTokenType.CheckboxLabelClose, 'label', -1);
|
|
92
99
|
token.block = true;
|
|
93
|
-
token.map =
|
|
100
|
+
token.map = [checkbox.startLine, checkbox.endLine];
|
|
94
101
|
nodes.push(token);
|
|
95
102
|
token = new state.Token(CheckboxTokenType.CheckboxClose, 'div', -1);
|
|
96
103
|
token.block = true;
|
|
97
|
-
token.map =
|
|
104
|
+
token.map = [checkbox.startLine, checkbox.endLine];
|
|
98
105
|
nodes.push(token);
|
|
99
106
|
|
|
100
107
|
return nodes;
|
|
101
108
|
};
|
|
102
|
-
const splitTextToken = function (state: StateCore, matches: RegExpMatchArray, i: number) {
|
|
103
|
-
let checked = false;
|
|
104
|
-
const value = matches[1];
|
|
105
|
-
const label = matches[2];
|
|
106
|
-
if (value === 'X' || value === 'x') {
|
|
107
|
-
checked = true;
|
|
108
|
-
}
|
|
109
|
-
return createTokens(state, checked, label, i);
|
|
110
|
-
};
|
|
111
109
|
return function (state) {
|
|
112
110
|
const blockTokens = state.tokens;
|
|
113
111
|
for (let i = 0; i < blockTokens.length; i++) {
|
|
114
|
-
|
|
115
|
-
if (!match) {
|
|
112
|
+
if (!matchOpenToken(blockTokens, i)) {
|
|
116
113
|
continue;
|
|
117
114
|
}
|
|
118
115
|
|
|
119
|
-
|
|
116
|
+
const pToken = blockTokens[i];
|
|
117
|
+
const startLine = pToken.map?.[0] ?? NaN;
|
|
118
|
+
|
|
119
|
+
const checkboxes = parseInlineContent(blockTokens[i + 1], startLine);
|
|
120
|
+
|
|
121
|
+
const checkboxTokens: Token[] = [];
|
|
122
|
+
for (const checkbox of checkboxes) {
|
|
123
|
+
const first = checkbox.tokens[0];
|
|
124
|
+
// remove checkbox markup [X]␣ at start of text content
|
|
125
|
+
first.content = first.content.slice(4);
|
|
126
|
+
checkboxTokens.push(...createTokens(state, checkbox));
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// replace paragraph tokens with checkbox tokens
|
|
130
|
+
if (checkboxTokens.length > 0) {
|
|
131
|
+
blockTokens.splice(i, 3, ...checkboxTokens);
|
|
132
|
+
i += checkboxTokens.length - 1;
|
|
133
|
+
}
|
|
120
134
|
}
|
|
121
135
|
};
|
|
122
136
|
};
|
|
137
|
+
|
|
138
|
+
function parseInlineContent(inlineToken: Token, startLine: number): ParsedCheckbox[] {
|
|
139
|
+
const children = inlineToken.children || [];
|
|
140
|
+
const lines = splitInlineTokensByBreaks(children);
|
|
141
|
+
return parseCheckboxesByLines(lines, startLine);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function splitInlineTokensByBreaks(tokens: Token[]): Token[][] {
|
|
145
|
+
const lines: Token[][] = [];
|
|
146
|
+
let lineIdx = 0;
|
|
147
|
+
for (const token of tokens) {
|
|
148
|
+
lines[lineIdx] ||= [];
|
|
149
|
+
lines[lineIdx].push(token);
|
|
150
|
+
|
|
151
|
+
if (isBreakToken(token)) {
|
|
152
|
+
lineIdx += 1;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return lines;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function parseCheckboxesByLines(lines: Token[][], startLine: number): ParsedCheckbox[] {
|
|
160
|
+
const checkboxes: ParsedCheckbox[] = [];
|
|
161
|
+
|
|
162
|
+
let checkboxIdx = -1;
|
|
163
|
+
for (let lineIdx = 0; lineIdx < lines.length; lineIdx++) {
|
|
164
|
+
const line = lines[lineIdx];
|
|
165
|
+
const first = line?.[0];
|
|
166
|
+
if (!first) {
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
let match;
|
|
171
|
+
if (first.type === 'text' && (match = first.content.match(pattern))) {
|
|
172
|
+
const prevLastToken = checkboxes[checkboxIdx]?.tokens.at(-1);
|
|
173
|
+
if (prevLastToken && isBreakToken(prevLastToken)) {
|
|
174
|
+
// remove hanging line breaks
|
|
175
|
+
checkboxes[checkboxIdx].tokens.splice(-1);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
checkboxIdx += 1;
|
|
179
|
+
checkboxes[checkboxIdx] ||= {
|
|
180
|
+
tokens: [],
|
|
181
|
+
checked: isChecked(match[1]),
|
|
182
|
+
startLine: startLine + lineIdx,
|
|
183
|
+
endLine: startLine + lineIdx + 1,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
checkboxes[checkboxIdx].tokens.push(...line);
|
|
188
|
+
checkboxes[checkboxIdx].endLine = startLine + lineIdx + 1;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
return checkboxes;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
function isChecked(value: string): boolean {
|
|
195
|
+
return value === 'X' || value === 'x';
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
function isBreakToken(token: Token): boolean {
|
|
199
|
+
return token.type === 'softbreak' || token.type === 'hardbreak';
|
|
200
|
+
}
|