diff --git a/src/serializers/html.js b/src/serializers/html.js index bd797deda..f62d816b1 100644 --- a/src/serializers/html.js +++ b/src/serializers/html.js @@ -246,7 +246,7 @@ class Html { */ deserializeMark = (mark) => { - const { type, value } = mark + const { type, data } = mark const applyMark = (node) => { if (node.kind == 'mark') { @@ -257,7 +257,7 @@ class Html { if (!node.ranges) node.ranges = [{ text: node.text }] node.ranges = node.ranges.map((range) => { range.marks = range.marks || [] - range.marks.push({ type, value }) + range.marks.push({ type, data }) return range }) } diff --git a/test/serializers/fixtures/html/deserialize/mark-with-data/index.js b/test/serializers/fixtures/html/deserialize/mark-with-data/index.js new file mode 100644 index 000000000..9de13046f --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/mark-with-data/index.js @@ -0,0 +1,28 @@ + +export default { + rules: [ + { + deserialize(el, next) { + switch (el.tagName) { + case 'p': { + return { + kind: 'block', + type: 'paragraph', + nodes: next(el.childNodes) + } + } + case 'mark': { + return { + kind: 'mark', + type: 'highlight', + data: { + backgroundColor: 'green', + }, + nodes: next(el.childNodes) + } + } + } + } + } + ] +} diff --git a/test/serializers/fixtures/html/deserialize/mark-with-data/input.html b/test/serializers/fixtures/html/deserialize/mark-with-data/input.html new file mode 100644 index 000000000..adc058e32 --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/mark-with-data/input.html @@ -0,0 +1 @@ +

one

\ No newline at end of file diff --git a/test/serializers/fixtures/html/deserialize/mark-with-data/output.yaml b/test/serializers/fixtures/html/deserialize/mark-with-data/output.yaml new file mode 100644 index 000000000..aba74fe59 --- /dev/null +++ b/test/serializers/fixtures/html/deserialize/mark-with-data/output.yaml @@ -0,0 +1,20 @@ + +data: {} +nodes: + - type: paragraph + isVoid: false + data: {} + nodes: + - characters: + - text: o + marks: + - type: highlight + data: { backgroundColor: "green" } + - text: n + marks: + - type: highlight + data: { backgroundColor: "green" } + - text: e + marks: + - type: highlight + data: { backgroundColor: "green" }