@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.
Files changed (62) hide show
  1. package/CHANGELOG.md +14 -2
  2. package/dist/constants/extension-priorities.d.ts +7 -1
  3. package/dist/constants/extension-priorities.d.ts.map +1 -1
  4. package/dist/constants/extension-priorities.js +7 -1
  5. package/dist/extensions/plain-text/plain-text-kit.d.ts +4 -0
  6. package/dist/extensions/plain-text/plain-text-kit.d.ts.map +1 -1
  7. package/dist/extensions/plain-text/plain-text-kit.js +5 -0
  8. package/dist/extensions/rich-text/rich-text-image.d.ts.map +1 -1
  9. package/dist/extensions/rich-text/rich-text-image.js +4 -0
  10. package/dist/extensions/rich-text/rich-text-kit.d.ts +4 -0
  11. package/dist/extensions/rich-text/rich-text-kit.d.ts.map +1 -1
  12. package/dist/extensions/rich-text/rich-text-kit.js +5 -0
  13. package/dist/extensions/shared/paste-html-table-as-string.d.ts +16 -0
  14. package/dist/extensions/shared/paste-html-table-as-string.d.ts.map +1 -0
  15. package/dist/extensions/shared/paste-html-table-as-string.js +64 -0
  16. package/dist/extensions/shared/paste-singleline-text.js +1 -1
  17. package/dist/helpers/unified.d.ts +11 -0
  18. package/dist/helpers/unified.d.ts.map +1 -0
  19. package/dist/helpers/unified.js +12 -0
  20. package/dist/serializers/html/html.d.ts +3 -10
  21. package/dist/serializers/html/html.d.ts.map +1 -1
  22. package/dist/serializers/html/html.js +66 -48
  23. package/dist/serializers/html/plugins/rehype-code-block.d.ts +10 -0
  24. package/dist/serializers/html/plugins/rehype-code-block.d.ts.map +1 -0
  25. package/dist/serializers/html/plugins/rehype-code-block.js +22 -0
  26. package/dist/serializers/html/plugins/rehype-image.d.ts +11 -0
  27. package/dist/serializers/html/plugins/rehype-image.d.ts.map +1 -0
  28. package/dist/serializers/html/plugins/rehype-image.js +34 -0
  29. package/dist/serializers/html/plugins/rehype-suggestions.d.ts +10 -0
  30. package/dist/serializers/html/plugins/rehype-suggestions.d.ts.map +1 -0
  31. package/dist/serializers/html/plugins/rehype-suggestions.js +36 -0
  32. package/dist/serializers/html/plugins/rehype-task-list.d.ts +7 -0
  33. package/dist/serializers/html/plugins/rehype-task-list.d.ts.map +1 -0
  34. package/dist/serializers/html/plugins/rehype-task-list.js +37 -0
  35. package/dist/serializers/html/plugins/remark-disable-constructs.d.ts +11 -0
  36. package/dist/serializers/html/plugins/remark-disable-constructs.d.ts.map +1 -0
  37. package/dist/serializers/html/plugins/remark-disable-constructs.js +48 -0
  38. package/dist/serializers/html/plugins/remark-strikethrough.d.ts +18 -0
  39. package/dist/serializers/html/plugins/remark-strikethrough.d.ts.map +1 -0
  40. package/dist/serializers/html/plugins/remark-strikethrough.js +26 -0
  41. package/package.json +37 -25
  42. package/dist/serializers/html/extensions/checkbox.d.ts +0 -8
  43. package/dist/serializers/html/extensions/checkbox.d.ts.map +0 -1
  44. package/dist/serializers/html/extensions/checkbox.js +0 -12
  45. package/dist/serializers/html/extensions/code.d.ts +0 -9
  46. package/dist/serializers/html/extensions/code.d.ts.map +0 -1
  47. package/dist/serializers/html/extensions/code.js +0 -20
  48. package/dist/serializers/html/extensions/disabled.d.ts +0 -13
  49. package/dist/serializers/html/extensions/disabled.d.ts.map +0 -1
  50. package/dist/serializers/html/extensions/disabled.js +0 -125
  51. package/dist/serializers/html/extensions/html.d.ts +0 -10
  52. package/dist/serializers/html/extensions/html.d.ts.map +0 -1
  53. package/dist/serializers/html/extensions/html.js +0 -15
  54. package/dist/serializers/html/extensions/link.d.ts +0 -11
  55. package/dist/serializers/html/extensions/link.d.ts.map +0 -1
  56. package/dist/serializers/html/extensions/link.js +0 -25
  57. package/dist/serializers/html/extensions/paragraph.d.ts +0 -12
  58. package/dist/serializers/html/extensions/paragraph.d.ts.map +0 -1
  59. package/dist/serializers/html/extensions/paragraph.js +0 -51
  60. package/dist/serializers/html/extensions/task-list.d.ts +0 -9
  61. package/dist/serializers/html/extensions/task-list.d.ts.map +0 -1
  62. 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 };