I'm trying to build a web app that gets the content of a GitHub Repo wiki and display the rendered HTML.
I already know how to do that for standard repo:
https://api.github.com/repos/[org]/[repo]/contents/[file]
(I also need to send this header: Accept": "application/vnd.github.v3.html to get the HTML version).
The problem is that I'm not able to get the content of any file if the repo is a wiki.
Here is what I get:

Is there a way of doing it using the API (or another method, I just wanna get the HTML rendered content of a page in a wiki)
I think I found a working solution:
Using the new DOMParser() object in JavaScript, I can fetch the page and get the markdown content using this code:
function getPage(name, repo, file) {
fetch(`https://github.com/${name}/${repo}/${file}`, {mode: 'cors'})
.then(data => data.text())
.then(data => {
const parser = new DOMParser();
const dataEl = parser.parseFromString(data, "text/html");
const el = dataEl.querySelector(".wiki-body > .markdown-body")
$.html(".content", el.innerHTML)
})
}
getPage("arguiot", "Glottologist", "wiki")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With