Skip to content

Instantly share code, notes, and snippets.

@dcwangmit01
Last active November 11, 2020 19:46
Show Gist options
  • Save dcwangmit01/d2acf2e777b3ad0f2451dd57acfa787c to your computer and use it in GitHub Desktop.
Save dcwangmit01/d2acf2e777b3ad0f2451dd57acfa787c to your computer and use it in GitHub Desktop.
Embedding Markdown within HTML
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
</head>
<body>
<markdown>
### A Markdown List
* Foo
* Bar
</markdown>
<markdown>
### Another Markdown List
* Yin
* Yang
</markdown>
<!-- Render all <markdown></markdown> tags -->
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<script>
document.body.style.display = "none"; // Hide the page until it's finished rendering.
document.createElement("markdown");
var md_tags = document.getElementsByTagName("markdown"); // Returns array of all markdown tags.
for (var i = 0; i < md_tags.length; i++) { // Iterate through all the tags, and generate the HTML.
var md_text = md_tags[i].textContent;
var md_div = document.createElement("div"); // Make a new div to replace the fake tag.
md_div.id = "content";
md_div.innerHTML = marked(md_text);
md_tags[i].parentNode.appendChild(md_div); // Add rendered Markdown
md_tags[i].hidden = true // Hide the old raw markdown.
}
document.body.style.display = ""; // Show the rendered page.
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment