diff --git a/docs/src/demos/Extensions/TextAlign/index.vue b/docs/src/demos/Extensions/TextAlign/index.vue index 2c0b5e77..58af3f46 100644 --- a/docs/src/demos/Extensions/TextAlign/index.vue +++ b/docs/src/demos/Extensions/TextAlign/index.vue @@ -43,7 +43,7 @@ export default { TextAlign(), ], content: ` -
first paragraph
second paragraph
`, diff --git a/packages/core/src/utils/getSchema.ts b/packages/core/src/utils/getSchema.ts index a892d470..2320d807 100644 --- a/packages/core/src/utils/getSchema.ts +++ b/packages/core/src/utils/getSchema.ts @@ -25,7 +25,14 @@ function injectExtensionAttributes(parseRule: ParseRule, extensionAttributes: Ex return { ...parseRule, getAttrs: node => { - const oldAttributes = parseRule.getAttrs ? parseRule.getAttrs(node) : {} + const oldAttributes = parseRule.getAttrs + ? parseRule.getAttrs(node) + : parseRule.attrs + + if (oldAttributes === false) { + return false + } + const newAttributes = extensionAttributes .filter(item => item.attribute.rendered) .reduce((items, item) => ({ diff --git a/packages/extension-text-align/index.ts b/packages/extension-text-align/index.ts index 40a05e4f..9f44f272 100644 --- a/packages/extension-text-align/index.ts +++ b/packages/extension-text-align/index.ts @@ -22,7 +22,7 @@ const TextAlign = createExtension({ style: `text-align: ${attributes.textAlign}`, }), parseHTML: node => ({ - textAlign: node.style.textAlign, + textAlign: node.style.textAlign || 'left', }), }, },