@podlite/schema 0.0.16 → 0.0.17
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.md +5 -0
- package/esm/blocks-helpers.d.ts +2 -2
- package/esm/blocks-helpers.js.map +1 -1
- package/esm/helpers/ids.d.ts +5 -0
- package/esm/helpers/ids.js +26 -2
- package/esm/helpers/ids.js.map +1 -1
- package/esm/types.d.ts +1 -1
- package/lib/blocks-helpers.d.ts +2 -2
- package/lib/helpers/ids.d.ts +5 -0
- package/lib/helpers/ids.js +30 -4
- package/lib/types.d.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/esm/blocks-helpers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AstTree, BlockCaption, BlockItem, Location, PodNode, RootBlock, Toc, TocItem, TocList, Node, Image } from './types';
|
|
1
|
+
import { AstTree, BlockCaption, BlockItem, Location, PodNode, RootBlock, Toc, TocItem, TocList, Node, Image, FormattingCodeL } from './types';
|
|
2
2
|
export declare const mkNode: <P extends Record<string, any>>(attr: P) => P;
|
|
3
3
|
export declare const filterNulls: (content: any) => any[];
|
|
4
4
|
export declare const mkBlock: (attrs: any, content: any) => any;
|
|
@@ -6,7 +6,7 @@ export declare const mkBlankline: () => {
|
|
|
6
6
|
type: string;
|
|
7
7
|
};
|
|
8
8
|
export declare const mkFomattingCode: (attrs: any, content: any) => any;
|
|
9
|
-
export declare const mkFomattingCodeL: (attrs: any, content: any) =>
|
|
9
|
+
export declare const mkFomattingCodeL: (attrs: any, content: any) => FormattingCodeL;
|
|
10
10
|
export declare const mkFomattingCodeDelete: (content: any) => {
|
|
11
11
|
type: string;
|
|
12
12
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks-helpers.js","sourceRoot":"","sources":["../src/blocks-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blocks-helpers.js","sourceRoot":"","sources":["../src/blocks-helpers.ts"],"names":[],"mappings":"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"}
|
package/esm/helpers/ids.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const cleanIds: (src?: {
|
|
|
7
7
|
skipChain: number;
|
|
8
8
|
podMode: number;
|
|
9
9
|
}) => (tree: any) => any;
|
|
10
|
+
export declare const slugifyText: (text: string) => string;
|
|
10
11
|
/**
|
|
11
12
|
* Add set id to 'id' to each blocks
|
|
12
13
|
*/
|
|
@@ -14,5 +15,9 @@ export declare const frozenIds: (src?: {
|
|
|
14
15
|
skipChain: number;
|
|
15
16
|
podMode: number;
|
|
16
17
|
}) => (tree: any) => any;
|
|
18
|
+
export declare const cleanLocalHrefs: (src?: {
|
|
19
|
+
skipChain: number;
|
|
20
|
+
podMode: number;
|
|
21
|
+
}) => (tree: any) => any;
|
|
17
22
|
declare const middleware: ParserPlugin;
|
|
18
23
|
export default middleware;
|
package/esm/helpers/ids.js
CHANGED
|
@@ -19,18 +19,42 @@ export const cleanIds = (src = { skipChain: 0, podMode: 1 }) => tree => {
|
|
|
19
19
|
});
|
|
20
20
|
return transformerBlocks(tree, {});
|
|
21
21
|
};
|
|
22
|
+
// TODO: refactor linking for blocks
|
|
23
|
+
export const slugifyText = (text) => {
|
|
24
|
+
// https://github.com/microsoft/vscode/blob/master/extensions/markdown-language-features/src/slugify.ts
|
|
25
|
+
return text.trim()
|
|
26
|
+
// .toLowerCase()
|
|
27
|
+
.replace(/\s+/g, '-')
|
|
28
|
+
.replace(/[\]\[\!\/\'\"\#\$\%\&\(\)\*\+\,\.\/\:\;\<\=\>\?\@\\\^\{\|\}\~\`。,、;:?!…—·ˉ¨‘’“”々~‖∶"'`|〃〔〕〈〉《》「」『』.〖〗【】()[]{}]/g, '')
|
|
29
|
+
.replace(/^\-+/, '');
|
|
30
|
+
};
|
|
22
31
|
/**
|
|
23
32
|
* Add set id to 'id' to each blocks
|
|
24
33
|
*/
|
|
25
34
|
export const frozenIds = (src = { skipChain: 0, podMode: 1 }) => tree => {
|
|
26
35
|
const transformerBlocks = makeTransformer({
|
|
27
36
|
'*': (node, ctx, visiter) => {
|
|
37
|
+
if ('content' in node) {
|
|
38
|
+
node.content = visiter(node.content, ctx);
|
|
39
|
+
}
|
|
28
40
|
if ('id' in node) {
|
|
41
|
+
const { id, ...rest } = node;
|
|
42
|
+
return { ...rest, id: 'id' };
|
|
43
|
+
}
|
|
44
|
+
return node;
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
return transformerBlocks(tree, {});
|
|
48
|
+
};
|
|
49
|
+
export const cleanLocalHrefs = (src = { skipChain: 0, podMode: 1 }) => tree => {
|
|
50
|
+
const transformerBlocks = makeTransformer({
|
|
51
|
+
'L<>': (node, ctx, visiter) => {
|
|
52
|
+
if ('meta' in node) {
|
|
29
53
|
if ('content' in node) {
|
|
30
54
|
node.content = visiter(node.content, ctx);
|
|
31
55
|
}
|
|
32
56
|
const { id, ...rest } = node;
|
|
33
|
-
return { ...rest,
|
|
57
|
+
return { ...rest, meta: '#' };
|
|
34
58
|
}
|
|
35
59
|
return node;
|
|
36
60
|
},
|
|
@@ -46,7 +70,7 @@ const middleware = () => tree => {
|
|
|
46
70
|
return node;
|
|
47
71
|
}
|
|
48
72
|
else if (node.name == 'head') {
|
|
49
|
-
return { ...node, id: getTextContentFromNode(node)
|
|
73
|
+
return { ...node, id: slugifyText(getTextContentFromNode(node)) };
|
|
50
74
|
}
|
|
51
75
|
else {
|
|
52
76
|
return { ...node, id: nanoid() };
|
package/esm/helpers/ids.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/helpers/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,sBAAsB,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B;;;GAGG;AAEH,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CACvC,IAAI,CAAC,EAAE;IACL,MAAM,iBAAiB,GAAG,eAAe,CAAC;QACxC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YAC1B,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,IAAI,SAAS,IAAI,IAAI,EAAE;oBACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;iBAC1C;gBACD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;gBAC5B,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;aACnB;YACD,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAC,CAAA;IACF,OAAO,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AACpC,CAAC,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GACpB,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CACvC,IAAI,CAAC,EAAE;IACL,MAAM,iBAAiB,GAAG,eAAe,CAAC;QACxC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YAC1B,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,IAAI,SAAS,IAAI,IAAI,EAAE;oBACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;iBAC1C;gBACD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;gBAC5B,OAAO,EAAE,GAAG,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/helpers/ids.ts"],"names":[],"mappings":"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"}
|
package/esm/types.d.ts
CHANGED
|
@@ -333,7 +333,7 @@ export interface TableSeparator {
|
|
|
333
333
|
}
|
|
334
334
|
export declare type BlockAny = BlockNamed;
|
|
335
335
|
export interface BlockNamed extends Omit<Block, 'content'> {
|
|
336
|
-
name:
|
|
336
|
+
name: string;
|
|
337
337
|
content: [(Verbatim | Para | Code)?] | Array<Image | BlockCaption> | RootBlock;
|
|
338
338
|
}
|
|
339
339
|
export interface BlockDiagram extends Omit<BlockNamed, 'content'> {
|
package/lib/blocks-helpers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AstTree, BlockCaption, BlockItem, Location, PodNode, RootBlock, Toc, TocItem, TocList, Node, Image } from './types';
|
|
1
|
+
import { AstTree, BlockCaption, BlockItem, Location, PodNode, RootBlock, Toc, TocItem, TocList, Node, Image, FormattingCodeL } from './types';
|
|
2
2
|
export declare const mkNode: <P extends Record<string, any>>(attr: P) => P;
|
|
3
3
|
export declare const filterNulls: (content: any) => any[];
|
|
4
4
|
export declare const mkBlock: (attrs: any, content: any) => any;
|
|
@@ -6,7 +6,7 @@ export declare const mkBlankline: () => {
|
|
|
6
6
|
type: string;
|
|
7
7
|
};
|
|
8
8
|
export declare const mkFomattingCode: (attrs: any, content: any) => any;
|
|
9
|
-
export declare const mkFomattingCodeL: (attrs: any, content: any) =>
|
|
9
|
+
export declare const mkFomattingCodeL: (attrs: any, content: any) => FormattingCodeL;
|
|
10
10
|
export declare const mkFomattingCodeDelete: (content: any) => {
|
|
11
11
|
type: string;
|
|
12
12
|
name: string;
|
package/lib/helpers/ids.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const cleanIds: (src?: {
|
|
|
7
7
|
skipChain: number;
|
|
8
8
|
podMode: number;
|
|
9
9
|
}) => (tree: any) => any;
|
|
10
|
+
export declare const slugifyText: (text: string) => string;
|
|
10
11
|
/**
|
|
11
12
|
* Add set id to 'id' to each blocks
|
|
12
13
|
*/
|
|
@@ -14,5 +15,9 @@ export declare const frozenIds: (src?: {
|
|
|
14
15
|
skipChain: number;
|
|
15
16
|
podMode: number;
|
|
16
17
|
}) => (tree: any) => any;
|
|
18
|
+
export declare const cleanLocalHrefs: (src?: {
|
|
19
|
+
skipChain: number;
|
|
20
|
+
podMode: number;
|
|
21
|
+
}) => (tree: any) => any;
|
|
17
22
|
declare const middleware: ParserPlugin;
|
|
18
23
|
export default middleware;
|
package/lib/helpers/ids.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.frozenIds = exports.cleanIds = void 0;
|
|
3
|
+
exports.cleanLocalHrefs = exports.frozenIds = exports.slugifyText = exports.cleanIds = void 0;
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const nanoid_1 = require("nanoid");
|
|
6
6
|
/**
|
|
@@ -23,25 +23,51 @@ const cleanIds = (src = { skipChain: 0, podMode: 1 }) => tree => {
|
|
|
23
23
|
return transformerBlocks(tree, {});
|
|
24
24
|
};
|
|
25
25
|
exports.cleanIds = cleanIds;
|
|
26
|
+
// TODO: refactor linking for blocks
|
|
27
|
+
const slugifyText = (text) => {
|
|
28
|
+
// https://github.com/microsoft/vscode/blob/master/extensions/markdown-language-features/src/slugify.ts
|
|
29
|
+
return text.trim()
|
|
30
|
+
// .toLowerCase()
|
|
31
|
+
.replace(/\s+/g, '-')
|
|
32
|
+
.replace(/[\]\[\!\/\'\"\#\$\%\&\(\)\*\+\,\.\/\:\;\<\=\>\?\@\\\^\{\|\}\~\`。,、;:?!…—·ˉ¨‘’“”々~‖∶"'`|〃〔〕〈〉《》「」『』.〖〗【】()[]{}]/g, '')
|
|
33
|
+
.replace(/^\-+/, '');
|
|
34
|
+
};
|
|
35
|
+
exports.slugifyText = slugifyText;
|
|
26
36
|
/**
|
|
27
37
|
* Add set id to 'id' to each blocks
|
|
28
38
|
*/
|
|
29
39
|
const frozenIds = (src = { skipChain: 0, podMode: 1 }) => tree => {
|
|
30
40
|
const transformerBlocks = (0, __1.makeTransformer)({
|
|
31
41
|
'*': (node, ctx, visiter) => {
|
|
42
|
+
if ('content' in node) {
|
|
43
|
+
node.content = visiter(node.content, ctx);
|
|
44
|
+
}
|
|
32
45
|
if ('id' in node) {
|
|
46
|
+
const { id, ...rest } = node;
|
|
47
|
+
return { ...rest, id: 'id' };
|
|
48
|
+
}
|
|
49
|
+
return node;
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
return transformerBlocks(tree, {});
|
|
53
|
+
};
|
|
54
|
+
exports.frozenIds = frozenIds;
|
|
55
|
+
const cleanLocalHrefs = (src = { skipChain: 0, podMode: 1 }) => tree => {
|
|
56
|
+
const transformerBlocks = (0, __1.makeTransformer)({
|
|
57
|
+
'L<>': (node, ctx, visiter) => {
|
|
58
|
+
if ('meta' in node) {
|
|
33
59
|
if ('content' in node) {
|
|
34
60
|
node.content = visiter(node.content, ctx);
|
|
35
61
|
}
|
|
36
62
|
const { id, ...rest } = node;
|
|
37
|
-
return { ...rest,
|
|
63
|
+
return { ...rest, meta: '#' };
|
|
38
64
|
}
|
|
39
65
|
return node;
|
|
40
66
|
},
|
|
41
67
|
});
|
|
42
68
|
return transformerBlocks(tree, {});
|
|
43
69
|
};
|
|
44
|
-
exports.
|
|
70
|
+
exports.cleanLocalHrefs = cleanLocalHrefs;
|
|
45
71
|
const middleware = () => tree => {
|
|
46
72
|
const transformerBlocks = (0, __1.makeTransformer)({
|
|
47
73
|
'*': (node, ctx, visiter) => {
|
|
@@ -51,7 +77,7 @@ const middleware = () => tree => {
|
|
|
51
77
|
return node;
|
|
52
78
|
}
|
|
53
79
|
else if (node.name == 'head') {
|
|
54
|
-
return { ...node, id: (0, __1.getTextContentFromNode)(node)
|
|
80
|
+
return { ...node, id: (0, exports.slugifyText)((0, __1.getTextContentFromNode)(node)) };
|
|
55
81
|
}
|
|
56
82
|
else {
|
|
57
83
|
return { ...node, id: (0, nanoid_1.nanoid)() };
|
package/lib/types.d.ts
CHANGED
|
@@ -333,7 +333,7 @@ export interface TableSeparator {
|
|
|
333
333
|
}
|
|
334
334
|
export declare type BlockAny = BlockNamed;
|
|
335
335
|
export interface BlockNamed extends Omit<Block, 'content'> {
|
|
336
|
-
name:
|
|
336
|
+
name: string;
|
|
337
337
|
content: [(Verbatim | Para | Code)?] | Array<Image | BlockCaption> | RootBlock;
|
|
338
338
|
}
|
|
339
339
|
export interface BlockDiagram extends Omit<BlockNamed, 'content'> {
|