37 lines
1.1 KiB
HTML
37 lines
1.1 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html {{ HTML_ATTRS }}>
|
||
|
<head {{ HEAD_ATTRS }}>
|
||
|
<script>
|
||
|
if (window.location.search) {
|
||
|
window.location = window.location.origin + window.location.pathname
|
||
|
}
|
||
|
|
||
|
function addScript(src) {
|
||
|
const s = document.createElement('script')
|
||
|
s.setAttribute('src', src)
|
||
|
document.body.appendChild(s)
|
||
|
}
|
||
|
|
||
|
document.addEventListener('DOMContentLoaded', () => {
|
||
|
const ipfsPathRegExp = /^(\/(?:ipfs|ipns)\/[^/]+)/
|
||
|
const ipfsPathPrefix = (window.location.pathname.match(ipfsPathRegExp) || [])[1] || ''
|
||
|
if (ipfsPathPrefix) {
|
||
|
const scripts = [...document.getElementsByTagName('script')]
|
||
|
|
||
|
for (let i = 0; i < scripts.length; i++) {
|
||
|
if (scripts[i].src) {
|
||
|
const source = new URL(scripts[i].src)
|
||
|
const newSource = window.location.origin + ipfsPathPrefix + source.pathname
|
||
|
addScript(newSource)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
</script>
|
||
|
{{ HEAD }}
|
||
|
</head>
|
||
|
<body {{ BODY_ATTRS }}>
|
||
|
{{ APP }}
|
||
|
</body>
|
||
|
</html>
|