@hcengineering/text-markdown 0.7.5 → 0.7.18
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/lib/__tests__/markdown.test.js +125 -3
- package/lib/__tests__/markdown.test.js.map +2 -2
- package/lib/parser.js +23 -8
- package/lib/parser.js.map +2 -2
- package/lib/serializer.js +40 -0
- package/lib/serializer.js.map +2 -2
- package/package.json +3 -3
- package/src/__tests__/markdown.test.ts +125 -4
- package/src/parser.ts +31 -14
- package/src/serializer.ts +43 -0
- package/types/parser.d.ts.map +1 -1
- package/types/serializer.d.ts.map +1 -1
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
//
|
|
15
15
|
|
|
16
|
-
import { MarkupNode } from '@hcengineering/text-core'
|
|
16
|
+
import { MarkupNode, MarkupNodeType, MarkupMarkType } from '@hcengineering/text-core'
|
|
17
17
|
import { markdownToMarkup, markupToMarkdown } from '..'
|
|
18
18
|
import { isMarkdownsEquals } from '../compare'
|
|
19
19
|
|
|
@@ -912,6 +912,25 @@ Lorem ipsum dolor sit amet.
|
|
|
912
912
|
}
|
|
913
913
|
]
|
|
914
914
|
}
|
|
915
|
+
},
|
|
916
|
+
{
|
|
917
|
+
name: 'textColor',
|
|
918
|
+
markdown: '<span style="color: #abcdef" data-color="#abcdef">colored</span>',
|
|
919
|
+
markup: {
|
|
920
|
+
type: MarkupNodeType.doc,
|
|
921
|
+
content: [
|
|
922
|
+
{
|
|
923
|
+
type: MarkupNodeType.paragraph,
|
|
924
|
+
content: [
|
|
925
|
+
{
|
|
926
|
+
type: MarkupNodeType.text,
|
|
927
|
+
text: 'colored',
|
|
928
|
+
marks: [{ type: 'textColor' as MarkupMarkType, attrs: { color: '#abcdef' } }]
|
|
929
|
+
}
|
|
930
|
+
]
|
|
931
|
+
}
|
|
932
|
+
]
|
|
933
|
+
}
|
|
915
934
|
}
|
|
916
935
|
]
|
|
917
936
|
|
|
@@ -924,11 +943,10 @@ Lorem ipsum dolor sit amet.
|
|
|
924
943
|
})
|
|
925
944
|
})
|
|
926
945
|
|
|
927
|
-
describe('to
|
|
946
|
+
describe('to markdown', () => {
|
|
928
947
|
tests.forEach(({ name, markdown, markup }) => {
|
|
929
948
|
it(name, () => {
|
|
930
|
-
const
|
|
931
|
-
const serialized = markupToMarkdown(json, options)
|
|
949
|
+
const serialized = markupToMarkdown(markup as MarkupNode, options)
|
|
932
950
|
expect(serialized).toEqualMarkdown(markdown)
|
|
933
951
|
})
|
|
934
952
|
})
|
|
@@ -979,6 +997,109 @@ describe('markupToMarkdown', () => {
|
|
|
979
997
|
}
|
|
980
998
|
]
|
|
981
999
|
}
|
|
1000
|
+
},
|
|
1001
|
+
{
|
|
1002
|
+
name: 'textColor',
|
|
1003
|
+
markdown: '<span style="color: #abcdef" data-color="#abcdef">colored</span>',
|
|
1004
|
+
markup: {
|
|
1005
|
+
type: MarkupNodeType.doc,
|
|
1006
|
+
content: [
|
|
1007
|
+
{
|
|
1008
|
+
type: MarkupNodeType.paragraph,
|
|
1009
|
+
content: [
|
|
1010
|
+
{
|
|
1011
|
+
type: MarkupNodeType.text,
|
|
1012
|
+
text: 'colored',
|
|
1013
|
+
marks: [{ type: 'textColor' as MarkupMarkType, attrs: { color: '#abcdef' } }]
|
|
1014
|
+
}
|
|
1015
|
+
]
|
|
1016
|
+
}
|
|
1017
|
+
]
|
|
1018
|
+
}
|
|
1019
|
+
},
|
|
1020
|
+
{
|
|
1021
|
+
name: 'textColor + italic',
|
|
1022
|
+
markdown: '<span style="color: #abcdef" data-color="#abcdef">*styled*</span>',
|
|
1023
|
+
markup: {
|
|
1024
|
+
type: MarkupNodeType.doc,
|
|
1025
|
+
content: [
|
|
1026
|
+
{
|
|
1027
|
+
type: MarkupNodeType.paragraph,
|
|
1028
|
+
content: [
|
|
1029
|
+
{
|
|
1030
|
+
type: MarkupNodeType.text,
|
|
1031
|
+
text: 'styled',
|
|
1032
|
+
marks: [
|
|
1033
|
+
{ type: 'textColor' as MarkupMarkType, attrs: { color: '#abcdef' } },
|
|
1034
|
+
{ type: MarkupMarkType.em }
|
|
1035
|
+
]
|
|
1036
|
+
}
|
|
1037
|
+
]
|
|
1038
|
+
}
|
|
1039
|
+
]
|
|
1040
|
+
}
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
name: 'textStyle with font-family',
|
|
1044
|
+
markdown: '<span style="font-family: Arial">arial</span>',
|
|
1045
|
+
markup: {
|
|
1046
|
+
type: MarkupNodeType.doc,
|
|
1047
|
+
content: [
|
|
1048
|
+
{
|
|
1049
|
+
type: MarkupNodeType.paragraph,
|
|
1050
|
+
content: [
|
|
1051
|
+
{
|
|
1052
|
+
type: MarkupNodeType.text,
|
|
1053
|
+
text: 'arial',
|
|
1054
|
+
marks: [{ type: MarkupMarkType.textStyle, attrs: { fontFamily: 'Arial' } }]
|
|
1055
|
+
}
|
|
1056
|
+
]
|
|
1057
|
+
}
|
|
1058
|
+
]
|
|
1059
|
+
}
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
name: 'textStyle with multiple properties',
|
|
1063
|
+
markdown: '<span style="font-family: Arial; font-size: 16px; font-weight: bold">styled</span>',
|
|
1064
|
+
markup: {
|
|
1065
|
+
type: MarkupNodeType.doc,
|
|
1066
|
+
content: [
|
|
1067
|
+
{
|
|
1068
|
+
type: MarkupNodeType.paragraph,
|
|
1069
|
+
content: [
|
|
1070
|
+
{
|
|
1071
|
+
type: MarkupNodeType.text,
|
|
1072
|
+
text: 'styled',
|
|
1073
|
+
marks: [
|
|
1074
|
+
{
|
|
1075
|
+
type: MarkupMarkType.textStyle,
|
|
1076
|
+
attrs: { fontFamily: 'Arial', fontSize: '16px', fontWeight: 'bold' }
|
|
1077
|
+
}
|
|
1078
|
+
]
|
|
1079
|
+
}
|
|
1080
|
+
]
|
|
1081
|
+
}
|
|
1082
|
+
]
|
|
1083
|
+
}
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
name: 'textStyle with color (no data-color)',
|
|
1087
|
+
markdown: '<span style="color: red">red</span>',
|
|
1088
|
+
markup: {
|
|
1089
|
+
type: MarkupNodeType.doc,
|
|
1090
|
+
content: [
|
|
1091
|
+
{
|
|
1092
|
+
type: MarkupNodeType.paragraph,
|
|
1093
|
+
content: [
|
|
1094
|
+
{
|
|
1095
|
+
type: MarkupNodeType.text,
|
|
1096
|
+
text: 'red',
|
|
1097
|
+
marks: [{ type: MarkupMarkType.textStyle, attrs: { color: 'red' } }]
|
|
1098
|
+
}
|
|
1099
|
+
]
|
|
1100
|
+
}
|
|
1101
|
+
]
|
|
1102
|
+
}
|
|
982
1103
|
}
|
|
983
1104
|
]
|
|
984
1105
|
|
package/src/parser.ts
CHANGED
|
@@ -50,8 +50,8 @@ interface ParsingMarkRule {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
interface ParsingSpecialRule {
|
|
53
|
-
type: (state: MarkdownParseState, tok: Token) => { type: MarkupMarkType | MarkupNodeType, node: boolean }
|
|
54
|
-
getAttrs?: (tok: Token, state: MarkdownParseState) => Attrs
|
|
53
|
+
type: (state: MarkdownParseState, tok: Token) => { type: MarkupMarkType | MarkupNodeType, node: boolean } | undefined
|
|
54
|
+
getAttrs?: (tok: Token, state: MarkdownParseState) => Attrs | undefined
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
@@ -161,8 +161,8 @@ class MarkdownParseState {
|
|
|
161
161
|
if (tok === undefined) {
|
|
162
162
|
break
|
|
163
163
|
}
|
|
164
|
-
|
|
165
|
-
// Merge <sub> </sub> into one html token
|
|
164
|
+
|
|
165
|
+
// Merge <sub> ... </sub> into one html token
|
|
166
166
|
if (tok.type === 'html_inline' && tok.content.trim() === '<sub>') {
|
|
167
167
|
while (_toks.length > 0) {
|
|
168
168
|
const _tok = _toks.shift()
|
|
@@ -175,6 +175,19 @@ class MarkdownParseState {
|
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
177
|
|
|
178
|
+
// Merge <span ...> ... </span> into one html token
|
|
179
|
+
if (tok.type === 'html_inline' && tok.content.trim().startsWith('<span')) {
|
|
180
|
+
while (_toks.length > 0) {
|
|
181
|
+
const _tok = _toks.shift()
|
|
182
|
+
if (_tok !== undefined) {
|
|
183
|
+
tok.content += _tok.content
|
|
184
|
+
if (_tok.type === 'html_inline' && _tok.content.trim() === '</span>') {
|
|
185
|
+
break
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
178
191
|
const handler = this.tokenHandlers[tok.type]
|
|
179
192
|
if (handler === undefined) {
|
|
180
193
|
throw new Error(`Token type '${String(tok.type)} not supported by Markdown parser`)
|
|
@@ -277,18 +290,22 @@ function addSpecMark (handlers: HandlersRecord, spec: ParsingMarkRule, type: str
|
|
|
277
290
|
function addSpecialRule (handlers: HandlersRecord, spec: ParsingSpecialRule, type: string): void {
|
|
278
291
|
handlers[type + '_open'] = (state, tok) => {
|
|
279
292
|
const type = spec.type(state, tok)
|
|
280
|
-
if (type
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
293
|
+
if (type !== undefined) {
|
|
294
|
+
if (type.node) {
|
|
295
|
+
state.openNode(type.type as MarkupNodeType, spec.getAttrs?.(tok, state) ?? {})
|
|
296
|
+
} else {
|
|
297
|
+
state.openMark({ type: type.type as MarkupMarkType, attrs: spec.getAttrs?.(tok, state) ?? {} })
|
|
298
|
+
}
|
|
284
299
|
}
|
|
285
300
|
}
|
|
286
301
|
handlers[type + '_close'] = (state, tok) => {
|
|
287
302
|
const type = spec.type(state, tok)
|
|
288
|
-
if (type
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
303
|
+
if (type !== undefined) {
|
|
304
|
+
if (type.node) {
|
|
305
|
+
state.closeNode()
|
|
306
|
+
} else {
|
|
307
|
+
state.closeMark(type.type as MarkupMarkType)
|
|
308
|
+
}
|
|
292
309
|
}
|
|
293
310
|
}
|
|
294
311
|
}
|
|
@@ -696,7 +713,7 @@ export class MarkdownParser {
|
|
|
696
713
|
}
|
|
697
714
|
|
|
698
715
|
listRule: RuleCore = (state: TaskListStateCore): boolean => {
|
|
699
|
-
const tokens = state.tokens
|
|
716
|
+
const tokens = (state as any).tokens
|
|
700
717
|
const states: Array<{ closeIdx: number, lastItemIdx: number }> = []
|
|
701
718
|
|
|
702
719
|
// step #1 - convert list items to todo items
|
|
@@ -783,7 +800,7 @@ function convertTodoItem (tokens: Token[], open: number): boolean {
|
|
|
783
800
|
}
|
|
784
801
|
|
|
785
802
|
const metaTok = inline.children.find(
|
|
786
|
-
(tok) => tok.type === 'html_inline' && tok.content.startsWith('<!--') && tok.content.endsWith('-->')
|
|
803
|
+
(tok: Token) => tok.type === 'html_inline' && tok.content.startsWith('<!--') && tok.content.endsWith('-->')
|
|
787
804
|
)
|
|
788
805
|
if (metaTok !== undefined) {
|
|
789
806
|
const metaValues = metaTok.content.slice(5, -4).split(',')
|
package/src/serializer.ts
CHANGED
|
@@ -378,6 +378,49 @@ export const storeMarks: Record<string, MarkProcessor> = {
|
|
|
378
378
|
mixable: false,
|
|
379
379
|
expelEnclosingWhitespace: false,
|
|
380
380
|
escape: false
|
|
381
|
+
},
|
|
382
|
+
textColor: {
|
|
383
|
+
open: (state, mark, parent, index) => {
|
|
384
|
+
if (mark.attrs?.color === undefined) {
|
|
385
|
+
return ''
|
|
386
|
+
}
|
|
387
|
+
return `<span style="color: ${mark.attrs.color}" data-color="${mark.attrs.color}">`
|
|
388
|
+
},
|
|
389
|
+
close: (state, mark, parent, index) => {
|
|
390
|
+
if (mark.attrs?.color === undefined) {
|
|
391
|
+
return ''
|
|
392
|
+
}
|
|
393
|
+
return '</span>'
|
|
394
|
+
},
|
|
395
|
+
mixable: false,
|
|
396
|
+
expelEnclosingWhitespace: false,
|
|
397
|
+
escape: false
|
|
398
|
+
},
|
|
399
|
+
textStyle: {
|
|
400
|
+
open: (state, mark, parent, index) => {
|
|
401
|
+
const attrs = mark.attrs ?? {}
|
|
402
|
+
if (Object.keys(attrs).length === 0) {
|
|
403
|
+
return ''
|
|
404
|
+
}
|
|
405
|
+
const styleAttrs = Object.entries(attrs)
|
|
406
|
+
.map(([key, value]) => {
|
|
407
|
+
const kebabKey = key.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)
|
|
408
|
+
return `${kebabKey}: ${value}`
|
|
409
|
+
})
|
|
410
|
+
.join('; ')
|
|
411
|
+
|
|
412
|
+
return `<span style="${styleAttrs}">`
|
|
413
|
+
},
|
|
414
|
+
close: (state, mark, parent, index) => {
|
|
415
|
+
const attrs = mark.attrs ?? {}
|
|
416
|
+
if (Object.keys(attrs).length === 0) {
|
|
417
|
+
return ''
|
|
418
|
+
}
|
|
419
|
+
return '</span>'
|
|
420
|
+
},
|
|
421
|
+
mixable: false,
|
|
422
|
+
expelEnclosingWhitespace: false,
|
|
423
|
+
escape: false
|
|
381
424
|
}
|
|
382
425
|
}
|
|
383
426
|
|
package/types/parser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAExG,OAAO,UAAU,EAAE,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AA8D3D,UAAU,YAAY;IACpB,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAA;CACb;AAGD,cAAM,kBAAkB;IAOpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAP3B,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,CAAA;gBAG5E,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,EACrE,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAO3B,GAAG,IAAK,YAAY,GAAG,SAAS;IAIhC,IAAI,CAAE,GAAG,EAAE,UAAU,GAAG,IAAI;IAO5B,aAAa,CAAE,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO;IAY9D,OAAO,CAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAsB7B,QAAQ,CAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAKjC,SAAS,CAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC,WAAW,CAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAExG,OAAO,UAAU,EAAE,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AA8D3D,UAAU,YAAY;IACpB,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,KAAK,EAAE,KAAK,CAAA;CACb;AAGD,cAAM,kBAAkB;IAOpB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAP3B,KAAK,EAAE,YAAY,EAAE,CAAA;IACrB,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,CAAA;gBAG5E,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,EACrE,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAO3B,GAAG,IAAK,YAAY,GAAG,SAAS;IAIhC,IAAI,CAAE,GAAG,EAAE,UAAU,GAAG,IAAI;IAO5B,aAAa,CAAE,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO;IAY9D,OAAO,CAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAsB7B,QAAQ,CAAE,IAAI,EAAE,UAAU,GAAG,IAAI;IAKjC,SAAS,CAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAItC,WAAW,CAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI;IA2CxC,OAAO,CAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,UAAU,EAAO,GAAG,UAAU;IAcpF,QAAQ,CAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAKnD,SAAS,IAAK,UAAU;CAQzB;AAkaD,eAAO,MAAM,aAAa,GAAI,QAAQ,KAAK,KAAG,OAAmC,CAAA;AAEjF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,KAAK,KAAG,OAA2C,CAAA;AAE5F,eAAO,MAAM,eAAe,GAAI,QAAQ,KAAK,KAAG,OAA2C,CAAA;AAE3F,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB;AAYD,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAA;AAErD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,qBAAa,cAAc;IAKZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJrC,SAAS,EAAE,UAAU,CAAA;IACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,CAAA;IAC9E,UAAU,EAAE,UAAU,CAAA;gBAEQ,OAAO,EAAE,qBAAqB;IAW5D,KAAK,CAAE,IAAI,EAAE,MAAM,GAAG,UAAU;IAahC,eAAe,EAAE,QAAQ,CAWxB;IAED,QAAQ,EAAE,QAAQ,CAgDjB;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"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"}
|