39 Commits

Author SHA1 Message Date
DarkShyMW
4aa6267fd4 smodified: css/style.css 2025-01-16 21:33:37 +03:00
DarkShyMW
676f12f19d Fix images 2025-01-16 21:31:14 +03:00
DarkShyMW
e6c7737bfc ы 2025-01-16 21:27:26 +03:00
DarkShyMW
a6501b4ecf Changes to be committed:
modified:   css/style.css
	modified:   index.html
2025-01-16 21:24:27 +03:00
DarkShyMW
5af0ded434 modified: css/style.css 2025-01-16 21:21:22 +03:00
DarkShyMW
b5c85ddb27 modified: css/style.css 2025-01-16 21:18:39 +03:00
DarkShyMW
74f5dea494 fix dots 2025-01-16 21:12:50 +03:00
DarkShyMW
fd9b72d6d0 Linux look like 2025-01-16 21:09:16 +03:00
DarkShyMW
5440068bec Changes to be committed:
modified:   css/style.css
	modified:   index.html
2025-01-16 21:06:17 +03:00
DarkShyMW
71f79e2290 Changes to be committed:
modified:   index.html
2025-01-16 21:01:17 +03:00
DarkShyMW
3dd10f03f4 modified: css/style.css 2025-01-16 20:59:44 +03:00
DarkShyMW
ccdf52a078 Update main page 2025-01-16 20:56:36 +03:00
DarkShy
340220be1b Update index.html 2023-09-23 13:30:41 +03:00
DarkShy
6a1cb0b10b Add files via upload 2023-09-21 07:57:24 +03:00
DarkShy
2962082373 UPD: fix some bugs 2023-09-21 07:57:04 +03:00
DarkShyMW
8fbcbf628e modified: css/style.css 2023-03-13 03:09:37 +03:00
DarkShyMW
4a467e3ced modified: css/style.css 2023-03-13 03:07:39 +03:00
DarkShyMW
c386dfb481 modified: css/style.css
modified:   index.html
2023-03-13 03:07:05 +03:00
DarkShyMW
b1946441c3 modified: index.html 2023-03-13 03:05:50 +03:00
DarkShyMW
502cc74fa5 modified: index.html 2023-03-13 03:04:40 +03:00
DarkShyMW
e1b133b74d modified: index.html 2023-03-13 03:03:37 +03:00
DarkShyMW
bd37751df1 modified: index.html 2023-03-13 03:03:00 +03:00
DarkShyMW
ceea9bc889 modified: index.html 2023-03-13 03:01:55 +03:00
DarkShyMW
91ad144bb5 modified: index.html 2023-03-13 03:00:31 +03:00
DarkShyMW
4beda5872d modified: index.html 2023-03-13 02:58:02 +03:00
DarkShyMW
adf484f165 modified: index.html 2023-03-13 02:56:53 +03:00
DarkShyMW
b35f5befe8 modified: index.html 2023-03-13 02:56:03 +03:00
DarkShyMW
193e5ede30 modified: index.html 2023-03-13 02:55:43 +03:00
DarkShyMW
00122e9bc1 modified: index.html 2023-03-13 02:52:27 +03:00
DarkShyMW
fc5c37373c modified: index.html 2023-03-13 02:51:46 +03:00
DarkShyMW
b7e6d32dab modified: index.html 2023-03-13 02:50:16 +03:00
DarkShyMW
1d2edaa85d modified: index.html 2023-03-13 02:49:42 +03:00
DarkShyMW
b925491449 modified: index.html 2023-03-13 02:49:04 +03:00
DarkShyMW
9ee3e19814 modified: index.html 2023-03-13 02:47:56 +03:00
DarkShyMW
b8675f53aa Changes to be committed:
modified:   index.html
	new file:   js/fuckbad.js
2023-03-13 02:46:59 +03:00
DarkShyMW
99d2abb69e Changes to be committed:
modified:   css/style.css
2023-03-13 01:43:46 +03:00
DarkShyMW
0b76394671 Changes to be committed:
new file:   about.html
 Changes not staged for commit:
	modified:   css/style.css
2023-03-13 01:43:33 +03:00
DarkShyMW
c919666a09 <!-- AD BLOCK NEED FOR WE CAN WORKS --> 2023-03-13 01:26:09 +03:00
DarkShyMW
07c6b21631 modified: js/pwabuilder-sw.js 2023-03-13 01:21:32 +03:00
5 changed files with 433 additions and 137 deletions

0
about.html Normal file
View File

View File

@@ -1,61 +1,125 @@
* {
box-sizing: border-box;
}
body { body {
background-color: rgb(100, 100, 100); margin: 0;
color: chartreuse; padding: 0;
font-family: monospace; background-color: #0a0a0a;
color: #e1e1e1;
font-family: 'Courier New', Courier, monospace;
text-align: center;
} }
.header { header {
text-align: center; display: flex;
justify-content: center;
align-items: center;
height: 30vh;
border-bottom: 2px solid #00ff00;
} }
#blink { .terminal {
-webkit-animation: blink 1.5s linear infinite; width: 80%;
animation: blink 1.5s linear infinite; background: #1e1e1e;
} border: 2px solid #00ff00;
@-webkit-keyframes blink { border-radius: 10px;
50% { color: rgb(34, 34, 34); }
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 {
color:rgb(0, 0, 0);
}
.shy {
color: red;
} }
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 {
.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-right: 10px;
}
.terminal-body {
padding: 20px;
color: #e1e1e1;
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; display: block;
margin-left: auto;
margin-right: auto;
}
.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 { .project-links a {
outline: none; display: inline-block;
margin: 10px;
padding: 10px 20px;
color: #00ff00;
text-decoration: none; text-decoration: none;
padding: 2px 1px 0; border: 2px solid #00ff00;
color:#0ed1f8; 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;
} }

View File

@@ -1,91 +1,73 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="RU"> <html lang="ru">
<head> <head>
<title>DarkShy - main page</title> <meta charset="UTF-8">
<meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="DarkShy - main page"> <meta name="description" content="Личный сайт DarkShy, системного администратора и разработчика в стиле терминала Linux.">
<meta name="description" content="Серая пегаска, среднего роста, примерно 60 см в холке. Имеет серый окрас и черно-красную гриву. Любит заниматься серверным оборудованием."> <meta name="keywords" content="DarkShy, системный администратор, разработчик, терминал, Linux, блог">
<meta name="keywords" content="DarkShy, pony, bronyfurry, mlp, cisco, пони, серая пони, черно-красная грива"> <meta name="author" content="DarkShy">
<meta name="robots" content="index, follow"> <meta property="og:title" content="DarkShy - Личный сайт">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta property="og:description" content="Личный сайт DarkShy, системного администратора и разработчика. Узнай обо мне больше!">
<meta name="language" content="Russian"> <meta property="og:image" content="/img/log.webp">
<meta name="revisit-after" content="5 days"> <meta property="og:url" content="https://darkshy.bronyfurry.com">
<meta name="author" content="Dark Shy"> <meta property="og:type" content="website">
<meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="icon" href="/img/favicon.ico" type="image/x-icon">
<meta name="format-detection" content="telephone=no"> <title>DarkShy - Личный сайт</title>
<meta name="apple-mobile-web-app-capable" content="yes"> <link rel="stylesheet" href="/css/style.css">
<meta name="theme-color" content="black"> </head>
<meta name="color-scheme" content="dark"> <body>
<link rel="icon" type="image/x-icon" href="/img/favicon.ico"> <header class="header">
<link rel="manifest" href="manifest.json"> <div class="terminal">
<link rel="apple-touch-icon" href="/img/favicon.ico"> <div class="terminal-header">
<link rel="stylesheet" href="/css/bootstrap.min.css"> <span class="circle red"></span>
<link rel="stylesheet" href="/css/style.css"> <span class="circle yellow"></span>
<!-- Open Graph Generated: a.pr-cy.ru --> <span class="circle green"></span>
<meta property="og:type" content="website"> <span class="terminal-title">darkshy@bronyfurry:~</span>
<meta property="og:title" content="DarkShy - сайт серой пегаски"> </div>
<meta property="og:description" content="Серая пегаска, среднего роста, примерно 60 см в холке. Имеет серый окрас и черно-красную гриву. Любит заниматься серверным оборудованием."> <div class="terminal-body">
<meta property="og:url" content="https://darkshy.bronyfurry.com"> <h1>darkshy@bronyfurry:~ <span id="blink">|</span></h1>
<meta property="og:image" content="https://darkshy.bronyfurry.com/img/log.webp"> <p>Привет! Добро пожаловать на мой личный сайт в стиле терминала Linux.</p>
<meta property="og:site_name" content="DarkShy"> </div>
<meta property="og:locale" content="ru_RU">
<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:site" content="@yaoinayakoro4ka">
<meta property="twitter:creator" content="@yaoinayakoro4ka">
<meta property="twitter:image:src" content="https://darkshy.bronyfurry.com/img/log.webp">
</head>
<body>
<h1 class="header">darkshy@bronyfurry:~ <span class="dark">Dark<span class="shy">Shy</span></h1>
<h2 class="header outro">Просто серая пегаска..<span id="blink">|</span></h2>
<h2 class="header" style="padding-top: 25px; padding-left: 25px; padding-right: 25px;">Обо мне</h2>
<div style="padding-top: 15px; 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;">Меня зовут DarkShy. В свободное время я занимаюсь изучением программирования на языке NodeJS, а так же занимаюсь сайтами. По профессии я - системный администратор. На картинке изображена моя ОС-ка. </p>
</div> </div>
<figure class="img-fluid" style="padding-top: 15px; padding-bottom: 15px; padding-left: 30%; padding-right: 30%; --bs-card-border-color: chartreuse;"> </header>
<img src="/img/log.webp" width="100%" height="50%" alt="DarkShy" loading="lazy">
</figure>
<h2 class="header" style="padding-top: 25px; padding-left: 25px; padding-right: 25px;">Мои проекты</h2>
<div style="padding-top: 15px; 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;">
<a href="https://bronyfurry.com/?from=darkshy" target="_blank" rel="follow" class="btn btn-success" role="button" data-bs-toggle="button" style="margin-top: 5px;">BronyFurry fediverse</a>
<a href="https://github.com/darkshymw" target="_blank" class="btn btn-dark" role="button" data-bs-toggle="button" style="margin-top: 5px;">Мой Github</a>
<a href="https://vk.com/gigisarts" target="_blank" class="btn btn-warning" role="button" data-bs-toggle="button" style="margin-top: 5px;">Паблик с рисунками</a>
<a href="/offline.html" target="_blank" rel="follow" class="btn btn-info" role="button" data-bs-toggle="button" style="margin-top: 5px;">Страница offline</a>
</p>
</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>
</body>
<script async>
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" async >
(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", { <main>
clickmap:true, <section class="about">
trackLinks:true, <h2>Обо мне</h2>
accurateTrackBounce:true, <p>Меня зовут DarkShy. Я системный администратор и разработчик, увлекаюсь программированием на NodeJS и созданием веб-сайтов. Когда я не работаю, я разрабатываю свои проекты и изучаю новые технологии.</p>
webvisor:true <p>Люблю делиться знаниями, поэтому также веду блог и работаю в сфере образования.</p>
}); </section>
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/80486719" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <section class="image-section">
<!-- /Yandex.Metrika counter --> <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>
</footer>
<script>
// Можно добавить функциональность, например, для бл blinking текста
setInterval(() => {
const blinkElement = document.getElementById("blink");
blinkElement.style.opacity = (blinkElement.style.opacity === "0" ? "1" : "0");
}, 1000);
</script>
</body>
</html> </html>

250
js/fuckbad.js Normal file
View 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);

View File

@@ -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');