@diplodoc/transform 4.49.0 → 4.50.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/dist/css/_yfm-only.css.map +1 -1
- package/dist/css/_yfm-only.min.css.map +1 -1
- package/dist/css/base.css +71 -11
- package/dist/css/base.css.map +3 -3
- package/dist/css/base.min.css +1 -1
- package/dist/css/base.min.css.map +3 -3
- package/dist/css/print.css.map +1 -1
- package/dist/css/yfm.css +71 -11
- 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/lib/md.js +2 -0
- package/lib/md.js.map +1 -1
- package/lib/plugins/ol-attr-conversion.d.ts +2 -0
- package/lib/plugins/ol-attr-conversion.js +21 -0
- package/lib/plugins/ol-attr-conversion.js.map +1 -0
- package/package.json +1 -1
- package/src/scss/_common.scss +1 -18
- package/src/scss/_lists.scss +71 -0
- package/src/transform/md.ts +2 -0
- package/src/transform/plugins/ol-attr-conversion.ts +21 -0
package/lib/md.js
CHANGED
|
@@ -22,6 +22,7 @@ const highlight_1 = __importDefault(require("./highlight"));
|
|
|
22
22
|
const title_1 = __importDefault(require("./title"));
|
|
23
23
|
const headings_1 = __importDefault(require("./headings"));
|
|
24
24
|
const sanitize_1 = __importDefault(require("./sanitize"));
|
|
25
|
+
const ol_attr_conversion_1 = require("./plugins/ol-attr-conversion");
|
|
25
26
|
function initMarkdownIt(options) {
|
|
26
27
|
const { allowHTML = false, linkify = false, breaks = true, highlightLangs = {}, disableRules = [], } = options;
|
|
27
28
|
const highlight = (0, highlight_1.default)(highlightLangs);
|
|
@@ -70,6 +71,7 @@ function initPlugins(md, options, pluginOptions) {
|
|
|
70
71
|
const { linkify = false, linkifyTlds, leftDelimiter = '{', rightDelimiter = '}', plugins = plugins_1.default, } = options;
|
|
71
72
|
// Need for ids of headers
|
|
72
73
|
md.use(markdown_it_attrs_1.default, { leftDelimiter, rightDelimiter });
|
|
74
|
+
md.use(ol_attr_conversion_1.olAttrConversion);
|
|
73
75
|
plugins.forEach((plugin) => md.use(plugin, pluginOptions));
|
|
74
76
|
if (linkify && linkifyTlds) {
|
|
75
77
|
md.linkify.tlds(linkifyTlds, true);
|
package/lib/md.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"md.js","sourceRoot":"","sources":["../src/transform/md.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAGA,8DAA4C;AAC5C,0EAAsC;AAEtC,wDAAuC;AACvC,mDAA2C;AAC3C,+BAA0B;AAC1B,4DAAwC;AACxC,oDAAmC;AACnC,0DAAqC;AACrC,0DAAsC;
|
|
1
|
+
{"version":3,"file":"md.js","sourceRoot":"","sources":["../src/transform/md.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.olAttrConversion = void 0;
|
|
4
|
+
const cssWhitelist = {
|
|
5
|
+
'--hier-list-start': true,
|
|
6
|
+
};
|
|
7
|
+
const olAttrConversion = (md) => {
|
|
8
|
+
md.core.ruler.after('block', 'olAttrs', (state) => {
|
|
9
|
+
var _a;
|
|
10
|
+
state.tokens.forEach((token) => {
|
|
11
|
+
const maybeStart = token.attrGet('start');
|
|
12
|
+
if (token.type === 'ordered_list_open' && maybeStart) {
|
|
13
|
+
token.attrSet('style', `--hier-list-start: ${Number(maybeStart) - 1};`);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
(_a = state.env).additionalOptionsCssWhiteList || (_a.additionalOptionsCssWhiteList = {});
|
|
17
|
+
Object.assign(state.env.additionalOptionsCssWhiteList, cssWhitelist);
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
exports.olAttrConversion = olAttrConversion;
|
|
21
|
+
//# sourceMappingURL=ol-attr-conversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ol-attr-conversion.js","sourceRoot":"","sources":["../../src/transform/plugins/ol-attr-conversion.ts"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,GAAG;IACjB,mBAAmB,EAAE,IAAI;CAC5B,CAAC;AAEK,MAAM,gBAAgB,GAAuB,CAAC,EAAE,EAAE,EAAE;IACvD,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;;QAC9C,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,UAAU,EAAE;gBAClD,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC3E;QACL,CAAC,CAAC,CAAC;QAEH,MAAA,KAAK,CAAC,GAAG,EAAC,6BAA6B,QAA7B,6BAA6B,GAAK,EAAE,EAAC;QAE/C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B"}
|
package/package.json
CHANGED
package/src/scss/_common.scss
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
@import 'private';
|
|
4
4
|
@import 'brand';
|
|
5
|
+
@import 'lists';
|
|
5
6
|
|
|
6
7
|
@mixin removeMarginForEdgeChildren {
|
|
7
8
|
& > *:first-child {
|
|
@@ -303,24 +304,6 @@
|
|
|
303
304
|
margin-bottom: 0;
|
|
304
305
|
}
|
|
305
306
|
|
|
306
|
-
ol > li {
|
|
307
|
-
&::marker {
|
|
308
|
-
content: counter(list-item) '. ';
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
& > ol > li::marker {
|
|
312
|
-
content: counters(list-item, '.') '. ';
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
&.yfm_no-list-reset ol,
|
|
317
|
-
ol.yfm_no-list-reset {
|
|
318
|
-
// No direct ancestor (>) combinator to preserve legacy behavior
|
|
319
|
-
& > li::marker {
|
|
320
|
-
content: unset;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
|
|
324
307
|
li {
|
|
325
308
|
word-wrap: break-word;
|
|
326
309
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
@use 'sass:list';
|
|
2
|
+
@use 'sass:string';
|
|
3
|
+
|
|
4
|
+
@function get-counter-ident($depth) {
|
|
5
|
+
$ident: hier-list-item;
|
|
6
|
+
|
|
7
|
+
@for $i from 0 to $depth {
|
|
8
|
+
$ident: sub-#{$ident};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
@return $ident;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@function get-selector($depth) {
|
|
15
|
+
$selector: ol;
|
|
16
|
+
|
|
17
|
+
@for $i from 0 to $depth {
|
|
18
|
+
$selector: '#{$selector} > li > ol';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@return $selector;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@function get-marker-content($idents) {
|
|
25
|
+
$length: list.length($idents);
|
|
26
|
+
$content: '';
|
|
27
|
+
|
|
28
|
+
@for $i from 1 through $length {
|
|
29
|
+
@if $i > 1 {
|
|
30
|
+
$content: '#{$content} "."';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
$content: '#{$content} counter(#{list.nth($idents, $i)})';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@return #{$content} '. ';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@mixin hier-list($max-depth) {
|
|
40
|
+
$ident-path: ();
|
|
41
|
+
|
|
42
|
+
@for $i from 0 through $max-depth {
|
|
43
|
+
$ident: get-counter-ident($i);
|
|
44
|
+
$ident-path: list.append($ident-path, $ident);
|
|
45
|
+
|
|
46
|
+
& #{get-selector($i)} {
|
|
47
|
+
--hier-list-start: 0;
|
|
48
|
+
counter-reset: #{$ident} var(--hier-list-start);
|
|
49
|
+
|
|
50
|
+
& > li {
|
|
51
|
+
counter-increment: $ident;
|
|
52
|
+
|
|
53
|
+
&::marker {
|
|
54
|
+
content: get-marker-content($ident-path);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.yfm {
|
|
62
|
+
@include hier-list(5);
|
|
63
|
+
|
|
64
|
+
&.yfm_no-list-reset ol,
|
|
65
|
+
ol.yfm_no-list-reset {
|
|
66
|
+
// No direct ancestor (>) combinator to preserve legacy behavior
|
|
67
|
+
& > li::marker {
|
|
68
|
+
content: unset;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
package/src/transform/md.ts
CHANGED
|
@@ -11,6 +11,7 @@ import makeHighlight from './highlight';
|
|
|
11
11
|
import extractTitle from './title';
|
|
12
12
|
import getHeadings from './headings';
|
|
13
13
|
import sanitizeHtml from './sanitize';
|
|
14
|
+
import {olAttrConversion} from './plugins/ol-attr-conversion';
|
|
14
15
|
|
|
15
16
|
function initMarkdownIt(options: OptionsType) {
|
|
16
17
|
const {
|
|
@@ -98,6 +99,7 @@ function initPlugins(md: MarkdownIt, options: OptionsType, pluginOptions: Markdo
|
|
|
98
99
|
|
|
99
100
|
// Need for ids of headers
|
|
100
101
|
md.use(attrs, {leftDelimiter, rightDelimiter});
|
|
102
|
+
md.use(olAttrConversion);
|
|
101
103
|
|
|
102
104
|
plugins.forEach((plugin) => md.use(plugin, pluginOptions));
|
|
103
105
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {MarkdownItPluginCb} from '../typings';
|
|
2
|
+
|
|
3
|
+
const cssWhitelist = {
|
|
4
|
+
'--hier-list-start': true,
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export const olAttrConversion: MarkdownItPluginCb = (md) => {
|
|
8
|
+
md.core.ruler.after('block', 'olAttrs', (state) => {
|
|
9
|
+
state.tokens.forEach((token) => {
|
|
10
|
+
const maybeStart = token.attrGet('start');
|
|
11
|
+
|
|
12
|
+
if (token.type === 'ordered_list_open' && maybeStart) {
|
|
13
|
+
token.attrSet('style', `--hier-list-start: ${Number(maybeStart) - 1};`);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
state.env.additionalOptionsCssWhiteList ||= {};
|
|
18
|
+
|
|
19
|
+
Object.assign(state.env.additionalOptionsCssWhiteList, cssWhitelist);
|
|
20
|
+
});
|
|
21
|
+
};
|