Skip to content

Instantly share code, notes, and snippets.

@Xananax
Created May 10, 2024 09:13
Show Gist options
  • Save Xananax/40ccbe5c5d5893b669752655bf48b003 to your computer and use it in GitHub Desktop.
Save Xananax/40ccbe5c5d5893b669752655bf48b003 to your computer and use it in GitHub Desktop.
No generator markdown static site generator

A title

some text and a link

An experiment in the smallest code possible full-markdown blog possible

<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8" />
<title></title>
<script type="module" src="https://md-block.verou.me/md-block.js"></script>
</head>
<body>
<header>
<a href="first.md">First</a>
<a href="second.md">Second</a>
</header>
<md-block id="content" />
<script>
const content = document.querySelector("#content");
const parseLink = (el) => {
if (el.classList.contains("md-link-processed")) {
return;
}
el.classList.add("md-link-processed");
const url = el.getAttribute("href");
if (/\.md$/.test(url)) {
el.addEventListener("click", (e) => {
e.preventDefault();
content.setAttribute("src", url);
});
}
};
document.querySelectorAll("header a").forEach(parseLink);
content.addEventListener("md-render", () =>
content.querySelectorAll("a").forEach(parseLink)
);
</script>
</body>
</html>

Another title

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment