Manchmal möchte man vielleicht eine simple Github doku in ein WikiJS implementieren.
Das geht ganz einfach mit einem Java script.
<script>
var user = "repro-user";
var repo = "Repro-name";
var branch = "main";
function fixLinks(markdown) {
return markdown.replace(
/(!?\[[^\]]*\]\()([^()]+)(\))/g,
(match, prefix, url, suffix) => {
if (url.startsWith("http://") || url.startsWith("https://")) {
return match;
}
let fixed = `https://github.com/${user}/${repo}/blob/${branch}/${url.replace(
/^\.?\//,
""
)}`;
return `${prefix}${fixed}${suffix}`;
}
);
}
async function loadReadme() {
const url = `https://raw.githubusercontent.com/${user}/${repo}/${branch}/README.md`;
try {
const response = await fetch(url);
const text = await response.text();
const fixedMarkdown = fixLinks(text);
document.getElementById("readme").innerHTML = marked.parse(fixedMarkdown);
} catch (error) {
document.getElementById("readme").textContent =
"Failed to load README: " + error;
}
}
async function setSource() {
const url = "https://github.com/" + user + "/" + repo;
document.getElementById("source").innerHTML = `
Importiert von
<a href="${url}" target="_blank" rel="noopener noreferrer">
GitHub
</a>
`;
}
window.boot.register("page-ready", () => {
loadReadme();
setSource();
});
</script>
<div id="source"> Loading...</div>
<div id="readme"> Loading...</div>