86 lines
3.8 KiB
HTML
86 lines
3.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<!-- Open Graph Generated: a.pr-cy.ru -->
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:title" content="mirror.venya.tech">
|
|
<meta property="og:description" content="Десанкционированные репозитории MongoDB, Grafana, Elasticsearch и т.д.">
|
|
<meta property="og:url" content="https://mirror.venya.tech/">
|
|
<meta property="og:image" content="https://mirror.venya.tech/og-img.png">
|
|
<meta property="og:locale" content="ru_RU">
|
|
<!-- Twitter -->
|
|
<meta property="twitter:card" content="summary_large_image">
|
|
<meta property="twitter:image:src" content="https://mirror.venya.tech/og-img-twitter.png">
|
|
|
|
<!-- Yandex.Metrika counter -->
|
|
<script type="text/javascript" >
|
|
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
|
|
m[i].l=1*new Date();
|
|
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
|
|
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
|
|
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
|
|
|
|
ym(91576504, "init", {
|
|
clickmap:true,
|
|
trackLinks:true,
|
|
accurateTrackBounce:true
|
|
});
|
|
</script>
|
|
<noscript><div><img src="https://mc.yandex.ru/watch/91576504" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
|
<!-- /Yandex.Metrika counter -->
|
|
|
|
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/milligram/1.4.1/milligram.min.css">
|
|
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/highlight.js/10.1.2/styles/github.min.css">
|
|
<script type="application/javascript" src="https://cdn.bootcdn.net/ajax/libs/marked/1.1.1/marked.min.js"></script>
|
|
<script type="application/javascript" src="https://cdn.bootcdn.net/ajax/libs/highlight.js/10.1.2/highlight.min.js"></script>
|
|
<style rel="stylesheet">
|
|
body {
|
|
color: #24292e;
|
|
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;
|
|
}
|
|
.container {
|
|
margin: 5rem auto;
|
|
padding: 4rem;
|
|
border: 1px solid #eaecef;
|
|
}
|
|
.container h1 {
|
|
padding-bottom: .3em;
|
|
border-bottom: 1px solid #eaecef;
|
|
}
|
|
code.error {
|
|
display: block;
|
|
padding: 2rem;
|
|
color: #F43;
|
|
font-size: 2rem;
|
|
line-height: 2rem;
|
|
}
|
|
</style>
|
|
<script>
|
|
marked.setOptions({
|
|
renderer: new marked.Renderer(),
|
|
highlight: function (code, lang) {
|
|
const validLanguage = hljs.getLanguage(lang) ? lang : 'plaintext';
|
|
return hljs.highlight(validLanguage, code).value;
|
|
}
|
|
});
|
|
const targetFile = location.pathname;
|
|
const modify = (t) => document.getElementById('content').innerHTML = t;
|
|
const request = fetch(targetFile, {headers: {'Accept': 'text/markdown'}}).then((res) => {
|
|
if (!res.ok)
|
|
throw new Error(`${res.statusText} (${res.status})`);
|
|
return res.text()
|
|
})
|
|
</script>
|
|
<script defer>
|
|
request.then((text) => modify(marked(text)))
|
|
.catch((err) => modify(`<code class="error">Failed to load ${targetFile}: ${err.message}</code>`))
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div id="content" />
|
|
</div>
|
|
</body>
|
|
</html>
|