feat: Add HTML export option (#4056)

* tidy

* Add title to HTML export

* fix: Add compatability for documents without collab state

* Add HTML download option to UI

* docs

* fix nodes that required document to render

* Refactor to allow for styling of HTML export

* div>article for easier programatic content extraction
This commit is contained in:
Tom Moor
2022-09-07 13:34:39 +02:00
committed by GitHub
parent eb5126335c
commit e8a6de3f18
30 changed files with 1756 additions and 1790 deletions

View File

@@ -33,12 +33,16 @@ export default class CheckboxItem extends Node {
},
],
toDOM: (node) => {
const input = document.createElement("span");
input.tabIndex = -1;
input.className = "checkbox";
input.setAttribute("aria-checked", node.attrs.checked.toString());
input.setAttribute("role", "checkbox");
input.addEventListener("click", this.handleClick);
const checked = node.attrs.checked.toString();
let input;
if (typeof document !== "undefined") {
input = document.createElement("span");
input.tabIndex = -1;
input.className = "checkbox";
input.setAttribute("aria-checked", checked);
input.setAttribute("role", "checkbox");
input.addEventListener("click", this.handleClick);
}
return [
"li",
@@ -51,7 +55,9 @@ export default class CheckboxItem extends Node {
{
contentEditable: "false",
},
input,
...(input
? [input]
: [["span", { class: "checkbox", "aria-checked": checked }]]),
],
["div", 0],
];