使用GitHub API获取渲染的html wiki页面

时间:2018-01-14 03:05:18

标签: javascript html git api github

我正在尝试构建一个获取GitHub Repo wiki内容的Web应用程序,并显示呈现的HTML。

我已经知道如何为标准回购做到这一点:

https://api.github.com/repos/[org]/[repo]/contents/[file]

(我还需要发送此标头:Accept": "application/vnd.github.v3.html以获取HTML版本。)

问题是如果repo是wiki,我无法获取任何文件的内容。

这是我得到的: Postman: API response

有没有办法使用API​​(或其他方法,我只是想在维基中获取页面的HTML呈现内容)

1 个答案:

答案 0 :(得分:1)

我想我找到了一个有效的解决方案:

在JavaScript中使用new DOMParser()对象,我可以使用此代码获取页面并获取降价内容:

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")