@podlite/schema 0.0.33 → 0.0.35
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.podlite +142 -0
- package/esm/blocks-helpers.d.ts +1 -1
- package/esm/blocks-helpers.js +2 -2
- package/esm/blocks-helpers.js.map +1 -1
- package/esm/exportHtml.js +11 -5
- package/esm/exportHtml.js.map +1 -1
- package/esm/exportMarkdown.d.ts +15 -0
- package/esm/exportMarkdown.js +341 -0
- package/esm/exportMarkdown.js.map +1 -0
- package/esm/grammar.js +3 -3
- package/esm/grammar.js.map +1 -1
- package/esm/grammarfc.js +2 -2
- package/esm/index.d.ts +2 -0
- package/esm/index.js +24 -0
- package/esm/index.js.map +1 -1
- package/esm/pluggableParser.d.ts +1 -0
- package/esm/pluggableParser.js +5 -0
- package/esm/pluggableParser.js.map +1 -1
- package/esm/plugin-group-items.js +8 -5
- package/esm/plugin-group-items.js.map +1 -1
- package/esm/plugin-items.js +23 -0
- package/esm/plugin-items.js.map +1 -1
- package/esm/types.d.ts +2 -0
- package/esm/writerMarkdown.d.ts +11 -0
- package/esm/writerMarkdown.js +20 -0
- package/esm/writerMarkdown.js.map +1 -0
- package/lib/blocks-helpers.d.ts +1 -1
- package/lib/blocks-helpers.js +2 -2
- package/lib/exportHtml.js +11 -5
- package/lib/exportMarkdown.d.ts +15 -0
- package/lib/exportMarkdown.js +346 -0
- package/lib/grammar.js +3 -3
- package/lib/grammarfc.js +2 -2
- package/lib/index.d.ts +2 -0
- package/lib/index.js +27 -1
- package/lib/pluggableParser.d.ts +1 -0
- package/lib/pluggableParser.js +5 -0
- package/lib/plugin-group-items.js +8 -5
- package/lib/plugin-items.js +23 -0
- package/lib/types.d.ts +2 -0
- package/lib/writerMarkdown.d.ts +11 -0
- package/lib/writerMarkdown.js +25 -0
- package/package.json +23 -8
- package/schema/AstTree.json +12 -0
- package/schema/PodliteDocument.json +12 -0
- package/CHANGELOG.md +0 -126
package/esm/grammarfc.js
CHANGED
package/esm/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export { podlitePluggable, Podlite, PodliteExport, cleanIds, frozenIds } from '.
|
|
|
17
17
|
export declare function toAst(): {};
|
|
18
18
|
export declare type SchemaValidationError = ErrorObject<string, Record<string, any>>;
|
|
19
19
|
export declare function getTextContentFromNode(node: PodNode): string;
|
|
20
|
+
export declare function getPodContentFromNode(node: PodNode): string;
|
|
20
21
|
export declare function validatePodliteAst(data: unknown): SchemaValidationError[];
|
|
21
22
|
export declare function validateAstTree(data: unknown): SchemaValidationError[];
|
|
22
23
|
export declare function validateAst(data: unknown, Name?: string): SchemaValidationError[];
|
|
@@ -75,6 +76,7 @@ export { makeTree as toTree };
|
|
|
75
76
|
declare const parse: Function;
|
|
76
77
|
export { parse as parse };
|
|
77
78
|
export { default as toHtml } from './exportHtml';
|
|
79
|
+
export { default as toMarkdown } from './exportMarkdown';
|
|
78
80
|
export { default as Writer } from './writer';
|
|
79
81
|
declare const VERSION: any;
|
|
80
82
|
export { VERSION as version };
|
package/esm/index.js
CHANGED
|
@@ -41,6 +41,29 @@ export function getTextContentFromNode(node) {
|
|
|
41
41
|
const res = transformer(node, {});
|
|
42
42
|
return text;
|
|
43
43
|
}
|
|
44
|
+
export function getPodContentFromNode(node) {
|
|
45
|
+
let text = '';
|
|
46
|
+
const rules = {
|
|
47
|
+
'*': (node, ctx, visiter) => {
|
|
48
|
+
if (node.type === 'blankline') {
|
|
49
|
+
text += '\n';
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (node.text) {
|
|
53
|
+
text += node.text;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
text += `=${node.name} `;
|
|
57
|
+
if ('content' in node) {
|
|
58
|
+
visiter(node.content, ctx);
|
|
59
|
+
}
|
|
60
|
+
return node;
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
const transformer = makeInterator(rules);
|
|
64
|
+
const res = transformer(node, {});
|
|
65
|
+
return text;
|
|
66
|
+
}
|
|
44
67
|
export function validatePodliteAst(data) {
|
|
45
68
|
return validateAst(data, 'PodliteDocument');
|
|
46
69
|
}
|
|
@@ -115,6 +138,7 @@ export { makeTree as toTree };
|
|
|
115
138
|
const parse = makeTree().parse;
|
|
116
139
|
export { parse as parse };
|
|
117
140
|
export { default as toHtml } from './exportHtml';
|
|
141
|
+
export { default as toMarkdown } from './exportMarkdown';
|
|
118
142
|
export { default as Writer } from './writer';
|
|
119
143
|
// Cannot be `import` as it's not under TS root dir
|
|
120
144
|
// https://stackoverflow.com/questions/51070138/how-to-import-package-json-into-typescript-file-without-including-it-in-the-comp
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/pluggableParser.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export interface Podlite {
|
|
|
18
18
|
use: (plugin: Plugins) => Podlite;
|
|
19
19
|
parse: (text: string, opt?: parseOpt) => PodliteDocument;
|
|
20
20
|
toHtml: (ast: PodliteDocument) => PodliteExport;
|
|
21
|
+
toMarkdown: (ast: PodliteDocument) => PodliteExport;
|
|
21
22
|
toAst: (ast: PodliteDocument) => PodliteDocument;
|
|
22
23
|
getPlugins: () => Array<Plugins>;
|
|
23
24
|
}
|
package/esm/pluggableParser.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { mkRootBlock, toAny, toAnyRules, toHtml, toTree } from '.';
|
|
2
|
+
import toMarkdown from './exportMarkdown';
|
|
2
3
|
import idMiddleware from './helpers/ids';
|
|
3
4
|
import core from './helpers/corePlugins';
|
|
4
5
|
export { cleanIds, frozenIds } from './helpers/ids';
|
|
@@ -61,6 +62,10 @@ export const podlitePluggable = ({ plugins = {} } = {}) => {
|
|
|
61
62
|
const toHtmlPlugins = toAnyRules('toHtml', instance.getPlugins());
|
|
62
63
|
return toHtml({}).use(toHtmlPlugins).run(ast, null);
|
|
63
64
|
};
|
|
65
|
+
instance.toMarkdown = ast => {
|
|
66
|
+
const toMarkdownPlugins = toAnyRules('toMarkdown', instance.getPlugins());
|
|
67
|
+
return toMarkdown({}).use(toMarkdownPlugins).run(ast, null);
|
|
68
|
+
};
|
|
64
69
|
instance.getPlugins = () => _plugins;
|
|
65
70
|
// init core plugins
|
|
66
71
|
instance.use(core);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluggableParser.js","sourceRoot":"","sources":["../src/pluggableParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,WAAW,EAAY,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,CAAA;AACtG,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,IAAI,MAAM,uBAAuB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"pluggableParser.js","sourceRoot":"","sources":["../src/pluggableParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,10 @@ export default () => tree => {
|
|
|
5
5
|
(n1.name === 'item' || n1.name === 'defn') &&
|
|
6
6
|
n2.name === n1.name &&
|
|
7
7
|
n1['level'] === n2.level &&
|
|
8
|
-
isNumbered(n1) === isNumbered(n2)
|
|
8
|
+
isNumbered(n1) === isNumbered(n2) &&
|
|
9
|
+
isChecked(n1) === isChecked(n2);
|
|
9
10
|
const isNumbered = node => Boolean(makeAttrs(node, {}).exists('numbered'));
|
|
11
|
+
const isChecked = node => node.checked !== undefined;
|
|
10
12
|
const group = (a, level = 1) => {
|
|
11
13
|
const isInListMode = a => {
|
|
12
14
|
return a.length > 0 && a[a.length - 1].type === 'list';
|
|
@@ -27,14 +29,15 @@ export default () => tree => {
|
|
|
27
29
|
(!isInListMode(a) ||
|
|
28
30
|
// different type of list and item
|
|
29
31
|
// at the same level
|
|
30
|
-
(i.level === level &&
|
|
32
|
+
(Number(i.level) === level &&
|
|
33
|
+
getList(a).list !== (isNumbered(i) ? 'ordered' : isChecked(i) ? 'task' : 'itemized')))) {
|
|
31
34
|
// create empty list
|
|
32
35
|
// list = ['ordered', 'variable', 'itemized']
|
|
33
36
|
a.push({
|
|
34
37
|
type: 'list',
|
|
35
38
|
level: i.level,
|
|
36
39
|
content: [],
|
|
37
|
-
list: isNumbered(i) ? 'ordered' : 'itemized',
|
|
40
|
+
list: isNumbered(i) ? 'ordered' : isChecked(i) ? 'task' : 'itemized',
|
|
38
41
|
});
|
|
39
42
|
}
|
|
40
43
|
// main logic
|
|
@@ -52,12 +55,12 @@ export default () => tree => {
|
|
|
52
55
|
* { type = 'list',
|
|
53
56
|
* ordered = [true, false]
|
|
54
57
|
* content = [ .... ]
|
|
55
|
-
* list = ['ordered', 'variable', 'itemized']
|
|
58
|
+
* list = ['ordered', 'variable', 'task', 'itemized']
|
|
56
59
|
*/
|
|
57
60
|
return result.map(item => {
|
|
58
61
|
// process any item with content ( except formatting codes)
|
|
59
62
|
if (item.content && item.type !== 'fcode') {
|
|
60
|
-
item.content = group(item.content, item.level + 1);
|
|
63
|
+
item.content = group(item.content, Number(item.level || 0) + 1);
|
|
61
64
|
}
|
|
62
65
|
return item;
|
|
63
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-group-items.js","sourceRoot":"","sources":["../src/plugin-group-items.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,eAAe,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;IAC1B,MAAM,YAAY,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC9B,iBAAiB;IACjB,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;QAC1C,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI;QACnB,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK;QACxB,UAAU,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin-group-items.js","sourceRoot":"","sources":["../src/plugin-group-items.ts"],"names":[],"mappings":"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"}
|
package/esm/plugin-items.js
CHANGED
|
@@ -11,9 +11,32 @@ export default () => tree => {
|
|
|
11
11
|
if (matchItem) {
|
|
12
12
|
node.name = 'item';
|
|
13
13
|
node.level = matchItem[1] || 1;
|
|
14
|
+
// Check :checked / :!checked config attribute
|
|
15
|
+
const checkedConfig = (node.config || []).find(c => c.name === 'checked');
|
|
16
|
+
if (checkedConfig) {
|
|
17
|
+
node.checked = checkedConfig.value !== false && checkedConfig.value !== 0 && checkedConfig.value !== '0';
|
|
18
|
+
}
|
|
14
19
|
if (node.content[0]) {
|
|
15
20
|
const startText = node.content[0];
|
|
16
21
|
if (startText.text) {
|
|
22
|
+
// Check for checkbox syntax [x] or [ ] at start of text
|
|
23
|
+
if (!checkedConfig) {
|
|
24
|
+
const checkboxRe = /^\[( |x)\]\s*/;
|
|
25
|
+
const checkboxMatch = checkboxRe.exec(startText.text);
|
|
26
|
+
if (checkboxMatch) {
|
|
27
|
+
node.checked = checkboxMatch[1] === 'x';
|
|
28
|
+
startText.text = startText.text.replace(checkboxRe, '');
|
|
29
|
+
if (startText.type === 'para') {
|
|
30
|
+
startText.content = [startText.text];
|
|
31
|
+
}
|
|
32
|
+
node.config = node.config || [];
|
|
33
|
+
node.config.push({
|
|
34
|
+
name: 'checked',
|
|
35
|
+
value: node.checked,
|
|
36
|
+
type: 'boolean',
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
17
40
|
let re = /^(\s*#\s*)/;
|
|
18
41
|
const match = re.exec(startText.text);
|
|
19
42
|
if (match) {
|
package/esm/plugin-items.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-items.js","sourceRoot":"","sources":["../src/plugin-items.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;IAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACf,KAAK,CAAC,CAAC,CAAC,CAAA;YACV,CAAC,CAAC,CAAA;SACH;aAAM;YACL,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBACjC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/C,IAAI,SAAS,EAAE;oBACb,IAAI,CAAC,IAAI,GAAG,MAAM,CAAA;oBAClB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin-items.js","sourceRoot":"","sources":["../src/plugin-items.ts"],"names":[],"mappings":"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"}
|
package/esm/types.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ export interface Image {
|
|
|
100
100
|
export interface Toc {
|
|
101
101
|
type: 'toc';
|
|
102
102
|
title?: string;
|
|
103
|
+
foldedLevels?: Record<number, boolean>;
|
|
103
104
|
content: TocList;
|
|
104
105
|
}
|
|
105
106
|
export interface TocList {
|
|
@@ -304,6 +305,7 @@ export interface BlockItem extends Block {
|
|
|
304
305
|
name: 'item';
|
|
305
306
|
content: Array<Node>;
|
|
306
307
|
level: string | number;
|
|
308
|
+
checked?: boolean;
|
|
307
309
|
}
|
|
308
310
|
export interface BlockOutput extends Block {
|
|
309
311
|
name: 'output';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown writer
|
|
3
|
+
*/
|
|
4
|
+
import Writer from './writer';
|
|
5
|
+
declare class WriterMarkdown extends Writer {
|
|
6
|
+
constructor(output?: any);
|
|
7
|
+
escape(string: any): string;
|
|
8
|
+
_add_nesting(n: any): void;
|
|
9
|
+
_remove_nesting(n: any): void;
|
|
10
|
+
}
|
|
11
|
+
export default WriterMarkdown;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markdown writer
|
|
3
|
+
*/
|
|
4
|
+
import Writer from './writer';
|
|
5
|
+
class WriterMarkdown extends Writer {
|
|
6
|
+
constructor(output) {
|
|
7
|
+
super(output);
|
|
8
|
+
}
|
|
9
|
+
escape(string) {
|
|
10
|
+
return (string + '').replace(/([\\`*_\[\]#|])/g, '\\$1');
|
|
11
|
+
}
|
|
12
|
+
_add_nesting(n) {
|
|
13
|
+
this.writeRaw('> '.repeat(n));
|
|
14
|
+
}
|
|
15
|
+
_remove_nesting(n) {
|
|
16
|
+
// no closing tag needed for Markdown blockquotes
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export default WriterMarkdown;
|
|
20
|
+
//# sourceMappingURL=writerMarkdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writerMarkdown.js","sourceRoot":"","sources":["../src/writerMarkdown.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,UAAU,CAAA;AAE7B,MAAM,cAAe,SAAQ,MAAM;IACjC,YAAY,MAAO;QACjB,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IACD,MAAM,CAAC,MAAM;QACX,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;IAC1D,CAAC;IAED,YAAY,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IACD,eAAe,CAAC,CAAC;QACf,iDAAiD;IACnD,CAAC;CACF;AACD,eAAe,cAAc,CAAA"}
|
package/lib/blocks-helpers.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare const mkVerbatim: (text: any) => {
|
|
|
17
17
|
type: string;
|
|
18
18
|
value: any;
|
|
19
19
|
};
|
|
20
|
-
export declare const mkToc: (content: TocList, title?: string, location?: Location) => Toc;
|
|
20
|
+
export declare const mkToc: (content: TocList, title?: string, location?: Location, foldedLevels?: Record<number, boolean>) => Toc;
|
|
21
21
|
export declare const mkTocList: (content: Array<TocItem | TocList>, level: number) => TocList;
|
|
22
22
|
export declare const mkTocItem: (content: PodNode) => TocItem;
|
|
23
23
|
export declare const mkCaption: (content: Array<Node>) => BlockCaption;
|
package/lib/blocks-helpers.js
CHANGED
|
@@ -46,8 +46,8 @@ const mkVerbatim = text => {
|
|
|
46
46
|
};
|
|
47
47
|
exports.mkVerbatim = mkVerbatim;
|
|
48
48
|
// Table of contents helpers
|
|
49
|
-
const mkToc = (content, title, location) => {
|
|
50
|
-
return (0, exports.mkNode)({ type: 'toc', title, content, location });
|
|
49
|
+
const mkToc = (content, title, location, foldedLevels) => {
|
|
50
|
+
return (0, exports.mkNode)({ type: 'toc', title, content, location, ...(foldedLevels ? { foldedLevels } : {}) });
|
|
51
51
|
};
|
|
52
52
|
exports.mkToc = mkToc;
|
|
53
53
|
const mkTocList = (content, level) => {
|
package/lib/exportHtml.js
CHANGED
|
@@ -192,16 +192,22 @@ const rules = {
|
|
|
192
192
|
? (0, handlers_1.wrapContent)('<ol>', '</ol>')
|
|
193
193
|
: node.list === 'variable'
|
|
194
194
|
? (0, handlers_1.wrapContent)('<dl>', '</dl>')
|
|
195
|
-
:
|
|
195
|
+
: node.list === 'task'
|
|
196
|
+
? (0, handlers_1.wrapContent)('<ul class="task-list">', '</ul>')
|
|
197
|
+
: (0, handlers_1.wrapContent)('<ul>', '</ul>')),
|
|
196
198
|
'item:block': (writer, processor) => (node, ctx, interator) => {
|
|
197
199
|
// make text from first para
|
|
198
200
|
if (!(node.content instanceof Array)) {
|
|
199
201
|
console.error('[pod6] item:block : Error in content of ' + JSON.stringify(node));
|
|
200
202
|
}
|
|
201
|
-
const
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
const isTask = node.checked !== undefined;
|
|
204
|
+
if (isTask) {
|
|
205
|
+
writer.writeRaw('<li class="task-list-item">');
|
|
206
|
+
writer.writeRaw(node.checked ? '<input type="checkbox" disabled checked> ' : '<input type="checkbox" disabled> ');
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
writer.writeRaw('<li>');
|
|
210
|
+
}
|
|
205
211
|
interator(node.content, ctx);
|
|
206
212
|
writer.writeRaw('</li>');
|
|
207
213
|
},
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare const toMarkdown: (opt: any) => {
|
|
2
|
+
(root: any): void;
|
|
3
|
+
use: (key: any, fn?: any) => any;
|
|
4
|
+
run: (src: any, opt_writer?: any) => {
|
|
5
|
+
errors: any;
|
|
6
|
+
toString: () => string;
|
|
7
|
+
valueOf: () => string;
|
|
8
|
+
indexingTerms: any;
|
|
9
|
+
annotations: any;
|
|
10
|
+
defenitions: any;
|
|
11
|
+
interator: any;
|
|
12
|
+
};
|
|
13
|
+
getPlugins(): any[];
|
|
14
|
+
};
|
|
15
|
+
export default toMarkdown;
|