Compare commits
70 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4aa6267fd4 | ||
|
|
676f12f19d | ||
|
|
e6c7737bfc | ||
|
|
a6501b4ecf | ||
|
|
5af0ded434 | ||
|
|
b5c85ddb27 | ||
|
|
74f5dea494 | ||
|
|
fd9b72d6d0 | ||
|
|
5440068bec | ||
|
|
71f79e2290 | ||
|
|
3dd10f03f4 | ||
|
|
ccdf52a078 | ||
|
|
340220be1b | ||
|
|
6a1cb0b10b | ||
|
|
2962082373 | ||
|
|
8fbcbf628e | ||
|
|
4a467e3ced | ||
|
|
c386dfb481 | ||
|
|
b1946441c3 | ||
|
|
502cc74fa5 | ||
|
|
e1b133b74d | ||
|
|
bd37751df1 | ||
|
|
ceea9bc889 | ||
|
|
91ad144bb5 | ||
|
|
4beda5872d | ||
|
|
adf484f165 | ||
|
|
b35f5befe8 | ||
|
|
193e5ede30 | ||
|
|
00122e9bc1 | ||
|
|
fc5c37373c | ||
|
|
b7e6d32dab | ||
|
|
1d2edaa85d | ||
|
|
b925491449 | ||
|
|
9ee3e19814 | ||
|
|
b8675f53aa | ||
|
|
99d2abb69e | ||
|
|
0b76394671 | ||
|
|
c919666a09 | ||
|
|
07c6b21631 | ||
|
|
bb64533a45 | ||
|
|
1003c561a0 | ||
|
|
3390a52761 | ||
|
|
0ed7c1ec07 | ||
|
|
bef4597dbf | ||
|
|
d4d5e76b3d | ||
|
|
1738ec2c79 | ||
|
|
ebda41fd49 | ||
|
|
bd91600112 | ||
|
|
5489a276b1 | ||
|
|
1f15a51c95 | ||
|
|
ac05026991 | ||
|
|
b5b9eb7751 | ||
|
|
c1e59b5d56 | ||
|
|
de080ca62e | ||
|
|
55c9a31627 | ||
|
|
583b7d2e10 | ||
|
|
0a0789e38b | ||
|
|
09cd143736 | ||
|
|
df1ea81e5c | ||
|
|
749074f6be | ||
|
|
1f81d8ec7f | ||
|
|
5d4a302996 | ||
|
|
1b64d55858 | ||
|
|
cdebe506a3 | ||
|
|
4e81ba2fa2 | ||
|
|
183ca133c2 | ||
|
|
623865805b | ||
|
|
ec8eeb714b | ||
|
|
533ae42132 | ||
|
|
fef8946647 |
0
about.html
Normal file
0
about.html
Normal file
157
css/style.css
157
css/style.css
@@ -1,60 +1,125 @@
|
|||||||
body {
|
* {
|
||||||
background-color: rgb(87, 86, 86);
|
box-sizing: border-box;
|
||||||
color: chartreuse;
|
|
||||||
font-family: monospace;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #0a0a0a;
|
||||||
|
color: #e1e1e1;
|
||||||
|
font-family: 'Courier New', Courier, monospace;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
#blink {
|
header {
|
||||||
-webkit-animation: blink 1.5s linear infinite;
|
display: flex;
|
||||||
animation: blink 1.5s linear infinite;
|
justify-content: center;
|
||||||
}
|
align-items: center;
|
||||||
@-webkit-keyframes blink {
|
height: 30vh;
|
||||||
50% { color: rgb(34, 34, 34); }
|
border-bottom: 2px solid #00ff00;
|
||||||
51% { color: rgba(34, 34, 34, 0); }
|
|
||||||
100% { color: rgba(34, 34, 34, 0); }
|
|
||||||
}
|
|
||||||
@keyframes blink {
|
|
||||||
50% { color: rgb(34, 34, 34); }
|
|
||||||
51% { color: rgba(34, 34, 34, 0); }
|
|
||||||
100% { color: rgba(34, 34, 34, 0); }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.dark {
|
.terminal {
|
||||||
color:rgb(0, 0, 0);
|
width: 80%;
|
||||||
}
|
background: #1e1e1e;
|
||||||
.shy {
|
border: 2px solid #00ff00;
|
||||||
color: red;
|
border-radius: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.imagecenter {
|
.terminal-header {
|
||||||
margin: 0 auto;
|
display: flex;
|
||||||
width: 80em;
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 5px 10px;
|
||||||
|
background: #333;
|
||||||
|
border-bottom: 2px solid #00ff00;
|
||||||
|
border-radius: 8px 8px 0 0;
|
||||||
}
|
}
|
||||||
img.center {
|
|
||||||
display: block;
|
.circle {
|
||||||
|
display: inline-block;
|
||||||
|
width: 12px;
|
||||||
|
height: 12px;
|
||||||
|
margin-right: 5px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.red { background: #ff5f56; }
|
||||||
|
.yellow { background: #ffbd2e; }
|
||||||
|
.green { background: #27c93f; }
|
||||||
|
|
||||||
|
.terminal-title {
|
||||||
|
color: #00ff00;
|
||||||
|
font-size: 1rem;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: 10px;
|
||||||
}
|
|
||||||
.responsive {
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
max-width: 400px;
|
|
||||||
}
|
|
||||||
p.outline {
|
|
||||||
--bd-example-padding: 1rem;
|
|
||||||
position: relative;
|
|
||||||
padding: var(--bd-example-padding);
|
|
||||||
margin: 0 -1.5rem;
|
|
||||||
border: solid var(--bs-border-color);
|
|
||||||
border-width: 1px 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
a.github {
|
.terminal-body {
|
||||||
outline: none;
|
padding: 20px;
|
||||||
text-decoration: none;
|
color: #e1e1e1;
|
||||||
padding: 2px 1px 0;
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.terminal-body h1 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
main {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.about, .projects {
|
||||||
|
margin: 20px auto;
|
||||||
|
width: 80%;
|
||||||
|
border: 2px solid #00ff00;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 20px;
|
||||||
|
background: #1e1e1e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.centered-image {
|
||||||
|
max-width: 60%; /* Уменьшаем максимальную ширину картинки */
|
||||||
|
height: auto;
|
||||||
|
border-radius: 10px;
|
||||||
|
margin: 20px auto;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-links a {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 10px;
|
||||||
|
padding: 10px 20px;
|
||||||
|
color: #00ff00;
|
||||||
|
text-decoration: none;
|
||||||
|
border: 2px solid #00ff00;
|
||||||
|
border-radius: 5px;
|
||||||
|
transition: background 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.project-links a:hover {
|
||||||
|
background: #00ff00;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin-top: 20px;
|
||||||
|
padding: 10px;
|
||||||
|
border-top: 2px solid #00ff00;
|
||||||
|
}
|
||||||
|
|
||||||
|
.terminal-footer {
|
||||||
|
color: #e1e1e1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.terminal-footer a {
|
||||||
|
color: #00ff00;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.terminal-footer a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
img/log.webp
Normal file
BIN
img/log.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 566 KiB |
121
index.html
121
index.html
@@ -1,70 +1,73 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="RU">
|
<html lang="ru">
|
||||||
<head>
|
<head>
|
||||||
<title>DarkShy - main page</title>
|
<meta charset="UTF-8">
|
||||||
<meta name="description" content="Страница DarkShy.">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="keywords" content="DarkShy, pony, bronyfurry, mlp">
|
<meta name="description" content="Личный сайт DarkShy, системного администратора и разработчика в стиле терминала Linux.">
|
||||||
<meta charset="utf-8">
|
<meta name="keywords" content="DarkShy, системный администратор, разработчик, терминал, Linux, блог">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
|
<meta name="author" content="DarkShy">
|
||||||
<meta name="format-detection" content="telephone=no">
|
<meta property="og:title" content="DarkShy - Личный сайт">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta property="og:description" content="Личный сайт DarkShy, системного администратора и разработчика. Узнай обо мне больше!">
|
||||||
<meta name="theme-color" content="black">
|
<meta property="og:image" content="/img/log.webp">
|
||||||
<meta name="color-scheme" content="dark">
|
<meta property="og:url" content="https://darkshy.bronyfurry.com">
|
||||||
<link rel="icon" type="image/x-icon" href="/img/favicon.ico">
|
<meta property="og:type" content="website">
|
||||||
<link rel="manifest" href="manifest.json">
|
<link rel="icon" href="/img/favicon.ico" type="image/x-icon">
|
||||||
<link rel="apple-touch-icon" href="/img/favicon.ico">
|
<title>DarkShy - Личный сайт</title>
|
||||||
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
<link rel="stylesheet" href="/css/style.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1 class="header">darkshy@bronyfurry:~ <span class="dark">Dark<span class="shy">Shy</span></h1>
|
<header class="header">
|
||||||
|
<div class="terminal">
|
||||||
<h2 class="header outro">Просто серая пегаска..<span id="blink">|</span></h2>
|
<div class="terminal-header">
|
||||||
<script src="/js/bootstrap.bundle.min.js"></script>
|
<span class="circle red"></span>
|
||||||
<h2 class="header" style="padding-top: 25px; padding-left: 25px; padding-right: 25px;">Обо мне</h2>
|
<span class="circle yellow"></span>
|
||||||
<div style="padding-top: 15px; padding-bottom: 15px; padding-left: 10%; padding-right: 10%;">
|
<span class="circle green"></span>
|
||||||
<p class="card" style="background-color: inherit; padding-top: 15px; padding-bottom: 15px; padding-left: 25px; padding-right: 25px; --bs-card-border-color: chartreuse;">Меня зовут DarkShy. В свободное время я занимаюсь изучением программирования на языке NodeJS, а так же занимаюсь сайтами. По профессии я - системный администратор. На картинке изображена моя ОС-ка. </p>
|
<span class="terminal-title">darkshy@bronyfurry:~</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="terminal-body">
|
||||||
<h2 class="header" style="padding-top: 25px; padding-left: 25px; padding-right: 25px;">Мои проекты</h2>
|
<h1>darkshy@bronyfurry:~ <span id="blink">|</span></h1>
|
||||||
<div style="padding-top: 15px; padding-bottom: 15px; padding-left: 10%; padding-right: 10%;">
|
<p>Привет! Добро пожаловать на мой личный сайт в стиле терминала Linux.</p>
|
||||||
<p class="card" style="background-color: inherit; padding-top: 15px; padding-bottom: 15px; padding-left: 25px; padding-right: 25px; --bs-card-border-color: chartreuse;">
|
</div>
|
||||||
<a href="https://bronyfurry.com/?from=darkshy" rel="follow" class="btn btn-success" role="button" data-bs-toggle="button" style="margin-top: 5px;">BronyFurry fediverse</a>
|
</div>
|
||||||
<a href="https://github.com/darkshymw" class="btn btn-dark" role="button" data-bs-toggle="button" style="margin-top: 5px;">Мой Github</a>
|
</header>
|
||||||
<a href="https://vk.com/gigisarts" class="btn btn-warning" role="button" data-bs-toggle="button" style="margin-top: 5px;">Паблик с рисунками</a>
|
|
||||||
<a href="/offline.html" rel="follow" class="btn btn-info" role="button" data-bs-toggle="button" style="margin-top: 5px;">Страница offline</a>
|
<main>
|
||||||
</p>
|
<section class="about">
|
||||||
|
<h2>Обо мне</h2>
|
||||||
|
<p>Меня зовут DarkShy. Я системный администратор и разработчик, увлекаюсь программированием на NodeJS и созданием веб-сайтов. Когда я не работаю, я разрабатываю свои проекты и изучаю новые технологии.</p>
|
||||||
|
<p>Люблю делиться знаниями, поэтому также веду блог и работаю в сфере образования.</p>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="image-section">
|
||||||
|
<img src="/img/log.webp" alt="DarkShy" class="centered-image">
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="projects">
|
||||||
|
<h2>Мои проекты</h2>
|
||||||
|
<div class="project-links">
|
||||||
|
<a href="https://github.com/darkshymw" class="btn" target="_blank">Мой GitHub</a>
|
||||||
|
<a href="https://bronyfurry.com/?from=darkshy" class="btn" target="_blank">BronyFurry</a>
|
||||||
|
<a href="/offline.html" class="btn" target="_blank">Страница offline</a>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<div class="terminal-footer">
|
||||||
|
<p>Все права защищены и принадлежат поням.</p>
|
||||||
|
<p><a href="https://github.com/DarkShyMW/darkshy.bronyfurry.com" class="github">Source code at GitHub</a></p>
|
||||||
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">
|
||||||
|
<img src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" alt="Creative Commons License">
|
||||||
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<footer class="text-center" style="padding-top: 35px; padding-bottom: 15px; padding-left: 10%; padding-right: 10%;">
|
|
||||||
<p class="card" style="background-color: inherit; padding-top: 15px; padding-bottom: 15px; padding-left: 25px; padding-right: 25px; --bs-card-border-color: chartreuse;">Все права защищены и принадлежат поням.</p>
|
|
||||||
<div class="card text-center" style="background-color: inherit; padding-top: 15px; padding-bottom: 15px; padding-left: 25px; padding-right: 25px; --bs-card-border-color: chartreuse;"><a href="https://github.com/DarkShyMW/darkshy.bronyfurry.com" class="github" rel="follow">Source code at GitHub</a></div>
|
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
|
||||||
<script>
|
|
||||||
if ('serviceWorker' in navigator) {
|
|
||||||
// Весь код регистрации у нас асинхронный.
|
|
||||||
navigator.serviceWorker.register('./sw.js')
|
|
||||||
.then(() => navigator.serviceWorker.ready.then((worker) => {
|
|
||||||
worker.sync.register('syncdata');
|
|
||||||
}))
|
|
||||||
.catch((err) => console.log(err));
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<!-- 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(80486719, "init", {
|
<script>
|
||||||
clickmap:true,
|
// Можно добавить функциональность, например, для бл blinking текста
|
||||||
trackLinks:true,
|
setInterval(() => {
|
||||||
accurateTrackBounce:true,
|
const blinkElement = document.getElementById("blink");
|
||||||
webvisor:true
|
blinkElement.style.opacity = (blinkElement.style.opacity === "0" ? "1" : "0");
|
||||||
});
|
}, 1000);
|
||||||
</script>
|
</script>
|
||||||
<noscript><div><img src="https://mc.yandex.ru/watch/80486719" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
</body>
|
||||||
<!-- /Yandex.Metrika counter -->
|
|
||||||
</html>
|
</html>
|
||||||
250
js/fuckbad.js
Normal file
250
js/fuckbad.js
Normal file
@@ -0,0 +1,250 @@
|
|||||||
|
/*
|
||||||
|
* FuckAdBlock 3.2.1
|
||||||
|
* Copyright (c) 2015 Valentin Allaire <valentin.allaire@sitexw.fr>
|
||||||
|
* Released under the MIT license
|
||||||
|
* https://github.com/sitexw/FuckAdBlock
|
||||||
|
*/
|
||||||
|
|
||||||
|
(function(window) {
|
||||||
|
var FuckAdBlock = function(options) {
|
||||||
|
this._options = {
|
||||||
|
checkOnLoad: false,
|
||||||
|
resetOnEnd: false,
|
||||||
|
loopCheckTime: 50,
|
||||||
|
loopMaxNumber: 5,
|
||||||
|
baitClass: 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd text_ad text_ads text-ads text-ad-links',
|
||||||
|
baitStyle: 'width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; top: -1000px !important;',
|
||||||
|
debug: false
|
||||||
|
};
|
||||||
|
this._var = {
|
||||||
|
version: '3.2.1',
|
||||||
|
bait: null,
|
||||||
|
checking: false,
|
||||||
|
loop: null,
|
||||||
|
loopNumber: 0,
|
||||||
|
event: { detected: [], notDetected: [] }
|
||||||
|
};
|
||||||
|
if(options !== undefined) {
|
||||||
|
this.setOption(options);
|
||||||
|
}
|
||||||
|
var self = this;
|
||||||
|
var eventCallback = function() {
|
||||||
|
setTimeout(function() {
|
||||||
|
if(self._options.checkOnLoad === true) {
|
||||||
|
if(self._options.debug === true) {
|
||||||
|
self._log('onload->eventCallback', 'A check loading is launched');
|
||||||
|
}
|
||||||
|
if(self._var.bait === null) {
|
||||||
|
self._creatBait();
|
||||||
|
}
|
||||||
|
setTimeout(function() {
|
||||||
|
self.check();
|
||||||
|
}, 1);
|
||||||
|
}
|
||||||
|
}, 1);
|
||||||
|
};
|
||||||
|
if(window.addEventListener !== undefined) {
|
||||||
|
window.addEventListener('load', eventCallback, false);
|
||||||
|
} else {
|
||||||
|
window.attachEvent('onload', eventCallback);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
FuckAdBlock.prototype._options = null;
|
||||||
|
FuckAdBlock.prototype._var = null;
|
||||||
|
FuckAdBlock.prototype._bait = null;
|
||||||
|
|
||||||
|
FuckAdBlock.prototype._log = function(method, message) {
|
||||||
|
console.log('[FuckAdBlock]['+method+'] '+message);
|
||||||
|
};
|
||||||
|
|
||||||
|
FuckAdBlock.prototype.setOption = function(options, value) {
|
||||||
|
if(value !== undefined) {
|
||||||
|
var key = options;
|
||||||
|
options = {};
|
||||||
|
options[key] = value;
|
||||||
|
}
|
||||||
|
for(var option in options) {
|
||||||
|
this._options[option] = options[option];
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('setOption', 'The option "'+option+'" he was assigned to "'+options[option]+'"');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
FuckAdBlock.prototype._creatBait = function() {
|
||||||
|
var bait = document.createElement('div');
|
||||||
|
bait.setAttribute('class', this._options.baitClass);
|
||||||
|
bait.setAttribute('style', this._options.baitStyle);
|
||||||
|
this._var.bait = window.document.body.appendChild(bait);
|
||||||
|
|
||||||
|
this._var.bait.offsetParent;
|
||||||
|
this._var.bait.offsetHeight;
|
||||||
|
this._var.bait.offsetLeft;
|
||||||
|
this._var.bait.offsetTop;
|
||||||
|
this._var.bait.offsetWidth;
|
||||||
|
this._var.bait.clientHeight;
|
||||||
|
this._var.bait.clientWidth;
|
||||||
|
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('_creatBait', 'Bait has been created');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
FuckAdBlock.prototype._destroyBait = function() {
|
||||||
|
window.document.body.removeChild(this._var.bait);
|
||||||
|
this._var.bait = null;
|
||||||
|
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('_destroyBait', 'Bait has been removed');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
FuckAdBlock.prototype.check = function(loop) {
|
||||||
|
if(loop === undefined) {
|
||||||
|
loop = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('check', 'An audit was requested '+(loop===true?'with a':'without')+' loop');
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this._var.checking === true) {
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('check', 'A check was canceled because there is already an ongoing');
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this._var.checking = true;
|
||||||
|
|
||||||
|
if(this._var.bait === null) {
|
||||||
|
this._creatBait();
|
||||||
|
}
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
this._var.loopNumber = 0;
|
||||||
|
if(loop === true) {
|
||||||
|
this._var.loop = setInterval(function() {
|
||||||
|
self._checkBait(loop);
|
||||||
|
}, this._options.loopCheckTime);
|
||||||
|
}
|
||||||
|
setTimeout(function() {
|
||||||
|
self._checkBait(loop);
|
||||||
|
}, 1);
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('check', 'A check is in progress ...');
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
FuckAdBlock.prototype._checkBait = function(loop) {
|
||||||
|
var detected = false;
|
||||||
|
|
||||||
|
if(this._var.bait === null) {
|
||||||
|
this._creatBait();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(window.document.body.getAttribute('abp') !== null
|
||||||
|
|| this._var.bait.offsetParent === null
|
||||||
|
|| this._var.bait.offsetHeight == 0
|
||||||
|
|| this._var.bait.offsetLeft == 0
|
||||||
|
|| this._var.bait.offsetTop == 0
|
||||||
|
|| this._var.bait.offsetWidth == 0
|
||||||
|
|| this._var.bait.clientHeight == 0
|
||||||
|
|| this._var.bait.clientWidth == 0) {
|
||||||
|
detected = true;
|
||||||
|
}
|
||||||
|
if(window.getComputedStyle !== undefined) {
|
||||||
|
var baitTemp = window.getComputedStyle(this._var.bait, null);
|
||||||
|
if(baitTemp && (baitTemp.getPropertyValue('display') == 'none' || baitTemp.getPropertyValue('visibility') == 'hidden')) {
|
||||||
|
detected = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('_checkBait', 'A check ('+(this._var.loopNumber+1)+'/'+this._options.loopMaxNumber+' ~'+(1+this._var.loopNumber*this._options.loopCheckTime)+'ms) was conducted and detection is '+(detected===true?'positive':'negative'));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(loop === true) {
|
||||||
|
this._var.loopNumber++;
|
||||||
|
if(this._var.loopNumber >= this._options.loopMaxNumber) {
|
||||||
|
this._stopLoop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(detected === true) {
|
||||||
|
this._stopLoop();
|
||||||
|
this._destroyBait();
|
||||||
|
this.emitEvent(true);
|
||||||
|
if(loop === true) {
|
||||||
|
this._var.checking = false;
|
||||||
|
}
|
||||||
|
} else if(this._var.loop === null || loop === false) {
|
||||||
|
this._destroyBait();
|
||||||
|
this.emitEvent(false);
|
||||||
|
if(loop === true) {
|
||||||
|
this._var.checking = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
FuckAdBlock.prototype._stopLoop = function(detected) {
|
||||||
|
clearInterval(this._var.loop);
|
||||||
|
this._var.loop = null;
|
||||||
|
this._var.loopNumber = 0;
|
||||||
|
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('_stopLoop', 'A loop has been stopped');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
FuckAdBlock.prototype.emitEvent = function(detected) {
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('emitEvent', 'An event with a '+(detected===true?'positive':'negative')+' detection was called');
|
||||||
|
}
|
||||||
|
|
||||||
|
var fns = this._var.event[(detected===true?'detected':'notDetected')];
|
||||||
|
for(var i in fns) {
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('emitEvent', 'Call function '+(parseInt(i)+1)+'/'+fns.length);
|
||||||
|
}
|
||||||
|
if(fns.hasOwnProperty(i)) {
|
||||||
|
fns[i]();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this._options.resetOnEnd === true) {
|
||||||
|
this.clearEvent();
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
FuckAdBlock.prototype.clearEvent = function() {
|
||||||
|
this._var.event.detected = [];
|
||||||
|
this._var.event.notDetected = [];
|
||||||
|
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('clearEvent', 'The event list has been cleared');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
FuckAdBlock.prototype.on = function(detected, fn) {
|
||||||
|
this._var.event[(detected===true?'detected':'notDetected')].push(fn);
|
||||||
|
if(this._options.debug === true) {
|
||||||
|
this._log('on', 'A type of event "'+(detected===true?'detected':'notDetected')+'" was added');
|
||||||
|
}
|
||||||
|
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
FuckAdBlock.prototype.onDetected = function(fn) {
|
||||||
|
return this.on(true, fn);
|
||||||
|
};
|
||||||
|
FuckAdBlock.prototype.onNotDetected = function(fn) {
|
||||||
|
return this.on(false, fn);
|
||||||
|
};
|
||||||
|
|
||||||
|
window.FuckAdBlock = FuckAdBlock;
|
||||||
|
|
||||||
|
if(window.fuckAdBlock === undefined) {
|
||||||
|
window.fuckAdBlock = new FuckAdBlock({
|
||||||
|
checkOnLoad: true,
|
||||||
|
resetOnEnd: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})(window);
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
// This is the "Offline copy of pages" service worker
|
// This is the "Offline copy of pages" service worker
|
||||||
|
|
||||||
const CACHE = "darkshy-offline";
|
const CACHE = "new_darkshy_cache";
|
||||||
|
|
||||||
importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js');
|
importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.1.2/workbox-sw.js');
|
||||||
|
|
||||||
|
|||||||
33
offline.html
33
offline.html
@@ -1,9 +1,14 @@
|
|||||||
html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>DarkShy - main page</title>
|
<title>DarkShy - Offline page</title>
|
||||||
<meta name="description" content="Страница DarkShy.">
|
<meta name="title" content="DarkShy - offline page">
|
||||||
<meta name="keywords" content="DarkShy, pony, bronyfurry, mlp">
|
<meta name="description" content="Серая пегаска, среднего роста, примерно 60 см в холке. Имеет серый окрас и черно-красную гриву. Любит заниматься серверным оборудованием.">
|
||||||
<meta charset="utf-8">
|
<meta name="keywords" content="DarkShy, pony, bronyfurry, mlp, cisco, пони, серая пони, черно-красная грива">
|
||||||
|
<meta name="robots" content="index, follow">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<meta name="language" content="Russian">
|
||||||
|
<meta name="revisit-after" content="5 days">
|
||||||
|
<meta name="author" content="Dark Shy">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
|
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
|
||||||
<meta name="format-detection" content="telephone=no">
|
<meta name="format-detection" content="telephone=no">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
@@ -20,4 +25,22 @@ html>
|
|||||||
<h3>Код ошибки: No internet connection or server is dead</h3>
|
<h3>Код ошибки: No internet connection or server is dead</h3>
|
||||||
<h3>Попробовать еще раз?</h3>
|
<h3>Попробовать еще раз?</h3>
|
||||||
<a href="/" rel="follow">Главная</a>
|
<a href="/" rel="follow">Главная</a>
|
||||||
|
<!-- 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(80486719, "init", {
|
||||||
|
clickmap:true,
|
||||||
|
trackLinks:true,
|
||||||
|
accurateTrackBounce:true,
|
||||||
|
webvisor:true
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<noscript><div><img src="https://mc.yandex.ru/watch/80486719" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||||||
|
<!-- /Yandex.Metrika counter -->
|
||||||
</body>
|
</body>
|
||||||
|
</html>
|
||||||
|
|||||||
@@ -9,12 +9,12 @@
|
|||||||
|
|
||||||
<url>
|
<url>
|
||||||
<loc>https://darkshy.bronyfurry.com/</loc>
|
<loc>https://darkshy.bronyfurry.com/</loc>
|
||||||
<lastmod>2023-01-14T12:14:10+00:00</lastmod>
|
<lastmod>2023-03-12T12:14:10+00:00</lastmod>
|
||||||
<priority>1.00</priority>
|
<priority>1.00</priority>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://darkshy.bronyfurry.com/offline.html</loc>
|
<loc>https://darkshy.bronyfurry.com/offline.html</loc>
|
||||||
<lastmod>2023-01-14T12:14:10+00:00</lastmod>
|
<lastmod>2023-03-12T12:14:10+00:00</lastmod>
|
||||||
<priority>0.80</priority>
|
<priority>0.80</priority>
|
||||||
</url>
|
</url>
|
||||||
|
|
||||||
|
|||||||
6
sw.js
6
sw.js
@@ -16,7 +16,11 @@ self.addEventListener('install', (event) => {
|
|||||||
event.waitUntil(
|
event.waitUntil(
|
||||||
caches.open(CACHE).then((cache) => cache.addAll([
|
caches.open(CACHE).then((cache) => cache.addAll([
|
||||||
'/img/favicon.ico',
|
'/img/favicon.ico',
|
||||||
'/css/style.css'
|
'/css/style.css',
|
||||||
|
'/img/log.webp',
|
||||||
|
'/css/bootstrap.min.css',
|
||||||
|
'/js/bootstrap.min.js',
|
||||||
|
'/index.html'
|
||||||
])
|
])
|
||||||
));
|
));
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user