@doist/typist 1.2.8 → 1.3.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.md +14 -2
- package/dist/constants/extension-priorities.d.ts +7 -1
- package/dist/constants/extension-priorities.d.ts.map +1 -1
- package/dist/constants/extension-priorities.js +7 -1
- package/dist/extensions/plain-text/plain-text-kit.d.ts +4 -0
- package/dist/extensions/plain-text/plain-text-kit.d.ts.map +1 -1
- package/dist/extensions/plain-text/plain-text-kit.js +5 -0
- package/dist/extensions/rich-text/rich-text-image.d.ts.map +1 -1
- package/dist/extensions/rich-text/rich-text-image.js +4 -0
- package/dist/extensions/rich-text/rich-text-kit.d.ts +4 -0
- package/dist/extensions/rich-text/rich-text-kit.d.ts.map +1 -1
- package/dist/extensions/rich-text/rich-text-kit.js +5 -0
- package/dist/extensions/shared/paste-html-table-as-string.d.ts +16 -0
- package/dist/extensions/shared/paste-html-table-as-string.d.ts.map +1 -0
- package/dist/extensions/shared/paste-html-table-as-string.js +64 -0
- package/dist/extensions/shared/paste-singleline-text.js +1 -1
- package/dist/helpers/unified.d.ts +11 -0
- package/dist/helpers/unified.d.ts.map +1 -0
- package/dist/helpers/unified.js +12 -0
- package/dist/serializers/html/html.d.ts +3 -10
- package/dist/serializers/html/html.d.ts.map +1 -1
- package/dist/serializers/html/html.js +66 -48
- package/dist/serializers/html/plugins/rehype-code-block.d.ts +10 -0
- package/dist/serializers/html/plugins/rehype-code-block.d.ts.map +1 -0
- package/dist/serializers/html/plugins/rehype-code-block.js +22 -0
- package/dist/serializers/html/plugins/rehype-image.d.ts +11 -0
- package/dist/serializers/html/plugins/rehype-image.d.ts.map +1 -0
- package/dist/serializers/html/plugins/rehype-image.js +34 -0
- package/dist/serializers/html/plugins/rehype-suggestions.d.ts +10 -0
- package/dist/serializers/html/plugins/rehype-suggestions.d.ts.map +1 -0
- package/dist/serializers/html/plugins/rehype-suggestions.js +36 -0
- package/dist/serializers/html/plugins/rehype-task-list.d.ts +7 -0
- package/dist/serializers/html/plugins/rehype-task-list.d.ts.map +1 -0
- package/dist/serializers/html/plugins/rehype-task-list.js +37 -0
- package/dist/serializers/html/plugins/remark-disable-constructs.d.ts +11 -0
- package/dist/serializers/html/plugins/remark-disable-constructs.d.ts.map +1 -0
- package/dist/serializers/html/plugins/remark-disable-constructs.js +48 -0
- package/dist/serializers/html/plugins/remark-strikethrough.d.ts +18 -0
- package/dist/serializers/html/plugins/remark-strikethrough.d.ts.map +1 -0
- package/dist/serializers/html/plugins/remark-strikethrough.js +26 -0
- package/package.json +37 -25
- package/dist/serializers/html/extensions/checkbox.d.ts +0 -8
- package/dist/serializers/html/extensions/checkbox.d.ts.map +0 -1
- package/dist/serializers/html/extensions/checkbox.js +0 -12
- package/dist/serializers/html/extensions/code.d.ts +0 -9
- package/dist/serializers/html/extensions/code.d.ts.map +0 -1
- package/dist/serializers/html/extensions/code.js +0 -20
- package/dist/serializers/html/extensions/disabled.d.ts +0 -13
- package/dist/serializers/html/extensions/disabled.d.ts.map +0 -1
- package/dist/serializers/html/extensions/disabled.js +0 -125
- package/dist/serializers/html/extensions/html.d.ts +0 -10
- package/dist/serializers/html/extensions/html.d.ts.map +0 -1
- package/dist/serializers/html/extensions/html.js +0 -15
- package/dist/serializers/html/extensions/link.d.ts +0 -11
- package/dist/serializers/html/extensions/link.d.ts.map +0 -1
- package/dist/serializers/html/extensions/link.js +0 -25
- package/dist/serializers/html/extensions/paragraph.d.ts +0 -12
- package/dist/serializers/html/extensions/paragraph.d.ts.map +0 -1
- package/dist/serializers/html/extensions/paragraph.js +0 -51
- package/dist/serializers/html/extensions/task-list.d.ts +0 -9
- package/dist/serializers/html/extensions/task-list.d.ts.map +0 -1
- package/dist/serializers/html/extensions/task-list.js +0 -31
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { marked } from 'marked';
|
|
2
|
-
import { parseHtmlToElement } from '../../../helpers/dom';
|
|
3
|
-
/**
|
|
4
|
-
* Initialize a new instance of the original renderer to be used by the extension.
|
|
5
|
-
*/
|
|
6
|
-
const markedRenderer = new marked.Renderer();
|
|
7
|
-
/**
|
|
8
|
-
* A Marked extension which tweaks the `paragraph` renderer to remove the surrounding `<p></p>` tag
|
|
9
|
-
* when it's wrapping an image element as a single child, or to remove all inline images if the
|
|
10
|
-
* editor was configured without inline image support (default).
|
|
11
|
-
*
|
|
12
|
-
* @param imageNode The node object for the schema image node.
|
|
13
|
-
*/
|
|
14
|
-
function paragraph(imageNode) {
|
|
15
|
-
const isInlineImageSupported = imageNode ? imageNode.spec.inline : false;
|
|
16
|
-
return {
|
|
17
|
-
renderer: {
|
|
18
|
-
paragraph(text) {
|
|
19
|
-
const renderedHTML = markedRenderer.paragraph.apply(this, [text]);
|
|
20
|
-
const { firstElementChild: renderedElement } = parseHtmlToElement(renderedHTML);
|
|
21
|
-
// Return the rendered HTML as a safeguard in the event that the rendered element
|
|
22
|
-
// does not exist (just in case, but highly unlikely to happen)
|
|
23
|
-
if (!renderedElement) {
|
|
24
|
-
return renderedHTML;
|
|
25
|
-
}
|
|
26
|
-
// Return the rendered element HTML if inline images are supported
|
|
27
|
-
if (isInlineImageSupported) {
|
|
28
|
-
return renderedElement.outerHTML;
|
|
29
|
-
}
|
|
30
|
-
const imageChildNodes = Array.from(renderedElement.childNodes).filter((childNode) => childNode.nodeName === 'IMG');
|
|
31
|
-
// Return the HTML contained in the rendered element if it only contains images
|
|
32
|
-
// (i.e. removes the surrounding `<p></p>` tag from image child elements)
|
|
33
|
-
if (renderedElement.childNodes.length === imageChildNodes.length) {
|
|
34
|
-
return renderedElement.innerHTML;
|
|
35
|
-
}
|
|
36
|
-
// Remove all image elements contained in the rendered element since at this point
|
|
37
|
-
// we know that the editor does not support inline images
|
|
38
|
-
if (renderedElement.childNodes.length > 1) {
|
|
39
|
-
renderedElement.childNodes.forEach((childNode) => {
|
|
40
|
-
if (childNode.nodeName === 'IMG') {
|
|
41
|
-
renderedElement.removeChild(childNode);
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
// Return the rendered element HTML (stripped of inline images)
|
|
46
|
-
return renderedElement.outerHTML;
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export { paragraph };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { marked } from 'marked';
|
|
2
|
-
/**
|
|
3
|
-
* A Marked extension which tweaks the `checkbox`, `list`, and `listitem` renderers to add support
|
|
4
|
-
* for task lists (i.e., `* [ ] Task`), while preserving the original renderers for standard bullet
|
|
5
|
-
* and ordered lists.
|
|
6
|
-
*/
|
|
7
|
-
declare const taskList: marked.MarkedExtension;
|
|
8
|
-
export { taskList };
|
|
9
|
-
//# sourceMappingURL=task-list.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-list.d.ts","sourceRoot":"","sources":["../../../../src/serializers/html/extensions/task-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAO/B;;;;GAIG;AACH,QAAA,MAAM,QAAQ,EAAE,MAAM,CAAC,eAwBtB,CAAA;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { marked } from 'marked';
|
|
2
|
-
/**
|
|
3
|
-
* Initialize a new instance of the original renderer to be used by the extension.
|
|
4
|
-
*/
|
|
5
|
-
const markedRenderer = new marked.Renderer();
|
|
6
|
-
/**
|
|
7
|
-
* A Marked extension which tweaks the `checkbox`, `list`, and `listitem` renderers to add support
|
|
8
|
-
* for task lists (i.e., `* [ ] Task`), while preserving the original renderers for standard bullet
|
|
9
|
-
* and ordered lists.
|
|
10
|
-
*/
|
|
11
|
-
const taskList = {
|
|
12
|
-
renderer: {
|
|
13
|
-
checkbox(checked) {
|
|
14
|
-
return `[${checked ? 'x' : ' '}] `;
|
|
15
|
-
},
|
|
16
|
-
list(body, ordered, start) {
|
|
17
|
-
if (body.includes('data-type="taskItem"')) {
|
|
18
|
-
return `<ul data-type="taskList">\n${body}</ul>\n`;
|
|
19
|
-
}
|
|
20
|
-
return markedRenderer.list.apply(this, [body, ordered, start]);
|
|
21
|
-
},
|
|
22
|
-
listitem(text) {
|
|
23
|
-
const taskItem = /^(\[[ x]\])( [\s\S]*)?/i.exec(text);
|
|
24
|
-
if (taskItem) {
|
|
25
|
-
return `<li data-type="taskItem" data-checked="${String(taskItem[1] !== '[ ]')}">${taskItem[2].trim() || ''}</li>\n`;
|
|
26
|
-
}
|
|
27
|
-
return markedRenderer.listitem.apply(this, [text, false, false]);
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
export { taskList };
|