@@ -61,14 +61,46 @@
container.dataset.prev = container.innerHTML;
container.innerHTML = `
-
+
-
+
+
+
+
`;
} else {
// Switch to viewer mode
renderView(id, contents[id]);
}
}
+
+ function saveEdit(id) {
+ const textarea = document.getElementById(`editor${id}`);
+ const value = textarea.value;
+ contents[id] = value;
+ renderView(id, value);
+
+ document.getElementById(`editSwitch${id}`).checked = false;
+ }
+
+ function cancelEdit(id) {
+ document.getElementById(`editSwitch${id}`).checked = false;
+ renderView(id, contents[id]);
+ }
+
+ function togglePreview(id) {
+ const textarea = document.getElementById(`editor${id}`);
+ const preview = document.getElementById(`preview${id}`);
+ preview.classList.toggle('d-none');
+ if (!preview.classList.contains('d-none')) {
+ const html = marked.parse(textarea.value ?? "");
+ preview.innerHTML = DOMPurify.sanitize(html);
+ }
+ }
+
+ function escapeForTextarea(s) {
+ // Keep control of what goes inside the textarea
+ return (s ?? "").replace(/&/g,'&').replace(//g,'>');
+ }