24 lines
654 B
JavaScript
24 lines
654 B
JavaScript
// retoor <retoor@molodetz.nl>
|
|
import { Component } from "./Component.js";
|
|
import { ContentRenderer } from "../utils/ContentRenderer.js";
|
|
|
|
export class Content extends Component {
|
|
static tag = "dp-content";
|
|
|
|
setup() {
|
|
const source = this.querySelector('script[type="text/markdown"]');
|
|
if (source) {
|
|
this.markdown = source.textContent;
|
|
}
|
|
}
|
|
|
|
set markdown(text) {
|
|
this.innerHTML = ContentRenderer.render(text);
|
|
this.querySelectorAll("pre > code").forEach((code) => {
|
|
const host = document.createElement("dp-code");
|
|
code.parentElement.replaceWith(host);
|
|
host.appendChild(code.parentElement);
|
|
});
|
|
}
|
|
}
|