From 10f2c556433b441dccf836d5b9cee2436354c64a Mon Sep 17 00:00:00 2001 From: FullGreaM Date: Fri, 14 Jun 2024 13:46:20 +0300 Subject: [PATCH] update site --- assets/clipboard.js | 66 +- assets/encode-converter.js | 92 +- assets/main.css | 200 ++--- assets/main.csv | 6 +- assets/main.js | 180 ++-- assets/pages/blog.js | 252 +++--- assets/pages/password-manager.js | 34 +- assets/posts/photo_2024-05-28_21-15-13.jpg | Bin 0 -> 111356 bytes assets/sha1.js | 976 ++++++++++----------- blog/index.html | 62 +- blog/posts.json | 121 +-- contacts/index.html | 62 +- files/fix-mods.csv | 466 +++++----- fl_dir/blog/index.html | 168 ++-- fl_dir/contacts/index.html | 36 +- fl_dir/documentation.html | 42 +- fl_dir/index.html | 92 +- fl_dir/main-mobile/index.html | 36 +- fl_dir/mobile-warning/index.html | 12 +- fl_dir/password-manager/index.html | 54 +- fl_dir/projects/_dev.index.html | 52 +- fl_dir/projects/index.html | 8 +- fl_framework/index.js | 264 +++--- fl_system/404.html | 6 +- index.html | 66 +- mobile-warning/index.html | 62 +- password-manager/index.html | 66 +- projects/blog/index.html | 62 +- projects/index.html | 66 +- 29 files changed, 1817 insertions(+), 1792 deletions(-) create mode 100644 assets/posts/photo_2024-05-28_21-15-13.jpg diff --git a/assets/clipboard.js b/assets/clipboard.js index 5b62bf3..be661ef 100644 --- a/assets/clipboard.js +++ b/assets/clipboard.js @@ -1,34 +1,34 @@ -function fallbackCopyTextToClipboard(text) { - var textArea = document.createElement("textarea"); - textArea.value = text; - - // Avoid scrolling to bottom - textArea.style.top = "0"; - textArea.style.left = "0"; - textArea.style.position = "fixed"; - - document.body.appendChild(textArea); - textArea.focus(); - textArea.select(); - - try { - var successful = document.execCommand('copy'); - var msg = successful ? 'successful' : 'unsuccessful'; - console.log('Fallback: Copying text command was ' + msg); - } catch (err) { - console.error('Fallback: Oops, unable to copy', err); - } - - document.body.removeChild(textArea); -} -export function copyTextToClipboard(text) { - if (!navigator.clipboard) { - fallbackCopyTextToClipboard(text); - return; - } - navigator.clipboard.writeText(text).then(function() { - console.log('Async: Copying to clipboard was successful!'); - }, function(err) { - console.error('Async: Could not copy text: ', err); - }); +function fallbackCopyTextToClipboard(text) { + var textArea = document.createElement("textarea"); + textArea.value = text; + + // Avoid scrolling to bottom + textArea.style.top = "0"; + textArea.style.left = "0"; + textArea.style.position = "fixed"; + + document.body.appendChild(textArea); + textArea.focus(); + textArea.select(); + + try { + var successful = document.execCommand('copy'); + var msg = successful ? 'successful' : 'unsuccessful'; + console.log('Fallback: Copying text command was ' + msg); + } catch (err) { + console.error('Fallback: Oops, unable to copy', err); + } + + document.body.removeChild(textArea); +} +export function copyTextToClipboard(text) { + if (!navigator.clipboard) { + fallbackCopyTextToClipboard(text); + return; + } + navigator.clipboard.writeText(text).then(function() { + console.log('Async: Copying to clipboard was successful!'); + }, function(err) { + console.error('Async: Could not copy text: ', err); + }); } \ No newline at end of file diff --git a/assets/encode-converter.js b/assets/encode-converter.js index 710d257..60e0804 100644 --- a/assets/encode-converter.js +++ b/assets/encode-converter.js @@ -1,47 +1,47 @@ -if (!window.atob) { - var tableStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - var table = tableStr.split(""); - - window.atob = function (base64) { - if (/(=[^=]+|={3,})$/.test(base64)) throw new Error("String contains an invalid character"); - base64 = base64.replace(/=/g, ""); - var n = base64.length & 3; - if (n === 1) throw new Error("String contains an invalid character"); - for (var i = 0, j = 0, len = base64.length / 4, bin = []; i < len; ++i) { - var a = tableStr.indexOf(base64[j++] || "A"), b = tableStr.indexOf(base64[j++] || "A"); - var c = tableStr.indexOf(base64[j++] || "A"), d = tableStr.indexOf(base64[j++] || "A"); - if ((a | b | c | d) < 0) throw new Error("String contains an invalid character"); - bin[bin.length] = ((a << 2) | (b >> 4)) & 255; - bin[bin.length] = ((b << 4) | (c >> 2)) & 255; - bin[bin.length] = ((c << 6) | d) & 255; - }; - return String.fromCharCode.apply(null, bin).substr(0, bin.length + n - 4); - }; - - window.btoa = function (bin) { - for (var i = 0, j = 0, len = bin.length / 3, base64 = []; i < len; ++i) { - var a = bin.charCodeAt(j++), b = bin.charCodeAt(j++), c = bin.charCodeAt(j++); - if ((a | b | c) > 255) throw new Error("String contains an invalid character"); - base64[base64.length] = table[a >> 2] + table[((a << 4) & 63) | (b >> 4)] + - (isNaN(b) ? "=" : table[((b << 2) & 63) | (c >> 6)]) + - (isNaN(b + c) ? "=" : table[c & 63]); - } - return base64.join(""); - }; - -} - -export function hexToBase64(str) { - return btoa(String.fromCharCode.apply(null, - str.replace(/\r|\n/g, "").replace(/([\da-fA-F]{2}) ?/g, "0x$1 ").replace(/ +$/, "").split(" ")) - ); -} - -export function base64ToHex(str) { - for (var i = 0, bin = atob(str.replace(/[ \r\n]+$/, "")), hex = []; i < bin.length; ++i) { - var tmp = bin.charCodeAt(i).toString(16); - if (tmp.length === 1) tmp = "0" + tmp; - hex[hex.length] = tmp; - } - return hex.join(" "); +if (!window.atob) { + var tableStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var table = tableStr.split(""); + + window.atob = function (base64) { + if (/(=[^=]+|={3,})$/.test(base64)) throw new Error("String contains an invalid character"); + base64 = base64.replace(/=/g, ""); + var n = base64.length & 3; + if (n === 1) throw new Error("String contains an invalid character"); + for (var i = 0, j = 0, len = base64.length / 4, bin = []; i < len; ++i) { + var a = tableStr.indexOf(base64[j++] || "A"), b = tableStr.indexOf(base64[j++] || "A"); + var c = tableStr.indexOf(base64[j++] || "A"), d = tableStr.indexOf(base64[j++] || "A"); + if ((a | b | c | d) < 0) throw new Error("String contains an invalid character"); + bin[bin.length] = ((a << 2) | (b >> 4)) & 255; + bin[bin.length] = ((b << 4) | (c >> 2)) & 255; + bin[bin.length] = ((c << 6) | d) & 255; + }; + return String.fromCharCode.apply(null, bin).substr(0, bin.length + n - 4); + }; + + window.btoa = function (bin) { + for (var i = 0, j = 0, len = bin.length / 3, base64 = []; i < len; ++i) { + var a = bin.charCodeAt(j++), b = bin.charCodeAt(j++), c = bin.charCodeAt(j++); + if ((a | b | c) > 255) throw new Error("String contains an invalid character"); + base64[base64.length] = table[a >> 2] + table[((a << 4) & 63) | (b >> 4)] + + (isNaN(b) ? "=" : table[((b << 2) & 63) | (c >> 6)]) + + (isNaN(b + c) ? "=" : table[c & 63]); + } + return base64.join(""); + }; + +} + +export function hexToBase64(str) { + return btoa(String.fromCharCode.apply(null, + str.replace(/\r|\n/g, "").replace(/([\da-fA-F]{2}) ?/g, "0x$1 ").replace(/ +$/, "").split(" ")) + ); +} + +export function base64ToHex(str) { + for (var i = 0, bin = atob(str.replace(/[ \r\n]+$/, "")), hex = []; i < bin.length; ++i) { + var tmp = bin.charCodeAt(i).toString(16); + if (tmp.length === 1) tmp = "0" + tmp; + hex[hex.length] = tmp; + } + return hex.join(" "); } \ No newline at end of file diff --git a/assets/main.css b/assets/main.css index 0fd8972..19d2ae2 100644 --- a/assets/main.css +++ b/assets/main.css @@ -1,101 +1,101 @@ -.carousel > .carousel-inner > .carousel-item > img { - width : 100vh; - height : calc(100vh - 56px); - /* height : 10vh; */ -} - -/*.main-window-alt { - width : 100vh; - height : calc(100vh - 56px); -}*/ - -.centered-el { - padding-top : 45vh; -} - -.bg { - background-color : #1A1A1A; -} - -.release-menu { - /* Margin */ - margin-left : 35vh; - margin-right : 35vh; - margin-top : 5vh; - /* Padding */ - padding-left : 5vh; - padding-right : 5vh; - padding-top : 5vh; - padding-bottom : 5vh; - /* Style */ - border-radius : 2.0vh; - background-color : #1F1F1F; -} - -.release-item { - /* Margin */ - margin-left : 5vh; - margin-right : 45vh; - margin-top : 5vh; - /* Padding */ - padding-left : 5vh; - padding-right : 5vh; - padding-top : 5vh; - padding-bottom : 5vh; - /* Style */ - border-radius : 2.0vh; - background-color : #252525; -} - -.sys-win-img { - margin-top: 24vh; - margin-bottom: 1vh; - width : 25vh; - height : 25vh; -} - -.blog-post-card { - border-radius : 25px; - background-color: #212121; - min-width: 250px; - min-height : 250px; - margin-left : 25%; - margin-right : 25%; -} - -.blog-post-image-carousel { - margin-left: 10%; - margin-right: 10%; - max-height: 512px; - overflow: hidden; -} - -.blog-post-image-carousel img { - object-fit: cover; -} - -.modal-img-view { - width: 1920px; - margin: auto; -} - -.password-manger-form { - margin-left : 30%; - margin-right : 30%; - padding : 10px; - padding-left : 65px; - padding-right : 65px; - border-radius : 15px; -} - -/* $accordion-color:green; */ -/* $accordion-padding-y:1.3rem; */ -/* $accordion-padding-x:2.5rem; */ -/* $accordion-border-color:black; */ -/* $accordion-border-width:3.5px; */ -/* $accordion-border-radius: 3rem; */ -/* $accordion-button-color:white; */ -/* $accordion-button-bg:green; */ -/* $accordion-button-active-bg: white; */ -/* $accordion-button-active-color:green; */ +.carousel > .carousel-inner > .carousel-item > img { + width : 100vh; + height : calc(100vh - 56px); + /* height : 10vh; */ +} + +/*.main-window-alt { + width : 100vh; + height : calc(100vh - 56px); +}*/ + +.centered-el { + padding-top : 45vh; +} + +.bg { + background-color : #1A1A1A; +} + +.release-menu { + /* Margin */ + margin-left : 35vh; + margin-right : 35vh; + margin-top : 5vh; + /* Padding */ + padding-left : 5vh; + padding-right : 5vh; + padding-top : 5vh; + padding-bottom : 5vh; + /* Style */ + border-radius : 2.0vh; + background-color : #1F1F1F; +} + +.release-item { + /* Margin */ + margin-left : 5vh; + margin-right : 45vh; + margin-top : 5vh; + /* Padding */ + padding-left : 5vh; + padding-right : 5vh; + padding-top : 5vh; + padding-bottom : 5vh; + /* Style */ + border-radius : 2.0vh; + background-color : #252525; +} + +.sys-win-img { + margin-top: 24vh; + margin-bottom: 1vh; + width : 25vh; + height : 25vh; +} + +.blog-post-card { + border-radius : 25px; + background-color: #212121; + min-width: 250px; + min-height : 250px; + margin-left : 25%; + margin-right : 25%; +} + +.blog-post-image-carousel { + margin-left: 10%; + margin-right: 10%; + max-height: 512px; + overflow: hidden; +} + +.blog-post-image-carousel img { + object-fit: cover; +} + +.modal-img-view { + width: 1920px; + margin: auto; +} + +.password-manger-form { + margin-left : 30%; + margin-right : 30%; + padding : 10px; + padding-left : 65px; + padding-right : 65px; + border-radius : 15px; +} + +/* $accordion-color:green; */ +/* $accordion-padding-y:1.3rem; */ +/* $accordion-padding-x:2.5rem; */ +/* $accordion-border-color:black; */ +/* $accordion-border-width:3.5px; */ +/* $accordion-border-radius: 3rem; */ +/* $accordion-button-color:white; */ +/* $accordion-button-bg:green; */ +/* $accordion-button-active-bg: white; */ +/* $accordion-button-active-color:green; */ /* @import "./node_modules/bootstrap/scss/bootstrap" */ \ No newline at end of file diff --git a/assets/main.csv b/assets/main.csv index 93fca83..042103d 100644 --- a/assets/main.csv +++ b/assets/main.csv @@ -1,4 +1,4 @@ -.carousel { - width:640px; - height:360px; +.carousel { + width:640px; + height:360px; } \ No newline at end of file diff --git a/assets/main.js b/assets/main.js index 44b89d4..9c43d37 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,91 +1,91 @@ -import { blog } from "./pages/blog.js"; -import { passwordManager } from "./pages/password-manager.js"; -/* Альтернативное главное меню */ -let altMenuSelectedPage = 1; -const altPages = [ - `
Добро пожаловать на мой ресурс

Это официальный ресурс FullGreaM.

`, - `
О проектах и работах
-

Здесь представлены мои проекты, работы с активными и актуальными ссылками на скачивание.

- `, - `
О прочей информации
-

Также здесь представлен (или будет представлен) мой личный блог, а также, блог, касающийся моих проектов или проектов моей команды.

- ` -]; -function setAltMenuPage(pageNumber) { - altMenuSelectedPage = pageNumber; - if (altMenuSelectedPage <= 0) { - altMenuSelectedPage = 3; - } - else if (altMenuSelectedPage > 3) { - altMenuSelectedPage = 1; - } - document.getElementsByTagName('body')[0].style.backgroundImage = `url("/assets/hello/m/${altMenuSelectedPage}.png")`; - document.getElementById('alt-carousel-viewer').innerHTML = altPages[altMenuSelectedPage - 1]; -}; -/* Альтернативное главное меню */ -setTimeout(async () => { - fl.go(window.location.pathname + location.search) -}, 50); - -let isMobile = window.screen.availWidth / window.screen.availHeight <= 1.45; - -function goFromMobileWarning () { - const currentURL = new URL(location.href); - if (!document.cookie.includes('warning_showed=true')) document.cookie += 'warning_showed=true;'; - fl.go(currentURL.searchParams.get("go")); -} - -if (isMobile && !document.cookie.includes('warning_showed=true')) { - // Я это уберу как только буду уверен, что на мобильной версии нет никаких проблем - fl.go('/mobile-warning?go=' + new URLSearchParams(location.pathname + location.search).toString().slice(0, -1)); -} - -fl.bindLoad('/blog', () => { - blog(); -}); -fl.bindLoad('/password-manager', () => { - passwordManager(); -}); - -fl.bindLoad('/main-mobile', () => { - document.getElementById('alt-main-prev').onclick = () => setAltMenuPage(altMenuSelectedPage - 1); - document.getElementById('alt-main-next').onclick = () => setAltMenuPage(altMenuSelectedPage + 1); -}); - -fl.bindLoad('/mobile-warning', () => { - document.getElementById('mobile-warning-go').onclick = () => goFromMobileWarning(); -}); - -let mainMenuErrorHandled = false; - -setInterval(async () => { -// setTimeout(async () => { - const navbarHeight = +(document.getElementById("navbar-main")?.offsetHeight); - if (!mainMenuErrorHandled && location.pathname == "/" && document.getElementById('main_img1')?.src) { - document.getElementById('main_img1').src = window.screen.availWidth / window.screen.availHeight > 1.45 ? "/assets/hello/1.png" : "/assets/hello/m/1.png"; - document.getElementById('main_img2').src = window.screen.availWidth / window.screen.availHeight > 1.45 ? "/assets/hello/2.png" : "/assets/hello/m/2.png"; - document.getElementById('main_img3').src = window.screen.availWidth / window.screen.availHeight > 1.45 ? "/assets/hello/3.png" : "/assets/hello/m/3.png"; - } - const selectedCSS = Object.entries(document.styleSheets).filter(([key, cssFileObject]) => cssFileObject.href == `${location.origin}/assets/main.css`)[0][1]; - Object.entries(selectedCSS.rules).filter(([key, rule]) => rule.selectorText == '.carousel > .carousel-inner > .carousel-item > img')[0][1].style.height = `calc(100vh - ${navbarHeight}px)` - - const currHtml = document.getElementById('alt-carousel-viewer')?.innerHTML; - mainMenuErrorHandled = currHtml?.trim() == altPages[altMenuSelectedPage - 1]?.trim(); - - if (!mainMenuErrorHandled && window.screen.availWidth < 768 && location.pathname == "/") { // Обработка ошибки вёрстки на главной странице - mainMenuErrorHandled = true; - setTimeout(async () => { - fl.goJust('/main-mobile', false); - document.getElementsByTagName('body')[0].style.backgroundImage = 'url("/assets/hello/m/1.png")'; - }, 150); - } - else if (mainMenuErrorHandled && window.screen.availWidth >= 768 && location.pathname == "/") { // Вернуть нормальную версию вёрстки - mainMenuErrorHandled = false; - document.getElementsByTagName('body')[0].style.backgroundImage = ''; - fl.goJust('/', false); - } - else if (location.pathname !== "/") { - mainMenuErrorHandled = false; - document.getElementsByTagName('body')[0].style.backgroundImage = ''; - } +import { blog } from "./pages/blog.js"; +import { passwordManager } from "./pages/password-manager.js"; +/* Альтернативное главное меню */ +let altMenuSelectedPage = 1; +const altPages = [ + `
Добро пожаловать на мой ресурс

Это официальный ресурс FullGreaM.

`, + `
О проектах и работах
+

Здесь представлены мои проекты, работы с активными и актуальными ссылками на скачивание.

+ `, + `
О прочей информации
+

Также здесь представлен (или будет представлен) мой личный блог, а также, блог, касающийся моих проектов или проектов моей команды.

+ ` +]; +function setAltMenuPage(pageNumber) { + altMenuSelectedPage = pageNumber; + if (altMenuSelectedPage <= 0) { + altMenuSelectedPage = 3; + } + else if (altMenuSelectedPage > 3) { + altMenuSelectedPage = 1; + } + document.getElementsByTagName('body')[0].style.backgroundImage = `url("/assets/hello/m/${altMenuSelectedPage}.png")`; + document.getElementById('alt-carousel-viewer').innerHTML = altPages[altMenuSelectedPage - 1]; +}; +/* Альтернативное главное меню */ +setTimeout(async () => { + fl.go(window.location.pathname + location.search) +}, 50); + +let isMobile = window.screen.availWidth / window.screen.availHeight <= 1.45; + +function goFromMobileWarning () { + const currentURL = new URL(location.href); + if (!document.cookie.includes('warning_showed=true')) document.cookie += 'warning_showed=true;'; + fl.go(currentURL.searchParams.get("go")); +} + +if (isMobile && !document.cookie.includes('warning_showed=true')) { + // Я это уберу как только буду уверен, что на мобильной версии нет никаких проблем + fl.go('/mobile-warning?go=' + new URLSearchParams(location.pathname + location.search).toString().slice(0, -1)); +} + +fl.bindLoad('/blog', () => { + blog(); +}); +fl.bindLoad('/password-manager', () => { + passwordManager(); +}); + +fl.bindLoad('/main-mobile', () => { + document.getElementById('alt-main-prev').onclick = () => setAltMenuPage(altMenuSelectedPage - 1); + document.getElementById('alt-main-next').onclick = () => setAltMenuPage(altMenuSelectedPage + 1); +}); + +fl.bindLoad('/mobile-warning', () => { + document.getElementById('mobile-warning-go').onclick = () => goFromMobileWarning(); +}); + +let mainMenuErrorHandled = false; + +setInterval(async () => { +// setTimeout(async () => { + const navbarHeight = +(document.getElementById("navbar-main")?.offsetHeight); + if (!mainMenuErrorHandled && location.pathname == "/" && document.getElementById('main_img1')?.src) { + document.getElementById('main_img1').src = window.screen.availWidth / window.screen.availHeight > 1.45 ? "/assets/hello/1.png" : "/assets/hello/m/1.png"; + document.getElementById('main_img2').src = window.screen.availWidth / window.screen.availHeight > 1.45 ? "/assets/hello/2.png" : "/assets/hello/m/2.png"; + document.getElementById('main_img3').src = window.screen.availWidth / window.screen.availHeight > 1.45 ? "/assets/hello/3.png" : "/assets/hello/m/3.png"; + } + const selectedCSS = Object.entries(document.styleSheets).filter(([key, cssFileObject]) => cssFileObject.href == `${location.origin}/assets/main.css`)[0][1]; + Object.entries(selectedCSS.rules).filter(([key, rule]) => rule.selectorText == '.carousel > .carousel-inner > .carousel-item > img')[0][1].style.height = `calc(100vh - ${navbarHeight}px)` + + const currHtml = document.getElementById('alt-carousel-viewer')?.innerHTML; + mainMenuErrorHandled = currHtml?.trim() == altPages[altMenuSelectedPage - 1]?.trim(); + + if (!mainMenuErrorHandled && window.screen.availWidth < 768 && location.pathname == "/") { // Обработка ошибки вёрстки на главной странице + mainMenuErrorHandled = true; + setTimeout(async () => { + fl.goJust('/main-mobile', false); + document.getElementsByTagName('body')[0].style.backgroundImage = 'url("/assets/hello/m/1.png")'; + }, 150); + } + else if (mainMenuErrorHandled && window.screen.availWidth >= 768 && location.pathname == "/") { // Вернуть нормальную версию вёрстки + mainMenuErrorHandled = false; + document.getElementsByTagName('body')[0].style.backgroundImage = ''; + fl.goJust('/', false); + } + else if (location.pathname !== "/") { + mainMenuErrorHandled = false; + document.getElementsByTagName('body')[0].style.backgroundImage = ''; + } }, 1); \ No newline at end of file diff --git a/assets/pages/blog.js b/assets/pages/blog.js index e671630..8faeff7 100644 --- a/assets/pages/blog.js +++ b/assets/pages/blog.js @@ -1,122 +1,130 @@ -const blogpostsUrl = "/blog/posts.json"; - -function bindImageView (id, url) { - document.getElementById(id).onclick = () => { - const imageModal = new bootstrap.Modal(document.getElementById('imageModal'), {}); - imageModal.show(); - document.getElementById('image-viewer-url').src = url; - }; -} - -function testBlock () { - return; // uncomment this at realese - bindImageView('blog-img-0:0', 'https://warhammerart.com/wp-content/uploads/2021/08/Adeptus-Mechanicus.jpg'); - bindImageView('blog-img-0:1', 'https://warzonestudio.com/image/catalog/blog/Admech-review/Admech-codex-review-02.jpg'); - bindImageView('blog-img-0:2', 'https://i.pinimg.com/originals/7a/5c/0a/7a5c0a3a91db6011a49781c4016124a2.jpg'); -} - -function dateFormater (value) { - value = value.toString(); - if (value.length === 1) value = '0' + value; - return value; -} - -function imagesDisplay (item, index) { - const items = item.attachments.images.map((imageUrl, imageId) => { - setTimeout(() => bindImageView(`blog-img-${index}:${imageId}`, imageUrl), 0); - return `
...
` - }); - const buttons = items.map((_, id) => ``); - return { items, buttons }; -} - -function generateItem (item, index) { - const date = new Date(item.date * 1000); - const images = item.attachments.images.length === 0 ? { - buttons : [], - items : [] - } : imagesDisplay(item, index); - // console.log(date); - - const page = `
-
-

${item.title}

- -
Опубликовано: ${dateFormater(date.getDate())}.${dateFormater(date.getMonth())}.${date.getFullYear()} в ${date.getHours()}:${dateFormater(date.getMinutes())}
- -
-
-

${item.data.replace(/\n/g, "
")}

- -
- - - - -
- - - - - -
`; - - return page; -} - -export function blog () { - //testBlock(); - const xhr = new XMLHttpRequest(); - xhr.open('GET', blogpostsUrl, true); - - xhr.onerror = () => { - document.getElementById('blog-posts').innerHTML = `

Упс..

Во время работы произошла ошибка, повторите запрос позже

`; - } - - xhr.onload = () => { - try { - if (xhr.status === 200) { - // console.log(xhr.response); - const data = JSON.parse(xhr.response); - // console.log(data); - document.getElementById('blog-posts').innerHTML = '
'; - data.posts.sort((a, b) => b.date - a.date).forEach((item, index) => { - document.getElementById('blog-posts').innerHTML += generateItem(item, index); - }); - } - else { - xhr.onerror(); - } - } - catch (err) { - console.log(err); - return xhr.onerror(); - } - }; - - xhr.send(); -} \ No newline at end of file +const blogpostsUrl = "/blog/posts.json"; + +function bindImageView (id, url) { + document.getElementById(id).onclick = () => { + const imageModal = new bootstrap.Modal(document.getElementById('imageModal'), {}); + imageModal.show(); + document.getElementById('image-viewer-url').src = url; + }; +} + +function testBlock () { + return; // uncomment this at realese + bindImageView('blog-img-0:0', 'https://warhammerart.com/wp-content/uploads/2021/08/Adeptus-Mechanicus.jpg'); + bindImageView('blog-img-0:1', 'https://warzonestudio.com/image/catalog/blog/Admech-review/Admech-codex-review-02.jpg'); + bindImageView('blog-img-0:2', 'https://i.pinimg.com/originals/7a/5c/0a/7a5c0a3a91db6011a49781c4016124a2.jpg'); +} + +function dateFormater (value, isMonth = false) { + if (isMonth) { + return [ + "01", "02", "03", + "04", "05", "06", + "07", "08", "09", + "10", "11", "12" + ][+value]; + } + value = value.toString(); + if (value.length === 1) value = '0' + value; + return value; +} + +function imagesDisplay (item, index) { + const items = item.attachments.images.map((imageUrl, imageId) => { + setTimeout(() => bindImageView(`blog-img-${index}:${imageId}`, imageUrl), 0); + return `
...
` + }); + const buttons = items.map((_, id) => ``); + return { items, buttons }; +} + +function generateItem (item, index) { + const date = new Date(item.date * 1000); + const images = item.attachments.images.length === 0 ? { + buttons : [], + items : [] + } : imagesDisplay(item, index); + // console.log(date); + + const page = `
+
+

${item.title}

+ +
Опубликовано: ${dateFormater(date.getDate())}.${dateFormater(date.getMonth(), true)}.${date.getFullYear()} в ${date.getHours()}:${dateFormater(date.getMinutes())}
+ +
+
+

${item.data.replace(/\n/g, "
")}

+ +
+ + + + +
+ + + + + +
`; + + return page; +} + +export function blog () { + //testBlock(); + const xhr = new XMLHttpRequest(); + xhr.open('GET', blogpostsUrl, true); + + xhr.onerror = () => { + document.getElementById('blog-posts').innerHTML = `

Упс..

Во время работы произошла ошибка, повторите запрос позже

`; + } + + xhr.onload = () => { + try { + if (xhr.status === 200) { + // console.log(xhr.response); + const data = JSON.parse(xhr.response); + // console.log(data); + document.getElementById('blog-posts').innerHTML = '
'; + data.posts.sort((a, b) => b.date - a.date).forEach((item, index) => { + document.getElementById('blog-posts').innerHTML += generateItem(item, index); + }); + } + else { + xhr.onerror(); + } + } + catch (err) { + console.log(err); + return xhr.onerror(); + } + }; + + xhr.send(); +} diff --git a/assets/pages/password-manager.js b/assets/pages/password-manager.js index 0008239..ba517a4 100644 --- a/assets/pages/password-manager.js +++ b/assets/pages/password-manager.js @@ -1,18 +1,18 @@ -import {} from "/assets/sha1.js"; -import { hexToBase64 } from "/assets/encode-converter.js"; -import { copyTextToClipboard } from "/assets/clipboard.js"; - -function generatePassword () { - const generatedPasswordElement = document.getElementById('generated-password'); - const keyword = document.getElementById('keyword').value; - const service = document.getElementById('service').value.toLowerCase();; - const login = document.getElementById('login').value.toLowerCase();; - - const generatedPassword = hexToBase64(sha1(`${keyword}::${service}::${login}`)) + "#"; - generatedPasswordElement.value = generatedPassword; -} - -export function passwordManager () { - document.getElementById('generate-password').onclick = generatePassword; - document.getElementById('copy-password').onclick = () => copyTextToClipboard(document.getElementById('generated-password').value); +import {} from "/assets/sha1.js"; +import { hexToBase64 } from "/assets/encode-converter.js"; +import { copyTextToClipboard } from "/assets/clipboard.js"; + +function generatePassword () { + const generatedPasswordElement = document.getElementById('generated-password'); + const keyword = document.getElementById('keyword').value; + const service = document.getElementById('service').value.toLowerCase();; + const login = document.getElementById('login').value.toLowerCase();; + + const generatedPassword = hexToBase64(sha1(`${keyword}::${service}::${login}`)) + "#"; + generatedPasswordElement.value = generatedPassword; +} + +export function passwordManager () { + document.getElementById('generate-password').onclick = generatePassword; + document.getElementById('copy-password').onclick = () => copyTextToClipboard(document.getElementById('generated-password').value); } \ No newline at end of file diff --git a/assets/posts/photo_2024-05-28_21-15-13.jpg b/assets/posts/photo_2024-05-28_21-15-13.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85f497c92e907f651c50856be179392d03a5504b GIT binary patch literal 111356 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 literal 0 HcmV?d00001 diff --git a/assets/sha1.js b/assets/sha1.js index 79bab00..fbb0d33 100644 --- a/assets/sha1.js +++ b/assets/sha1.js @@ -1,489 +1,489 @@ -/* - * [js-sha1]{@link https://github.com/emn178/js-sha1} - * - * @version 0.6.0 - * @author Chen, Yi-Cyuan [emn178@gmail.com] - * @copyright Chen, Yi-Cyuan 2014-2017 - * @license MIT - */ -!(function () { - "use strict"; - function t(t) { - t - ? ((f[0] = - f[16] = - f[1] = - f[2] = - f[3] = - f[4] = - f[5] = - f[6] = - f[7] = - f[8] = - f[9] = - f[10] = - f[11] = - f[12] = - f[13] = - f[14] = - f[15] = - 0), - (this.blocks = f)) - : (this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), - (this.h0 = 1732584193), - (this.h1 = 4023233417), - (this.h2 = 2562383102), - (this.h3 = 271733878), - (this.h4 = 3285377520), - (this.block = this.start = this.bytes = this.hBytes = 0), - (this.finalized = this.hashed = !1), - (this.first = !0); - } - var h = "object" == typeof window ? window : {}, - s = - !h.JS_SHA1_NO_NODE_JS && - "object" == typeof process && - process.versions && - process.versions.node; - s && (h = global); - var i = - !h.JS_SHA1_NO_COMMON_JS && "object" == typeof module && module.exports, - e = "function" == typeof define && define.amd, - r = "0123456789abcdef".split(""), - o = [-2147483648, 8388608, 32768, 128], - n = [24, 16, 8, 0], - a = ["hex", "array", "digest", "arrayBuffer"], - f = [], - u = function (h) { - return function (s) { - return new t(!0).update(s)[h](); - }; - }, - c = function () { - var h = u("hex"); - s && (h = p(h)), - (h.create = function () { - return new t(); - }), - (h.update = function (t) { - return h.create().update(t); - }); - for (var i = 0; i < a.length; ++i) { - var e = a[i]; - h[e] = u(e); - } - return h; - }, - p = function (t) { - var h = eval("require('crypto')"), - s = eval("require('buffer').Buffer"), - i = function (i) { - if ("string" == typeof i) - return h.createHash("sha1").update(i, "utf8").digest("hex"); - if (i.constructor === ArrayBuffer) i = new Uint8Array(i); - else if (void 0 === i.length) return t(i); - return h.createHash("sha1").update(new s(i)).digest("hex"); - }; - return i; - }; - (t.prototype.update = function (t) { - if (!this.finalized) { - var s = "string" != typeof t; - s && t.constructor === h.ArrayBuffer && (t = new Uint8Array(t)); - for (var i, e, r = 0, o = t.length || 0, a = this.blocks; r < o; ) { - if ( - (this.hashed && - ((this.hashed = !1), - (a[0] = this.block), - (a[16] = - a[1] = - a[2] = - a[3] = - a[4] = - a[5] = - a[6] = - a[7] = - a[8] = - a[9] = - a[10] = - a[11] = - a[12] = - a[13] = - a[14] = - a[15] = - 0)), - s) - ) - for (e = this.start; r < o && e < 64; ++r) - a[e >> 2] |= t[r] << n[3 & e++]; - else - for (e = this.start; r < o && e < 64; ++r) - (i = t.charCodeAt(r)) < 128 - ? (a[e >> 2] |= i << n[3 & e++]) - : i < 2048 - ? ((a[e >> 2] |= (192 | (i >> 6)) << n[3 & e++]), - (a[e >> 2] |= (128 | (63 & i)) << n[3 & e++])) - : i < 55296 || i >= 57344 - ? ((a[e >> 2] |= (224 | (i >> 12)) << n[3 & e++]), - (a[e >> 2] |= (128 | ((i >> 6) & 63)) << n[3 & e++]), - (a[e >> 2] |= (128 | (63 & i)) << n[3 & e++])) - : ((i = - 65536 + (((1023 & i) << 10) | (1023 & t.charCodeAt(++r)))), - (a[e >> 2] |= (240 | (i >> 18)) << n[3 & e++]), - (a[e >> 2] |= (128 | ((i >> 12) & 63)) << n[3 & e++]), - (a[e >> 2] |= (128 | ((i >> 6) & 63)) << n[3 & e++]), - (a[e >> 2] |= (128 | (63 & i)) << n[3 & e++])); - (this.lastByteIndex = e), - (this.bytes += e - this.start), - e >= 64 - ? ((this.block = a[16]), - (this.start = e - 64), - this.hash(), - (this.hashed = !0)) - : (this.start = e); - } - return ( - this.bytes > 4294967295 && - ((this.hBytes += (this.bytes / 4294967296) << 0), - (this.bytes = this.bytes % 4294967296)), - this - ); - } - }), - (t.prototype.finalize = function () { - if (!this.finalized) { - this.finalized = !0; - var t = this.blocks, - h = this.lastByteIndex; - (t[16] = this.block), - (t[h >> 2] |= o[3 & h]), - (this.block = t[16]), - h >= 56 && - (this.hashed || this.hash(), - (t[0] = this.block), - (t[16] = - t[1] = - t[2] = - t[3] = - t[4] = - t[5] = - t[6] = - t[7] = - t[8] = - t[9] = - t[10] = - t[11] = - t[12] = - t[13] = - t[14] = - t[15] = - 0)), - (t[14] = (this.hBytes << 3) | (this.bytes >>> 29)), - (t[15] = this.bytes << 3), - this.hash(); - } - }), - (t.prototype.hash = function () { - var t, - h, - s = this.h0, - i = this.h1, - e = this.h2, - r = this.h3, - o = this.h4, - n = this.blocks; - for (t = 16; t < 80; ++t) - (h = n[t - 3] ^ n[t - 8] ^ n[t - 14] ^ n[t - 16]), - (n[t] = (h << 1) | (h >>> 31)); - for (t = 0; t < 20; t += 5) - (s = - ((h = - ((i = - ((h = - ((e = - ((h = - ((r = - ((h = - ((o = - ((h = (s << 5) | (s >>> 27)) + - ((i & e) | (~i & r)) + - o + - 1518500249 + - n[t]) << - 0) << - 5) | - (o >>> 27)) + - ((s & (i = (i << 30) | (i >>> 2))) | (~s & e)) + - r + - 1518500249 + - n[t + 1]) << - 0) << - 5) | - (r >>> 27)) + - ((o & (s = (s << 30) | (s >>> 2))) | (~o & i)) + - e + - 1518500249 + - n[t + 2]) << - 0) << - 5) | - (e >>> 27)) + - ((r & (o = (o << 30) | (o >>> 2))) | (~r & s)) + - i + - 1518500249 + - n[t + 3]) << - 0) << - 5) | - (i >>> 27)) + - ((e & (r = (r << 30) | (r >>> 2))) | (~e & o)) + - s + - 1518500249 + - n[t + 4]) << - 0), - (e = (e << 30) | (e >>> 2)); - for (; t < 40; t += 5) - (s = - ((h = - ((i = - ((h = - ((e = - ((h = - ((r = - ((h = - ((o = - ((h = (s << 5) | (s >>> 27)) + - (i ^ e ^ r) + - o + - 1859775393 + - n[t]) << - 0) << - 5) | - (o >>> 27)) + - (s ^ (i = (i << 30) | (i >>> 2)) ^ e) + - r + - 1859775393 + - n[t + 1]) << - 0) << - 5) | - (r >>> 27)) + - (o ^ (s = (s << 30) | (s >>> 2)) ^ i) + - e + - 1859775393 + - n[t + 2]) << - 0) << - 5) | - (e >>> 27)) + - (r ^ (o = (o << 30) | (o >>> 2)) ^ s) + - i + - 1859775393 + - n[t + 3]) << - 0) << - 5) | - (i >>> 27)) + - (e ^ (r = (r << 30) | (r >>> 2)) ^ o) + - s + - 1859775393 + - n[t + 4]) << - 0), - (e = (e << 30) | (e >>> 2)); - for (; t < 60; t += 5) - (s = - ((h = - ((i = - ((h = - ((e = - ((h = - ((r = - ((h = - ((o = - ((h = (s << 5) | (s >>> 27)) + - ((i & e) | (i & r) | (e & r)) + - o - - 1894007588 + - n[t]) << - 0) << - 5) | - (o >>> 27)) + - ((s & (i = (i << 30) | (i >>> 2))) | - (s & e) | - (i & e)) + - r - - 1894007588 + - n[t + 1]) << - 0) << - 5) | - (r >>> 27)) + - ((o & (s = (s << 30) | (s >>> 2))) | (o & i) | (s & i)) + - e - - 1894007588 + - n[t + 2]) << - 0) << - 5) | - (e >>> 27)) + - ((r & (o = (o << 30) | (o >>> 2))) | (r & s) | (o & s)) + - i - - 1894007588 + - n[t + 3]) << - 0) << - 5) | - (i >>> 27)) + - ((e & (r = (r << 30) | (r >>> 2))) | (e & o) | (r & o)) + - s - - 1894007588 + - n[t + 4]) << - 0), - (e = (e << 30) | (e >>> 2)); - for (; t < 80; t += 5) - (s = - ((h = - ((i = - ((h = - ((e = - ((h = - ((r = - ((h = - ((o = - ((h = (s << 5) | (s >>> 27)) + - (i ^ e ^ r) + - o - - 899497514 + - n[t]) << - 0) << - 5) | - (o >>> 27)) + - (s ^ (i = (i << 30) | (i >>> 2)) ^ e) + - r - - 899497514 + - n[t + 1]) << - 0) << - 5) | - (r >>> 27)) + - (o ^ (s = (s << 30) | (s >>> 2)) ^ i) + - e - - 899497514 + - n[t + 2]) << - 0) << - 5) | - (e >>> 27)) + - (r ^ (o = (o << 30) | (o >>> 2)) ^ s) + - i - - 899497514 + - n[t + 3]) << - 0) << - 5) | - (i >>> 27)) + - (e ^ (r = (r << 30) | (r >>> 2)) ^ o) + - s - - 899497514 + - n[t + 4]) << - 0), - (e = (e << 30) | (e >>> 2)); - (this.h0 = (this.h0 + s) << 0), - (this.h1 = (this.h1 + i) << 0), - (this.h2 = (this.h2 + e) << 0), - (this.h3 = (this.h3 + r) << 0), - (this.h4 = (this.h4 + o) << 0); - }), - (t.prototype.hex = function () { - this.finalize(); - var t = this.h0, - h = this.h1, - s = this.h2, - i = this.h3, - e = this.h4; - return ( - r[(t >> 28) & 15] + - r[(t >> 24) & 15] + - r[(t >> 20) & 15] + - r[(t >> 16) & 15] + - r[(t >> 12) & 15] + - r[(t >> 8) & 15] + - r[(t >> 4) & 15] + - r[15 & t] + - r[(h >> 28) & 15] + - r[(h >> 24) & 15] + - r[(h >> 20) & 15] + - r[(h >> 16) & 15] + - r[(h >> 12) & 15] + - r[(h >> 8) & 15] + - r[(h >> 4) & 15] + - r[15 & h] + - r[(s >> 28) & 15] + - r[(s >> 24) & 15] + - r[(s >> 20) & 15] + - r[(s >> 16) & 15] + - r[(s >> 12) & 15] + - r[(s >> 8) & 15] + - r[(s >> 4) & 15] + - r[15 & s] + - r[(i >> 28) & 15] + - r[(i >> 24) & 15] + - r[(i >> 20) & 15] + - r[(i >> 16) & 15] + - r[(i >> 12) & 15] + - r[(i >> 8) & 15] + - r[(i >> 4) & 15] + - r[15 & i] + - r[(e >> 28) & 15] + - r[(e >> 24) & 15] + - r[(e >> 20) & 15] + - r[(e >> 16) & 15] + - r[(e >> 12) & 15] + - r[(e >> 8) & 15] + - r[(e >> 4) & 15] + - r[15 & e] - ); - }), - (t.prototype.toString = t.prototype.hex), - (t.prototype.digest = function () { - this.finalize(); - var t = this.h0, - h = this.h1, - s = this.h2, - i = this.h3, - e = this.h4; - return [ - (t >> 24) & 255, - (t >> 16) & 255, - (t >> 8) & 255, - 255 & t, - (h >> 24) & 255, - (h >> 16) & 255, - (h >> 8) & 255, - 255 & h, - (s >> 24) & 255, - (s >> 16) & 255, - (s >> 8) & 255, - 255 & s, - (i >> 24) & 255, - (i >> 16) & 255, - (i >> 8) & 255, - 255 & i, - (e >> 24) & 255, - (e >> 16) & 255, - (e >> 8) & 255, - 255 & e, - ]; - }), - (t.prototype.array = t.prototype.digest), - (t.prototype.arrayBuffer = function () { - this.finalize(); - var t = new ArrayBuffer(20), - h = new DataView(t); - return ( - h.setUint32(0, this.h0), - h.setUint32(4, this.h1), - h.setUint32(8, this.h2), - h.setUint32(12, this.h3), - h.setUint32(16, this.h4), - t - ); - }); - var y = c(); - i - ? (module.exports = y) - : ((h.sha1 = y), - e && - define(function () { - return y; - })); +/* + * [js-sha1]{@link https://github.com/emn178/js-sha1} + * + * @version 0.6.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2017 + * @license MIT + */ +!(function () { + "use strict"; + function t(t) { + t + ? ((f[0] = + f[16] = + f[1] = + f[2] = + f[3] = + f[4] = + f[5] = + f[6] = + f[7] = + f[8] = + f[9] = + f[10] = + f[11] = + f[12] = + f[13] = + f[14] = + f[15] = + 0), + (this.blocks = f)) + : (this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), + (this.h0 = 1732584193), + (this.h1 = 4023233417), + (this.h2 = 2562383102), + (this.h3 = 271733878), + (this.h4 = 3285377520), + (this.block = this.start = this.bytes = this.hBytes = 0), + (this.finalized = this.hashed = !1), + (this.first = !0); + } + var h = "object" == typeof window ? window : {}, + s = + !h.JS_SHA1_NO_NODE_JS && + "object" == typeof process && + process.versions && + process.versions.node; + s && (h = global); + var i = + !h.JS_SHA1_NO_COMMON_JS && "object" == typeof module && module.exports, + e = "function" == typeof define && define.amd, + r = "0123456789abcdef".split(""), + o = [-2147483648, 8388608, 32768, 128], + n = [24, 16, 8, 0], + a = ["hex", "array", "digest", "arrayBuffer"], + f = [], + u = function (h) { + return function (s) { + return new t(!0).update(s)[h](); + }; + }, + c = function () { + var h = u("hex"); + s && (h = p(h)), + (h.create = function () { + return new t(); + }), + (h.update = function (t) { + return h.create().update(t); + }); + for (var i = 0; i < a.length; ++i) { + var e = a[i]; + h[e] = u(e); + } + return h; + }, + p = function (t) { + var h = eval("require('crypto')"), + s = eval("require('buffer').Buffer"), + i = function (i) { + if ("string" == typeof i) + return h.createHash("sha1").update(i, "utf8").digest("hex"); + if (i.constructor === ArrayBuffer) i = new Uint8Array(i); + else if (void 0 === i.length) return t(i); + return h.createHash("sha1").update(new s(i)).digest("hex"); + }; + return i; + }; + (t.prototype.update = function (t) { + if (!this.finalized) { + var s = "string" != typeof t; + s && t.constructor === h.ArrayBuffer && (t = new Uint8Array(t)); + for (var i, e, r = 0, o = t.length || 0, a = this.blocks; r < o; ) { + if ( + (this.hashed && + ((this.hashed = !1), + (a[0] = this.block), + (a[16] = + a[1] = + a[2] = + a[3] = + a[4] = + a[5] = + a[6] = + a[7] = + a[8] = + a[9] = + a[10] = + a[11] = + a[12] = + a[13] = + a[14] = + a[15] = + 0)), + s) + ) + for (e = this.start; r < o && e < 64; ++r) + a[e >> 2] |= t[r] << n[3 & e++]; + else + for (e = this.start; r < o && e < 64; ++r) + (i = t.charCodeAt(r)) < 128 + ? (a[e >> 2] |= i << n[3 & e++]) + : i < 2048 + ? ((a[e >> 2] |= (192 | (i >> 6)) << n[3 & e++]), + (a[e >> 2] |= (128 | (63 & i)) << n[3 & e++])) + : i < 55296 || i >= 57344 + ? ((a[e >> 2] |= (224 | (i >> 12)) << n[3 & e++]), + (a[e >> 2] |= (128 | ((i >> 6) & 63)) << n[3 & e++]), + (a[e >> 2] |= (128 | (63 & i)) << n[3 & e++])) + : ((i = + 65536 + (((1023 & i) << 10) | (1023 & t.charCodeAt(++r)))), + (a[e >> 2] |= (240 | (i >> 18)) << n[3 & e++]), + (a[e >> 2] |= (128 | ((i >> 12) & 63)) << n[3 & e++]), + (a[e >> 2] |= (128 | ((i >> 6) & 63)) << n[3 & e++]), + (a[e >> 2] |= (128 | (63 & i)) << n[3 & e++])); + (this.lastByteIndex = e), + (this.bytes += e - this.start), + e >= 64 + ? ((this.block = a[16]), + (this.start = e - 64), + this.hash(), + (this.hashed = !0)) + : (this.start = e); + } + return ( + this.bytes > 4294967295 && + ((this.hBytes += (this.bytes / 4294967296) << 0), + (this.bytes = this.bytes % 4294967296)), + this + ); + } + }), + (t.prototype.finalize = function () { + if (!this.finalized) { + this.finalized = !0; + var t = this.blocks, + h = this.lastByteIndex; + (t[16] = this.block), + (t[h >> 2] |= o[3 & h]), + (this.block = t[16]), + h >= 56 && + (this.hashed || this.hash(), + (t[0] = this.block), + (t[16] = + t[1] = + t[2] = + t[3] = + t[4] = + t[5] = + t[6] = + t[7] = + t[8] = + t[9] = + t[10] = + t[11] = + t[12] = + t[13] = + t[14] = + t[15] = + 0)), + (t[14] = (this.hBytes << 3) | (this.bytes >>> 29)), + (t[15] = this.bytes << 3), + this.hash(); + } + }), + (t.prototype.hash = function () { + var t, + h, + s = this.h0, + i = this.h1, + e = this.h2, + r = this.h3, + o = this.h4, + n = this.blocks; + for (t = 16; t < 80; ++t) + (h = n[t - 3] ^ n[t - 8] ^ n[t - 14] ^ n[t - 16]), + (n[t] = (h << 1) | (h >>> 31)); + for (t = 0; t < 20; t += 5) + (s = + ((h = + ((i = + ((h = + ((e = + ((h = + ((r = + ((h = + ((o = + ((h = (s << 5) | (s >>> 27)) + + ((i & e) | (~i & r)) + + o + + 1518500249 + + n[t]) << + 0) << + 5) | + (o >>> 27)) + + ((s & (i = (i << 30) | (i >>> 2))) | (~s & e)) + + r + + 1518500249 + + n[t + 1]) << + 0) << + 5) | + (r >>> 27)) + + ((o & (s = (s << 30) | (s >>> 2))) | (~o & i)) + + e + + 1518500249 + + n[t + 2]) << + 0) << + 5) | + (e >>> 27)) + + ((r & (o = (o << 30) | (o >>> 2))) | (~r & s)) + + i + + 1518500249 + + n[t + 3]) << + 0) << + 5) | + (i >>> 27)) + + ((e & (r = (r << 30) | (r >>> 2))) | (~e & o)) + + s + + 1518500249 + + n[t + 4]) << + 0), + (e = (e << 30) | (e >>> 2)); + for (; t < 40; t += 5) + (s = + ((h = + ((i = + ((h = + ((e = + ((h = + ((r = + ((h = + ((o = + ((h = (s << 5) | (s >>> 27)) + + (i ^ e ^ r) + + o + + 1859775393 + + n[t]) << + 0) << + 5) | + (o >>> 27)) + + (s ^ (i = (i << 30) | (i >>> 2)) ^ e) + + r + + 1859775393 + + n[t + 1]) << + 0) << + 5) | + (r >>> 27)) + + (o ^ (s = (s << 30) | (s >>> 2)) ^ i) + + e + + 1859775393 + + n[t + 2]) << + 0) << + 5) | + (e >>> 27)) + + (r ^ (o = (o << 30) | (o >>> 2)) ^ s) + + i + + 1859775393 + + n[t + 3]) << + 0) << + 5) | + (i >>> 27)) + + (e ^ (r = (r << 30) | (r >>> 2)) ^ o) + + s + + 1859775393 + + n[t + 4]) << + 0), + (e = (e << 30) | (e >>> 2)); + for (; t < 60; t += 5) + (s = + ((h = + ((i = + ((h = + ((e = + ((h = + ((r = + ((h = + ((o = + ((h = (s << 5) | (s >>> 27)) + + ((i & e) | (i & r) | (e & r)) + + o - + 1894007588 + + n[t]) << + 0) << + 5) | + (o >>> 27)) + + ((s & (i = (i << 30) | (i >>> 2))) | + (s & e) | + (i & e)) + + r - + 1894007588 + + n[t + 1]) << + 0) << + 5) | + (r >>> 27)) + + ((o & (s = (s << 30) | (s >>> 2))) | (o & i) | (s & i)) + + e - + 1894007588 + + n[t + 2]) << + 0) << + 5) | + (e >>> 27)) + + ((r & (o = (o << 30) | (o >>> 2))) | (r & s) | (o & s)) + + i - + 1894007588 + + n[t + 3]) << + 0) << + 5) | + (i >>> 27)) + + ((e & (r = (r << 30) | (r >>> 2))) | (e & o) | (r & o)) + + s - + 1894007588 + + n[t + 4]) << + 0), + (e = (e << 30) | (e >>> 2)); + for (; t < 80; t += 5) + (s = + ((h = + ((i = + ((h = + ((e = + ((h = + ((r = + ((h = + ((o = + ((h = (s << 5) | (s >>> 27)) + + (i ^ e ^ r) + + o - + 899497514 + + n[t]) << + 0) << + 5) | + (o >>> 27)) + + (s ^ (i = (i << 30) | (i >>> 2)) ^ e) + + r - + 899497514 + + n[t + 1]) << + 0) << + 5) | + (r >>> 27)) + + (o ^ (s = (s << 30) | (s >>> 2)) ^ i) + + e - + 899497514 + + n[t + 2]) << + 0) << + 5) | + (e >>> 27)) + + (r ^ (o = (o << 30) | (o >>> 2)) ^ s) + + i - + 899497514 + + n[t + 3]) << + 0) << + 5) | + (i >>> 27)) + + (e ^ (r = (r << 30) | (r >>> 2)) ^ o) + + s - + 899497514 + + n[t + 4]) << + 0), + (e = (e << 30) | (e >>> 2)); + (this.h0 = (this.h0 + s) << 0), + (this.h1 = (this.h1 + i) << 0), + (this.h2 = (this.h2 + e) << 0), + (this.h3 = (this.h3 + r) << 0), + (this.h4 = (this.h4 + o) << 0); + }), + (t.prototype.hex = function () { + this.finalize(); + var t = this.h0, + h = this.h1, + s = this.h2, + i = this.h3, + e = this.h4; + return ( + r[(t >> 28) & 15] + + r[(t >> 24) & 15] + + r[(t >> 20) & 15] + + r[(t >> 16) & 15] + + r[(t >> 12) & 15] + + r[(t >> 8) & 15] + + r[(t >> 4) & 15] + + r[15 & t] + + r[(h >> 28) & 15] + + r[(h >> 24) & 15] + + r[(h >> 20) & 15] + + r[(h >> 16) & 15] + + r[(h >> 12) & 15] + + r[(h >> 8) & 15] + + r[(h >> 4) & 15] + + r[15 & h] + + r[(s >> 28) & 15] + + r[(s >> 24) & 15] + + r[(s >> 20) & 15] + + r[(s >> 16) & 15] + + r[(s >> 12) & 15] + + r[(s >> 8) & 15] + + r[(s >> 4) & 15] + + r[15 & s] + + r[(i >> 28) & 15] + + r[(i >> 24) & 15] + + r[(i >> 20) & 15] + + r[(i >> 16) & 15] + + r[(i >> 12) & 15] + + r[(i >> 8) & 15] + + r[(i >> 4) & 15] + + r[15 & i] + + r[(e >> 28) & 15] + + r[(e >> 24) & 15] + + r[(e >> 20) & 15] + + r[(e >> 16) & 15] + + r[(e >> 12) & 15] + + r[(e >> 8) & 15] + + r[(e >> 4) & 15] + + r[15 & e] + ); + }), + (t.prototype.toString = t.prototype.hex), + (t.prototype.digest = function () { + this.finalize(); + var t = this.h0, + h = this.h1, + s = this.h2, + i = this.h3, + e = this.h4; + return [ + (t >> 24) & 255, + (t >> 16) & 255, + (t >> 8) & 255, + 255 & t, + (h >> 24) & 255, + (h >> 16) & 255, + (h >> 8) & 255, + 255 & h, + (s >> 24) & 255, + (s >> 16) & 255, + (s >> 8) & 255, + 255 & s, + (i >> 24) & 255, + (i >> 16) & 255, + (i >> 8) & 255, + 255 & i, + (e >> 24) & 255, + (e >> 16) & 255, + (e >> 8) & 255, + 255 & e, + ]; + }), + (t.prototype.array = t.prototype.digest), + (t.prototype.arrayBuffer = function () { + this.finalize(); + var t = new ArrayBuffer(20), + h = new DataView(t); + return ( + h.setUint32(0, this.h0), + h.setUint32(4, this.h1), + h.setUint32(8, this.h2), + h.setUint32(12, this.h3), + h.setUint32(16, this.h4), + t + ); + }); + var y = c(); + i + ? (module.exports = y) + : ((h.sha1 = y), + e && + define(function () { + return y; + })); })(); \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index 07c8f0d..0c70f2c 100644 --- a/blog/index.html +++ b/blog/index.html @@ -1,32 +1,32 @@ - - - - - - - - - FullGreaM - - - -

-
-

Включите поддержку JavaScript!

-

В противном случае, компоненты сайте не смогут быть загружены

-
- - - - - - - + + + + + + + + + FullGreaM + + + + +
+

Включите поддержку JavaScript!

+

В противном случае, компоненты сайте не смогут быть загружены

+
+ + + + + + + \ No newline at end of file diff --git a/blog/posts.json b/blog/posts.json index 72e218b..2ceed8c 100644 --- a/blog/posts.json +++ b/blog/posts.json @@ -1,52 +1,69 @@ -{ - "categories" : [ - { - "tag" : "news", - "name" : "Новости" - }, - { - "tag" : "updates", - "name" : "Обновления" - }, - { - "tag" : "personal", - "name" : "Личное" - } - ], - "posts" : [ - { - "title" : "Открыт блог", - "date" : 1697329458, - "data" : "Сегодня я запустил блог на сайте и это первый пост в нём.\n...В блоге будут публиковаться новости, анонсы, а также, мои личные мысли. Впрочем, если вам интересно что-то одно или, наоборот, не интересно иное, то я добавил поддержку \"категорий\", которые вы можете включать и отключать.\n\nUPD: Категории я добавлю позже.", - "categories" : ["news", "updates"], - "attachments" : { - "images" : [ - "/assets/posts/15102023.png" - ], - "files" : [], - "video" : [], - "youtube" : [], - "audio" : [], - "voice" : [] - }, - "forward" : null - }, - { - "title" : "Купил себе SD-Карты", - "date" : 1697385474, - "data" : "Купил себе карты памяти в DNS, ща буду гонять, смотреть как работают.\n\nВообще, мне нехватало места на телефоне и посему решил докупить себе одну на 128 и одну на 64 гига.", - "categories" : ["personal"], - "attachments" : { - "images" : [ - "/assets/posts/IMG_20231015_185244_587.jpg" - ], - "files" : [], - "video" : [], - "youtube" : [], - "audio" : [], - "voice" : [] - }, - "forward" : null - } - ] -} \ No newline at end of file +{ + "categories" : [ + { + "tag" : "news", + "name" : "Новости" + }, + { + "tag" : "updates", + "name" : "Обновления" + }, + { + "tag" : "personal", + "name" : "Личное" + } + ], + "posts" : [ + { + "title" : "Открыт блог", + "date" : 1697329458, + "data" : "Сегодня я запустил блог на сайте и это первый пост в нём.\n...В блоге будут публиковаться новости, анонсы, а также, мои личные мысли. Впрочем, если вам интересно что-то одно или, наоборот, не интересно иное, то я добавил поддержку \"категорий\", которые вы можете включать и отключать.\n\nUPD: Категории я добавлю позже.", + "categories" : ["news", "updates"], + "attachments" : { + "images" : [ + "/assets/posts/15102023.png" + ], + "files" : [], + "video" : [], + "youtube" : [], + "audio" : [], + "voice" : [] + }, + "forward" : null + }, + { + "title" : "Купил себе SD-Карты", + "date" : 1697385474, + "data" : "Купил себе карты памяти в DNS, ща буду гонять, смотреть как работают.\n\nВообще, мне нехватало места на телефоне и посему решил докупить себе одну на 128 и одну на 64 гига.", + "categories" : ["personal"], + "attachments" : { + "images" : [ + "/assets/posts/IMG_20231015_185244_587.jpg" + ], + "files" : [], + "video" : [], + "youtube" : [], + "audio" : [], + "voice" : [] + }, + "forward" : null + }, + { + "title" : "Привод Arcturus", + "date" : 1718360744, + "data" : "Купил себе привод от Arcturus. Потестил - норм, буду гонять с ним дальше", + "categories" : ["personal"], + "attachments" : { + "images" : [ + "/assets/posts/photo_2024-05-28_21-15-13.jpg" + ], + "files" : [], + "video" : [], + "youtube" : [], + "audio" : [], + "voice" : [] + }, + "forward" : null + } + ] +} diff --git a/contacts/index.html b/contacts/index.html index 07c8f0d..0c70f2c 100644 --- a/contacts/index.html +++ b/contacts/index.html @@ -1,32 +1,32 @@ - - - - - - - - - FullGreaM - - - - -
-

Включите поддержку JavaScript!

-

В противном случае, компоненты сайте не смогут быть загружены

-
- - - - - - - + + + + + + + + + FullGreaM + + + + +
+

Включите поддержку JavaScript!

+

В противном случае, компоненты сайте не смогут быть загружены

+
+ + + + + + + \ No newline at end of file diff --git a/files/fix-mods.csv b/files/fix-mods.csv index fd2443b..899c973 100644 --- a/files/fix-mods.csv +++ b/files/fix-mods.csv @@ -1,233 +1,233 @@ -#Mod_Priority,#Mod_Name,#Mod_Nexus_URL -"0000","Unmanaged: FNIS","" -"0002","DLC: HearthFires","" -"0003","DLC: Dragonborn","" -"0004","DLC: Dawnguard","" -"0006","Address Library for SKSE Plugins","https://www.nexusmods.com/skyrimspecialedition/mods/32444" -"0007","Unofficial Skyrim Special Edition Patch-RUS-RUS","https://www.nexusmods.com/skyrimspecialedition/mods/266" -"0008","powerofthree's Tweaks","https://www.nexusmods.com/skyrimspecialedition/mods/51073" -"0009","JContainers SE","https://www.nexusmods.com/skyrimspecialedition/mods/16495" -"0010","ConsoleUtilSSE","https://www.nexusmods.com/skyrimspecialedition/mods/24858" -"0011","ENB Helper SE 1.5 for SSE 1.5.97","https://www.nexusmods.com/skyrimspecialedition/mods/23174" -"0012","Weapons Armor Clothing and Clutter Fixes","https://www.nexusmods.com/skyrimspecialedition/mods/18994" -"0013","Weapons Armor Clothing and Clutter Fixes 2.9 RUS","https://www.nexusmods.com/skyrimspecialedition/mods/19284" -"0014","SkyUI_5_2_SE","https://www.nexusmods.com/skyrimspecialedition/mods/12604" -"0015","UIExtensions","https://www.nexusmods.com/skyrimspecialedition/mods/17561" -"0016","DynDOLOD Resources SE","https://www.nexusmods.com/skyrimspecialedition/mods/32382" -"0018","RaceCompatibility with fixes for SSE","https://www.nexusmods.com/skyrimspecialedition/mods/2853" -"0019","more HUD SE Light Master- Pre AE","https://www.nexusmods.com/skyrimspecialedition/mods/12688" -"0020","MCM Helper SE","https://www.nexusmods.com/skyrimspecialedition/mods/53000" -"0021","FileAccess Interface for Skyrim SE Scripts - FISSES (FISS)","https://www.nexusmods.com/skyrimspecialedition/mods/13956" -"0022","Papyrus API","https://www.nexusmods.com/skyrimspecialedition/mods/24858" -"0023","IFrame Generator RE","https://www.nexusmods.com/skyrimspecialedition/mods/74401" -"0024","dTry's Key Utils SE","https://www.nexusmods.com/skyrimspecialedition/mods/69944" -"0025","Papyrus Ini Manipulator","https://www.nexusmods.com/skyrimspecialedition/mods/65634" -"0027","SSE Display Tweaks","https://www.nexusmods.com/skyrimspecialedition/mods/34705" -"0028","CrashLogger","https://www.nexusmods.com/skyrimspecialedition/mods/59818" -"0029","CrashLoggerSE","https://www.nexusmods.com/skyrimspecialedition/mods/59818" -"0035","BodySlide and Outfit Studio","https://www.nexusmods.com/skyrimspecialedition/mods/201" -"0036","Перевод BodySlide and Outfit Studio","" -"0038","Caliente's Beautiful Bodies Enhancer -CBBE-","https://www.nexusmods.com/skyrimspecialedition/mods/198" -"0039","CBPC - Physics with Collisions","https://www.nexusmods.com/skyrimspecialedition/mods/21224" -"0041","HDT-SMP for SSE 1.5.97 (avx on)","https://www.nexusmods.com/skyrimspecialedition/mods/30872" -"0045","CBBE 3BA","https://www.nexusmods.com/skyrimspecialedition/mods/30174" -"0046","XP32 Maximum Skeleton Special Extended","https://www.nexusmods.com/skyrimspecialedition/mods/1988" -"0047","XP32 Maximum Skeleton Special Extended - Fixed Scripts","https://www.nexusmods.com/skyrimspecialedition/mods/44252" -"0049","AddItemMenu - NG","https://www.nexusmods.com/skyrimspecialedition/mods/71409" -"0054","NAT Stand Alone - 0.4.2 c","https://www.nexusmods.com/skyrimspecialedition/mods/12842" -"0055","Enhanced Lights and FX","https://www.nexusmods.com/skyrimspecialedition/mods/2424" -"0056","Cathedral - 3D Pine Grass - Full 3D Coverage","https://www.nexusmods.com/skyrimspecialedition/mods/42032" -"0057","Nature of the Wild Lands - Landscape textures","https://www.nexusmods.com/skyrimspecialedition/mods/63604" -"0058","Nature of the Wild Lands 2.0","https://www.nexusmods.com/skyrimspecialedition/mods/63604" -"0059","Northern Roads","https://www.nexusmods.com/skyrimspecialedition/mods/77530" -"0060","Northern Roads (SE-AE) - RU","https://www.nexusmods.com/skyrimspecialedition/mods/77652" -"0061","Nature of the Wild Lands - Grass","https://www.nexusmods.com/skyrimspecialedition/mods/63604" -"0062","Enhanced Landscapes","https://www.nexusmods.com/skyrimspecialedition/mods/18162" -"0063","EVLaS","https://www.nexusmods.com/skyrimspecialedition/mods/63725" -"0064","Morning Fogs SSE - Thin Fog","https://www.nexusmods.com/skyrimspecialedition/mods/21436" -"0065","Water for ENB","https://www.nexusmods.com/skyrimspecialedition/mods/37061" -"0066","ELFX Fixes (RUS)","https://www.nexusmods.com/skyrimspecialedition/mods/39765" -"0067","Picta Series - Improved Sky Meshes","https://www.nexusmods.com/skyrimspecialedition/mods/58263" -"0068","Storm Lightning for SSE and VR (Minty Lightning 2019)","https://www.nexusmods.com/skyrimspecialedition/mods/29243" -"0070","Serious HD sse 1.2","https://www.nexusmods.com/skyrimspecialedition/mods/7435" -"0071","HD Lods Textures SE 1K","https://www.nexusmods.com/skyrimspecialedition/mods/3333" -"0072","B. Noble Skyrim - FULL PACK_Performance Edition","https://www.nexusmods.com/skyrimspecialedition/mods/21423" -"0073","Static Mesh Improvement Mod (SMIM)","https://www.nexusmods.com/skyrimspecialedition/mods/659" -"0074","Bellyaches Animal and Creature Pack","" -"0075","Majestic Mountains Main","https://www.nexusmods.com/skyrimspecialedition/mods/11052" -"0077","Schlongs of Skyrim SE","" -"0079","Bijin Skin - CBBE","https://www.nexusmods.com/skyrimspecialedition/mods/20078" -"0080","Fair Skin Complexion for CBBE","" -"0082","Tempered Skins for Males - SOS Full Version","https://www.nexusmods.com/skyrimspecialedition/mods/7902" -"0085","Kalilies Brows - High Poly Head","https://www.nexusmods.com/skyrimspecialedition/mods/57115" -"0086","High Poly Head SE","" -"0087","Expressive Facegen Morphs SE","https://www.nexusmods.com/skyrimspecialedition/mods/35785" -"0088","Expressive Facial Animation - Female Edition","https://www.nexusmods.com/skyrimspecialedition/mods/19181" -"0089","Kalilies Brows","https://www.nexusmods.com/skyrimspecialedition/mods/40595" -"0091","ApachiiSkyHair_v_1_6_Full_optimized","https://www.nexusmods.com/skyrimspecialedition/mods/2014" -"0092","ApachiiSkyHairMale_v_1_3","https://www.nexusmods.com/skyrimspecialedition/mods/2014" -"0093","ApachiiSkyHairFemale_v_1_5_1","https://www.nexusmods.com/skyrimspecialedition/mods/2014" -"0094","The Witcher 3 Eyes","https://www.nexusmods.com/skyrimspecialedition/mods/2921" -"0095","HDT-SMP Racemenu Hairs and Wigs","" -"0096","Female Makeup Suite - Face - 2K","https://www.nexusmods.com/skyrimspecialedition/mods/24495" -"0097","The Eyes of Beauty SSE","https://www.nexusmods.com/skyrimspecialedition/mods/16185" -"0098","KS Hairdos - HDT SMP (Physics)","https://www.nexusmods.com/skyrimspecialedition/mods/31300" -"0099","Freckle Mania High Quality","https://www.nexusmods.com/skyrimspecialedition/mods/52841" -"0100","SE SG Brows","https://www.nexusmods.com/skyrimspecialedition/mods/25890" -"0101","Hvergelmir's Aesthetics - Brows","https://www.nexusmods.com/skyrimspecialedition/mods/1062" -"0102","Hvergelmir Brows - For High Poly Head","https://www.nexusmods.com/skyrimspecialedition/mods/38493" -"0103","Womens_Eyebrows","" -"0104","Female Basic Makeup STANDALONE","https://www.nexusmods.com/skyrimspecialedition/mods/44716" -"0105","Empyrean CS SSE 2.1","https://www.nexusmods.com/skyrimspecialedition/mods/38965" -"0106","Great modders' SMP Hair pack and Xing","https://www.nexusmods.com/skyrimspecialedition/mods/31405" -"0107","llygaid Eye - Unreal 1K","https://www.nexusmods.com/skyrimspecialedition/mods/91422" -"0109","Dynamic Animation Replacer (DAR) v1.0.0 for SkyrimSE","https://www.nexusmods.com/skyrimspecialedition/mods/33746" -"0110","Animation Motion Revolution","https://www.nexusmods.com/skyrimspecialedition/mods/50258" -"0111","Nemesis Unlimited Behavior Engine","https://www.nexusmods.com/skyrimspecialedition/mods/60033" -"0112","Gesture Animation Remix (DAR) - main archive","https://www.nexusmods.com/skyrimspecialedition/mods/64420" -"0113","Conditional Gender Animations","https://www.nexusmods.com/skyrimspecialedition/mods/73446" -"0116","Audio Overhaul for Skyrim 2","https://www.nexusmods.com/skyrimspecialedition/mods/12466" -"0117","MLVUCSSE - English Original Voices","https://www.nexusmods.com/skyrimspecialedition/mods/91265" -"0119","Holds SSE Complete - 0.0.9","https://www.nexusmods.com/skyrimspecialedition/mods/10609" -"0120","Guards Armor Replacer","https://www.nexusmods.com/skyrimspecialedition/mods/22671" -"0121","Guards Armor Replacer [RUS]","" -"0122","NordWarUA's Vanilla Armor Replacers SSE","https://www.nexusmods.com/skyrimspecialedition/mods/31679" -"0123","NordWarUA's Vanilla Armor Replacers SSE -RUS-","https://www.nexusmods.com/skyrimspecialedition/mods/39681" -"0124","Lanterns Of Skyrim II","" -"0125","Lanterns Of Skyrim II - FOMOD","https://www.nexusmods.com/skyrimspecialedition/mods/30817" -"0128","HD HAIR(SE)","" -"0129","NecDaz Feet v","" -"0130","Feminine Hands for SE","https://www.nexusmods.com/skyrimspecialedition/mods/67522" -"0131","Pandorable's NPCs","https://www.nexusmods.com/skyrimspecialedition/mods/19012" -"0132","PAN_AIO","" -"0133","PAN_DashingDefenders SE","https://www.nexusmods.com/skyrimspecialedition/mods/78600" -"0134","Pandorable's Wicked Witches","https://www.nexusmods.com/skyrimspecialedition/mods/77478" -"0135","Pandorable's NPCs - Sovngarde","https://www.nexusmods.com/skyrimspecialedition/mods/55877" -"0136","PAN_DevotedDames","https://www.nexusmods.com/skyrimspecialedition/mods/59531" -"0137","Pandorable's Serana","https://www.nexusmods.com/skyrimspecialedition/mods/24931" -"0138","Pandorable's Marvellous Miners","https://www.nexusmods.com/skyrimspecialedition/mods/56399" -"0139","Pandorable's Valerica","https://www.nexusmods.com/skyrimspecialedition/mods/35799" -"0140","Pandorable's Frea and Frida","https://www.nexusmods.com/skyrimspecialedition/mods/31273" -"0141","PAN_Nevri","https://www.nexusmods.com/skyrimspecialedition/mods/45128" -"0142","PAN_Brelyna","https://www.nexusmods.com/skyrimspecialedition/mods/45128" -"0143","Pandorable's Black-Briar Ladies","https://www.nexusmods.com/skyrimspecialedition/mods/33731" -"0144","Pandorable's Warrior Women","https://www.nexusmods.com/skyrimspecialedition/mods/34464" -"0145","Pandorable's Lethal Ladies","https://www.nexusmods.com/skyrimspecialedition/mods/36827" -"0146","PAN_ShieldSisters","https://www.nexusmods.com/skyrimspecialedition/mods/42480" -"0147","Pandorable's NPCs - Males","https://www.nexusmods.com/skyrimspecialedition/mods/42043" -"0148","Pandorable's NPCs - Males 2","https://www.nexusmods.com/skyrimspecialedition/mods/50617" -"0149","Bijin Warmaidens SE","https://www.nexusmods.com/skyrimspecialedition/mods/1825" -"0150","Bijin Warmaidens SE - High-res skin textures for CBBE","https://www.nexusmods.com/skyrimspecialedition/mods/1825" -"0151","Bijin Wives SE 1.1.2","https://www.nexusmods.com/skyrimspecialedition/mods/11247" -"0152","Bijin NPCs SE 1.2.1","https://www.nexusmods.com/skyrimspecialedition/mods/11287" -"0153","Bijin AIO SE for USSEP","https://www.nexusmods.com/skyrimspecialedition/mods/11287" -"0161","Dragonborn Voice Overhaul","https://www.nexusmods.com/skyrimspecialedition/mods/84329" -"0162","Bella Voice DBVO","https://www.nexusmods.com/skyrimspecialedition/mods/89810" -"0163","Bella Voice Fix","" -"0164","voicebella maingame and dlc","https://www.nexusmods.com/skyrimspecialedition/mods/89810" -"0165","Name heroine DBVO","https://www.nexusmods.com/skyrimspecialedition/mods/89810" -"0169","IFPV","https://www.nexusmods.com/skyrimspecialedition/mods/22306" -"0170","RaceMenu Special Edition","" -"0171","RaceMenu Special Edition RUS","" -"0172","Alternate Start - Live Another Life","https://www.nexusmods.com/skyrimspecialedition/mods/272" -"0174","Alternate Conversation Camera","https://www.nexusmods.com/skyrimspecialedition/mods/21220" -"0175","SkyHUD","https://www.nexusmods.com/skyrimspecialedition/mods/463" -"0176","Spell Perk Item Distributor (SPID)","https://www.nexusmods.com/skyrimspecialedition/mods/36869" -"0177","Vokrii 3.8.2","https://www.nexusmods.com/skyrimspecialedition/mods/26176" -"0178","Vokrii - Scaling Rebalance","https://www.nexusmods.com/skyrimspecialedition/mods/55091" -"0179","NORDIC UI - Interface Overhaul","https://www.nexusmods.com/skyrimspecialedition/mods/49881" -"0180","iNeed - Food, Water and Sleep - Continued","https://www.nexusmods.com/skyrimspecialedition/mods/19390" -"0181","Frostfall 3.4.1 SE Release","https://www.nexusmods.com/skyrimspecialedition/mods/671" -"0182","Campfire 1.12.1SEVR Release","https://www.nexusmods.com/skyrimspecialedition/mods/667" -"0183","SkyrimForBattleV","" -"0184","PC Head Tracking - MCM v4.8 SE","https://www.nexusmods.com/skyrimspecialedition/mods/11993" -"0186","SummonShadowMERCHANT","https://www.nexusmods.com/skyrimspecialedition/mods/2177" -"0188","VioLens - A Killmove Mod SE","https://www.nexusmods.com/skyrimspecialedition/mods/668" -"0189","True Directional Movement","https://www.nexusmods.com/skyrimspecialedition/mods/51614" -"0190","True Directional Movement RU","https://www.nexusmods.com/skyrimspecialedition/mods/53188" -"0191","SkySA","" -"0192","Grip Switch SkySA 1.2.1","https://www.nexusmods.com/skyrim/mods/54056" -"0194","TK Dodge SE","https://www.nexusmods.com/skyrimspecialedition/mods/15309" -"0195","JH Combat Animation Pack","https://www.nexusmods.com/skyrimspecialedition/mods/48500" -"0197","Elder Souls - Sword 2.0 SE","https://www.nexusmods.com/skyrimspecialedition/mods/47191" -"0198","Part 1) SEKIRO HUD by Inpa Skyrim","https://www.nexusmods.com/skyrimspecialedition/mods/41428" -"0199","Part 2) SEKIRO COMBAT","https://www.nexusmods.com/skyrimspecialedition/mods/41428" -"0200","Stances - Add-On","https://www.nexusmods.com/skyrimspecialedition/mods/41251" -"0201","Stances - Dynamic Animation Sets","https://www.nexusmods.com/skyrimspecialedition/mods/40484" -"0202","AMR Stance Framework","https://www.nexusmods.com/skyrimspecialedition/mods/54674" -"0203","Enhanced Enemy AI","https://www.nexusmods.com/skyrimspecialedition/mods/32063" -"0204","Precision","https://www.nexusmods.com/skyrimspecialedition/mods/72347" -"0205","Keytrace","https://www.nexusmods.com/skyrimspecialedition/mods/63362" -"0206","Elden Power Attack","https://www.nexusmods.com/skyrimspecialedition/mods/66711" -"0207","Dark Souls Movement And Stamina Regen","https://www.nexusmods.com/skyrimspecialedition/mods/33135" -"0208","Animated Potions","https://www.nexusmods.com/skyrimspecialedition/mods/73819" -"0209","3PCO - 3rd Person Camera Overhaul","https://www.nexusmods.com/skyrimspecialedition/mods/89516" -"0210","Nock to Tip","" -"0211","Deadly Mutilation","https://www.nexusmods.com/skyrimspecialedition/mods/34917" -"0213","Heroes Of Sovngarde","https://www.nexusmods.com/skyrimspecialedition/mods/3053" -"0214","Populated Dungeons Caves Ruins Legendary Edition","https://www.nexusmods.com/skyrimspecialedition/mods/2820" -"0216","[immyneedscake] Skydraenei by Eriayai CBBE SSE","" -"0217","3BA SkyDraenei","https://www.nexusmods.com/skyrimspecialedition/mods/57617" -"0218","True Demon Race","https://www.nexusmods.com/skyrimspecialedition/mods/58141" -"0222","Acalypha - Fully Voiced Follower","" -"0223","INIGO_V2.4C SE","https://www.nexusmods.com/skyrimspecialedition/mods/1461" -"0224","Song Of The Green 1.4","https://www.nexusmods.com/skyrimspecialedition/mods/11278" -"0225","Refined Auri SSE","https://www.nexusmods.com/skyrimspecialedition/mods/36444" -"0226","SkyMirai Standalone Follower 2_11 SSE","https://www.nexusmods.com/skyrimspecialedition/mods/10908" -"0227","Nicola Avenicci SE 0.3","https://www.nexusmods.com/skyrimspecialedition/mods/6862" -"0229","WIC (Whinter is Coming) Cloaks SSE 2_4","https://www.nexusmods.com/skyrimspecialedition/mods/4933" -"0230","Winter Is Coming - Cloaks RU SE","https://www.nexusmods.com/skyrimspecialedition/mods/62756" -"0231","True Weapons","https://www.nexusmods.com/skyrimspecialedition/mods/38596" -"0232","Eclipse_Mage_Outfit_HDT","" -"0233","[SE] BDOR Navillera","" -"0235","Dominica Preset RM SSE","https://www.nexusmods.com/skyrimspecialedition/mods/70448" -"0236","Irena High Poly Head preset by ElleShet SE","" -"0237","Nirani Indoril Body preset SE by ElleShet","" -"0239","MainMenuRandomizerSE","https://www.nexusmods.com/skyrimspecialedition/mods/33574" -"0240","Main Menu Redone - 1080p","https://www.nexusmods.com/skyrimspecialedition/mods/59993" -"0241","Main Menu Design Replacer","https://www.nexusmods.com/skyrimspecialedition/mods/30810" -"0242","Simple Load Screens","https://www.nexusmods.com/skyrimspecialedition/mods/49529" -"0243","NORDIC UI - Alternate loading screen and start menu","https://www.nexusmods.com/skyrimspecialedition/mods/54153" -"0245","Fantasy Soundtrack Project SE","https://www.nexusmods.com/skyrimspecialedition/mods/5268" -"0246","Dreyma Mod [new Music of Skyrim]","https://www.nexusmods.com/skyrimspecialedition/mods/23386" -"0248","NAT.ENB - ESP WEATHER PLUGIN","https://www.nexusmods.com/skyrimspecialedition/mods/27141" -"0250","NordWarUA's Vanilla Armor Replacers SSE -Patches-","https://www.nexusmods.com/skyrimspecialedition/mods/31679" -"0251","Northern Roads - Patches Compendium","https://www.nexusmods.com/skyrimspecialedition/mods/77893" -"0252","Holds The City Overhaul -RUS-","" -"0253","Majestic Mountains [RUS]","" -"0254","Face Discoloration Fix SE","https://www.nexusmods.com/skyrimspecialedition/mods/42441" -"0255","Simple Load Screens - Russian translation","https://www.nexusmods.com/skyrimspecialedition/mods/50912" -"0256","Precision - Accurate Melee Collisions - RU","https://www.nexusmods.com/skyrimspecialedition/mods/72584" -"0257","Pandorable's NPCs_SSE_v1.4_RU","https://www.nexusmods.com/skyrimspecialedition/mods/27582" -"0258","Pandorables NPCs Males [RUS]","" -"0259","Pandorables NPCs - Males 2 [RUS]","" -"0260","PAN_AIO_small - AI Overhaul SSE patch-1-4-Rus","" -"0261","Irena High Poly Head preset by ElleShet SE 3BBB Body","" -"0262","Nirani Indoril High Poly Head preset SE by ElleShet","" -"0263","Deadly Mutilation V1_3_3 CBBE meshes Pack","https://www.nexusmods.com/skyrimspecialedition/mods/34917" -"0264","Bijin skin compability patch Alternative normal map","https://www.nexusmods.com/skyrimspecialedition/mods/27405" -"0265","SEKIRO COMBAT SE - RU","https://www.nexusmods.com/skyrimspecialedition/mods/57678" -"0266","Nordic UI -RUS-","" -"0267","Campfire 1.12.1 and Frostfall 3.4.1SE","https://www.nexusmods.com/skyrimspecialedition/mods/17925" -"0268","SkyrimForBattleV-Patch","" -"0269","IFPV Detector Plugin","https://www.nexusmods.com/skyrimspecialedition/mods/22306" -"0270","Jaxonz MCM Kicker SE_rus_","" -"0271","SkyUI -RUS-","https://www.nexusmods.com/skyrimspecialedition/mods/21088" -"0272","INIGO -RUS-","" -"0273","Song of the Green _RUS_","" -"0274","Inigo Banter patch","" -"0275","Refined Auri SSE -PATCH-","https://www.nexusmods.com/skyrimspecialedition/mods/36444" -"0276","Refined Auri SSE -RUS-","" -"0277","Vokrii(26176)-2-0-1-RU","https://www.nexusmods.com/skyrimspecialedition/mods/28035" -"0278","Саурон","" -"0279","Sweety Preset","" -"0280","Console font fix - RU","https://www.nexusmods.com/skyrimspecialedition/mods/55792" -"0281","BodySlide output","" -"0282","DBVO NordicUI Patch","https://www.nexusmods.com/skyrimspecialedition/mods/84329" -"0284","Dragonborn Voice Over - Stereo Plugin Replacer","https://www.nexusmods.com/skyrimspecialedition/mods/90417" -"0285","FNIS Overwrite","" -"0286","Nemesis overwrite","" -"0288","Pipe Smoking SE","https://www.nexusmods.com/skyrimspecialedition/mods/13061" -"0289","Pipe Smoking SE RUS","" -"0291","PapyrusUtil SE - Scripting Utility Functions","https://www.nexusmods.com/skyrimspecialedition/mods/13048" -"0292","powerofthree's Papyrus Extender","https://www.nexusmods.com/skyrimspecialedition/mods/22854" +#Mod_Priority,#Mod_Name,#Mod_Nexus_URL +"0000","Unmanaged: FNIS","" +"0002","DLC: HearthFires","" +"0003","DLC: Dragonborn","" +"0004","DLC: Dawnguard","" +"0006","Address Library for SKSE Plugins","https://www.nexusmods.com/skyrimspecialedition/mods/32444" +"0007","Unofficial Skyrim Special Edition Patch-RUS-RUS","https://www.nexusmods.com/skyrimspecialedition/mods/266" +"0008","powerofthree's Tweaks","https://www.nexusmods.com/skyrimspecialedition/mods/51073" +"0009","JContainers SE","https://www.nexusmods.com/skyrimspecialedition/mods/16495" +"0010","ConsoleUtilSSE","https://www.nexusmods.com/skyrimspecialedition/mods/24858" +"0011","ENB Helper SE 1.5 for SSE 1.5.97","https://www.nexusmods.com/skyrimspecialedition/mods/23174" +"0012","Weapons Armor Clothing and Clutter Fixes","https://www.nexusmods.com/skyrimspecialedition/mods/18994" +"0013","Weapons Armor Clothing and Clutter Fixes 2.9 RUS","https://www.nexusmods.com/skyrimspecialedition/mods/19284" +"0014","SkyUI_5_2_SE","https://www.nexusmods.com/skyrimspecialedition/mods/12604" +"0015","UIExtensions","https://www.nexusmods.com/skyrimspecialedition/mods/17561" +"0016","DynDOLOD Resources SE","https://www.nexusmods.com/skyrimspecialedition/mods/32382" +"0018","RaceCompatibility with fixes for SSE","https://www.nexusmods.com/skyrimspecialedition/mods/2853" +"0019","more HUD SE Light Master- Pre AE","https://www.nexusmods.com/skyrimspecialedition/mods/12688" +"0020","MCM Helper SE","https://www.nexusmods.com/skyrimspecialedition/mods/53000" +"0021","FileAccess Interface for Skyrim SE Scripts - FISSES (FISS)","https://www.nexusmods.com/skyrimspecialedition/mods/13956" +"0022","Papyrus API","https://www.nexusmods.com/skyrimspecialedition/mods/24858" +"0023","IFrame Generator RE","https://www.nexusmods.com/skyrimspecialedition/mods/74401" +"0024","dTry's Key Utils SE","https://www.nexusmods.com/skyrimspecialedition/mods/69944" +"0025","Papyrus Ini Manipulator","https://www.nexusmods.com/skyrimspecialedition/mods/65634" +"0027","SSE Display Tweaks","https://www.nexusmods.com/skyrimspecialedition/mods/34705" +"0028","CrashLogger","https://www.nexusmods.com/skyrimspecialedition/mods/59818" +"0029","CrashLoggerSE","https://www.nexusmods.com/skyrimspecialedition/mods/59818" +"0035","BodySlide and Outfit Studio","https://www.nexusmods.com/skyrimspecialedition/mods/201" +"0036","Перевод BodySlide and Outfit Studio","" +"0038","Caliente's Beautiful Bodies Enhancer -CBBE-","https://www.nexusmods.com/skyrimspecialedition/mods/198" +"0039","CBPC - Physics with Collisions","https://www.nexusmods.com/skyrimspecialedition/mods/21224" +"0041","HDT-SMP for SSE 1.5.97 (avx on)","https://www.nexusmods.com/skyrimspecialedition/mods/30872" +"0045","CBBE 3BA","https://www.nexusmods.com/skyrimspecialedition/mods/30174" +"0046","XP32 Maximum Skeleton Special Extended","https://www.nexusmods.com/skyrimspecialedition/mods/1988" +"0047","XP32 Maximum Skeleton Special Extended - Fixed Scripts","https://www.nexusmods.com/skyrimspecialedition/mods/44252" +"0049","AddItemMenu - NG","https://www.nexusmods.com/skyrimspecialedition/mods/71409" +"0054","NAT Stand Alone - 0.4.2 c","https://www.nexusmods.com/skyrimspecialedition/mods/12842" +"0055","Enhanced Lights and FX","https://www.nexusmods.com/skyrimspecialedition/mods/2424" +"0056","Cathedral - 3D Pine Grass - Full 3D Coverage","https://www.nexusmods.com/skyrimspecialedition/mods/42032" +"0057","Nature of the Wild Lands - Landscape textures","https://www.nexusmods.com/skyrimspecialedition/mods/63604" +"0058","Nature of the Wild Lands 2.0","https://www.nexusmods.com/skyrimspecialedition/mods/63604" +"0059","Northern Roads","https://www.nexusmods.com/skyrimspecialedition/mods/77530" +"0060","Northern Roads (SE-AE) - RU","https://www.nexusmods.com/skyrimspecialedition/mods/77652" +"0061","Nature of the Wild Lands - Grass","https://www.nexusmods.com/skyrimspecialedition/mods/63604" +"0062","Enhanced Landscapes","https://www.nexusmods.com/skyrimspecialedition/mods/18162" +"0063","EVLaS","https://www.nexusmods.com/skyrimspecialedition/mods/63725" +"0064","Morning Fogs SSE - Thin Fog","https://www.nexusmods.com/skyrimspecialedition/mods/21436" +"0065","Water for ENB","https://www.nexusmods.com/skyrimspecialedition/mods/37061" +"0066","ELFX Fixes (RUS)","https://www.nexusmods.com/skyrimspecialedition/mods/39765" +"0067","Picta Series - Improved Sky Meshes","https://www.nexusmods.com/skyrimspecialedition/mods/58263" +"0068","Storm Lightning for SSE and VR (Minty Lightning 2019)","https://www.nexusmods.com/skyrimspecialedition/mods/29243" +"0070","Serious HD sse 1.2","https://www.nexusmods.com/skyrimspecialedition/mods/7435" +"0071","HD Lods Textures SE 1K","https://www.nexusmods.com/skyrimspecialedition/mods/3333" +"0072","B. Noble Skyrim - FULL PACK_Performance Edition","https://www.nexusmods.com/skyrimspecialedition/mods/21423" +"0073","Static Mesh Improvement Mod (SMIM)","https://www.nexusmods.com/skyrimspecialedition/mods/659" +"0074","Bellyaches Animal and Creature Pack","" +"0075","Majestic Mountains Main","https://www.nexusmods.com/skyrimspecialedition/mods/11052" +"0077","Schlongs of Skyrim SE","" +"0079","Bijin Skin - CBBE","https://www.nexusmods.com/skyrimspecialedition/mods/20078" +"0080","Fair Skin Complexion for CBBE","" +"0082","Tempered Skins for Males - SOS Full Version","https://www.nexusmods.com/skyrimspecialedition/mods/7902" +"0085","Kalilies Brows - High Poly Head","https://www.nexusmods.com/skyrimspecialedition/mods/57115" +"0086","High Poly Head SE","" +"0087","Expressive Facegen Morphs SE","https://www.nexusmods.com/skyrimspecialedition/mods/35785" +"0088","Expressive Facial Animation - Female Edition","https://www.nexusmods.com/skyrimspecialedition/mods/19181" +"0089","Kalilies Brows","https://www.nexusmods.com/skyrimspecialedition/mods/40595" +"0091","ApachiiSkyHair_v_1_6_Full_optimized","https://www.nexusmods.com/skyrimspecialedition/mods/2014" +"0092","ApachiiSkyHairMale_v_1_3","https://www.nexusmods.com/skyrimspecialedition/mods/2014" +"0093","ApachiiSkyHairFemale_v_1_5_1","https://www.nexusmods.com/skyrimspecialedition/mods/2014" +"0094","The Witcher 3 Eyes","https://www.nexusmods.com/skyrimspecialedition/mods/2921" +"0095","HDT-SMP Racemenu Hairs and Wigs","" +"0096","Female Makeup Suite - Face - 2K","https://www.nexusmods.com/skyrimspecialedition/mods/24495" +"0097","The Eyes of Beauty SSE","https://www.nexusmods.com/skyrimspecialedition/mods/16185" +"0098","KS Hairdos - HDT SMP (Physics)","https://www.nexusmods.com/skyrimspecialedition/mods/31300" +"0099","Freckle Mania High Quality","https://www.nexusmods.com/skyrimspecialedition/mods/52841" +"0100","SE SG Brows","https://www.nexusmods.com/skyrimspecialedition/mods/25890" +"0101","Hvergelmir's Aesthetics - Brows","https://www.nexusmods.com/skyrimspecialedition/mods/1062" +"0102","Hvergelmir Brows - For High Poly Head","https://www.nexusmods.com/skyrimspecialedition/mods/38493" +"0103","Womens_Eyebrows","" +"0104","Female Basic Makeup STANDALONE","https://www.nexusmods.com/skyrimspecialedition/mods/44716" +"0105","Empyrean CS SSE 2.1","https://www.nexusmods.com/skyrimspecialedition/mods/38965" +"0106","Great modders' SMP Hair pack and Xing","https://www.nexusmods.com/skyrimspecialedition/mods/31405" +"0107","llygaid Eye - Unreal 1K","https://www.nexusmods.com/skyrimspecialedition/mods/91422" +"0109","Dynamic Animation Replacer (DAR) v1.0.0 for SkyrimSE","https://www.nexusmods.com/skyrimspecialedition/mods/33746" +"0110","Animation Motion Revolution","https://www.nexusmods.com/skyrimspecialedition/mods/50258" +"0111","Nemesis Unlimited Behavior Engine","https://www.nexusmods.com/skyrimspecialedition/mods/60033" +"0112","Gesture Animation Remix (DAR) - main archive","https://www.nexusmods.com/skyrimspecialedition/mods/64420" +"0113","Conditional Gender Animations","https://www.nexusmods.com/skyrimspecialedition/mods/73446" +"0116","Audio Overhaul for Skyrim 2","https://www.nexusmods.com/skyrimspecialedition/mods/12466" +"0117","MLVUCSSE - English Original Voices","https://www.nexusmods.com/skyrimspecialedition/mods/91265" +"0119","Holds SSE Complete - 0.0.9","https://www.nexusmods.com/skyrimspecialedition/mods/10609" +"0120","Guards Armor Replacer","https://www.nexusmods.com/skyrimspecialedition/mods/22671" +"0121","Guards Armor Replacer [RUS]","" +"0122","NordWarUA's Vanilla Armor Replacers SSE","https://www.nexusmods.com/skyrimspecialedition/mods/31679" +"0123","NordWarUA's Vanilla Armor Replacers SSE -RUS-","https://www.nexusmods.com/skyrimspecialedition/mods/39681" +"0124","Lanterns Of Skyrim II","" +"0125","Lanterns Of Skyrim II - FOMOD","https://www.nexusmods.com/skyrimspecialedition/mods/30817" +"0128","HD HAIR(SE)","" +"0129","NecDaz Feet v","" +"0130","Feminine Hands for SE","https://www.nexusmods.com/skyrimspecialedition/mods/67522" +"0131","Pandorable's NPCs","https://www.nexusmods.com/skyrimspecialedition/mods/19012" +"0132","PAN_AIO","" +"0133","PAN_DashingDefenders SE","https://www.nexusmods.com/skyrimspecialedition/mods/78600" +"0134","Pandorable's Wicked Witches","https://www.nexusmods.com/skyrimspecialedition/mods/77478" +"0135","Pandorable's NPCs - Sovngarde","https://www.nexusmods.com/skyrimspecialedition/mods/55877" +"0136","PAN_DevotedDames","https://www.nexusmods.com/skyrimspecialedition/mods/59531" +"0137","Pandorable's Serana","https://www.nexusmods.com/skyrimspecialedition/mods/24931" +"0138","Pandorable's Marvellous Miners","https://www.nexusmods.com/skyrimspecialedition/mods/56399" +"0139","Pandorable's Valerica","https://www.nexusmods.com/skyrimspecialedition/mods/35799" +"0140","Pandorable's Frea and Frida","https://www.nexusmods.com/skyrimspecialedition/mods/31273" +"0141","PAN_Nevri","https://www.nexusmods.com/skyrimspecialedition/mods/45128" +"0142","PAN_Brelyna","https://www.nexusmods.com/skyrimspecialedition/mods/45128" +"0143","Pandorable's Black-Briar Ladies","https://www.nexusmods.com/skyrimspecialedition/mods/33731" +"0144","Pandorable's Warrior Women","https://www.nexusmods.com/skyrimspecialedition/mods/34464" +"0145","Pandorable's Lethal Ladies","https://www.nexusmods.com/skyrimspecialedition/mods/36827" +"0146","PAN_ShieldSisters","https://www.nexusmods.com/skyrimspecialedition/mods/42480" +"0147","Pandorable's NPCs - Males","https://www.nexusmods.com/skyrimspecialedition/mods/42043" +"0148","Pandorable's NPCs - Males 2","https://www.nexusmods.com/skyrimspecialedition/mods/50617" +"0149","Bijin Warmaidens SE","https://www.nexusmods.com/skyrimspecialedition/mods/1825" +"0150","Bijin Warmaidens SE - High-res skin textures for CBBE","https://www.nexusmods.com/skyrimspecialedition/mods/1825" +"0151","Bijin Wives SE 1.1.2","https://www.nexusmods.com/skyrimspecialedition/mods/11247" +"0152","Bijin NPCs SE 1.2.1","https://www.nexusmods.com/skyrimspecialedition/mods/11287" +"0153","Bijin AIO SE for USSEP","https://www.nexusmods.com/skyrimspecialedition/mods/11287" +"0161","Dragonborn Voice Overhaul","https://www.nexusmods.com/skyrimspecialedition/mods/84329" +"0162","Bella Voice DBVO","https://www.nexusmods.com/skyrimspecialedition/mods/89810" +"0163","Bella Voice Fix","" +"0164","voicebella maingame and dlc","https://www.nexusmods.com/skyrimspecialedition/mods/89810" +"0165","Name heroine DBVO","https://www.nexusmods.com/skyrimspecialedition/mods/89810" +"0169","IFPV","https://www.nexusmods.com/skyrimspecialedition/mods/22306" +"0170","RaceMenu Special Edition","" +"0171","RaceMenu Special Edition RUS","" +"0172","Alternate Start - Live Another Life","https://www.nexusmods.com/skyrimspecialedition/mods/272" +"0174","Alternate Conversation Camera","https://www.nexusmods.com/skyrimspecialedition/mods/21220" +"0175","SkyHUD","https://www.nexusmods.com/skyrimspecialedition/mods/463" +"0176","Spell Perk Item Distributor (SPID)","https://www.nexusmods.com/skyrimspecialedition/mods/36869" +"0177","Vokrii 3.8.2","https://www.nexusmods.com/skyrimspecialedition/mods/26176" +"0178","Vokrii - Scaling Rebalance","https://www.nexusmods.com/skyrimspecialedition/mods/55091" +"0179","NORDIC UI - Interface Overhaul","https://www.nexusmods.com/skyrimspecialedition/mods/49881" +"0180","iNeed - Food, Water and Sleep - Continued","https://www.nexusmods.com/skyrimspecialedition/mods/19390" +"0181","Frostfall 3.4.1 SE Release","https://www.nexusmods.com/skyrimspecialedition/mods/671" +"0182","Campfire 1.12.1SEVR Release","https://www.nexusmods.com/skyrimspecialedition/mods/667" +"0183","SkyrimForBattleV","" +"0184","PC Head Tracking - MCM v4.8 SE","https://www.nexusmods.com/skyrimspecialedition/mods/11993" +"0186","SummonShadowMERCHANT","https://www.nexusmods.com/skyrimspecialedition/mods/2177" +"0188","VioLens - A Killmove Mod SE","https://www.nexusmods.com/skyrimspecialedition/mods/668" +"0189","True Directional Movement","https://www.nexusmods.com/skyrimspecialedition/mods/51614" +"0190","True Directional Movement RU","https://www.nexusmods.com/skyrimspecialedition/mods/53188" +"0191","SkySA","" +"0192","Grip Switch SkySA 1.2.1","https://www.nexusmods.com/skyrim/mods/54056" +"0194","TK Dodge SE","https://www.nexusmods.com/skyrimspecialedition/mods/15309" +"0195","JH Combat Animation Pack","https://www.nexusmods.com/skyrimspecialedition/mods/48500" +"0197","Elder Souls - Sword 2.0 SE","https://www.nexusmods.com/skyrimspecialedition/mods/47191" +"0198","Part 1) SEKIRO HUD by Inpa Skyrim","https://www.nexusmods.com/skyrimspecialedition/mods/41428" +"0199","Part 2) SEKIRO COMBAT","https://www.nexusmods.com/skyrimspecialedition/mods/41428" +"0200","Stances - Add-On","https://www.nexusmods.com/skyrimspecialedition/mods/41251" +"0201","Stances - Dynamic Animation Sets","https://www.nexusmods.com/skyrimspecialedition/mods/40484" +"0202","AMR Stance Framework","https://www.nexusmods.com/skyrimspecialedition/mods/54674" +"0203","Enhanced Enemy AI","https://www.nexusmods.com/skyrimspecialedition/mods/32063" +"0204","Precision","https://www.nexusmods.com/skyrimspecialedition/mods/72347" +"0205","Keytrace","https://www.nexusmods.com/skyrimspecialedition/mods/63362" +"0206","Elden Power Attack","https://www.nexusmods.com/skyrimspecialedition/mods/66711" +"0207","Dark Souls Movement And Stamina Regen","https://www.nexusmods.com/skyrimspecialedition/mods/33135" +"0208","Animated Potions","https://www.nexusmods.com/skyrimspecialedition/mods/73819" +"0209","3PCO - 3rd Person Camera Overhaul","https://www.nexusmods.com/skyrimspecialedition/mods/89516" +"0210","Nock to Tip","" +"0211","Deadly Mutilation","https://www.nexusmods.com/skyrimspecialedition/mods/34917" +"0213","Heroes Of Sovngarde","https://www.nexusmods.com/skyrimspecialedition/mods/3053" +"0214","Populated Dungeons Caves Ruins Legendary Edition","https://www.nexusmods.com/skyrimspecialedition/mods/2820" +"0216","[immyneedscake] Skydraenei by Eriayai CBBE SSE","" +"0217","3BA SkyDraenei","https://www.nexusmods.com/skyrimspecialedition/mods/57617" +"0218","True Demon Race","https://www.nexusmods.com/skyrimspecialedition/mods/58141" +"0222","Acalypha - Fully Voiced Follower","" +"0223","INIGO_V2.4C SE","https://www.nexusmods.com/skyrimspecialedition/mods/1461" +"0224","Song Of The Green 1.4","https://www.nexusmods.com/skyrimspecialedition/mods/11278" +"0225","Refined Auri SSE","https://www.nexusmods.com/skyrimspecialedition/mods/36444" +"0226","SkyMirai Standalone Follower 2_11 SSE","https://www.nexusmods.com/skyrimspecialedition/mods/10908" +"0227","Nicola Avenicci SE 0.3","https://www.nexusmods.com/skyrimspecialedition/mods/6862" +"0229","WIC (Whinter is Coming) Cloaks SSE 2_4","https://www.nexusmods.com/skyrimspecialedition/mods/4933" +"0230","Winter Is Coming - Cloaks RU SE","https://www.nexusmods.com/skyrimspecialedition/mods/62756" +"0231","True Weapons","https://www.nexusmods.com/skyrimspecialedition/mods/38596" +"0232","Eclipse_Mage_Outfit_HDT","" +"0233","[SE] BDOR Navillera","" +"0235","Dominica Preset RM SSE","https://www.nexusmods.com/skyrimspecialedition/mods/70448" +"0236","Irena High Poly Head preset by ElleShet SE","" +"0237","Nirani Indoril Body preset SE by ElleShet","" +"0239","MainMenuRandomizerSE","https://www.nexusmods.com/skyrimspecialedition/mods/33574" +"0240","Main Menu Redone - 1080p","https://www.nexusmods.com/skyrimspecialedition/mods/59993" +"0241","Main Menu Design Replacer","https://www.nexusmods.com/skyrimspecialedition/mods/30810" +"0242","Simple Load Screens","https://www.nexusmods.com/skyrimspecialedition/mods/49529" +"0243","NORDIC UI - Alternate loading screen and start menu","https://www.nexusmods.com/skyrimspecialedition/mods/54153" +"0245","Fantasy Soundtrack Project SE","https://www.nexusmods.com/skyrimspecialedition/mods/5268" +"0246","Dreyma Mod [new Music of Skyrim]","https://www.nexusmods.com/skyrimspecialedition/mods/23386" +"0248","NAT.ENB - ESP WEATHER PLUGIN","https://www.nexusmods.com/skyrimspecialedition/mods/27141" +"0250","NordWarUA's Vanilla Armor Replacers SSE -Patches-","https://www.nexusmods.com/skyrimspecialedition/mods/31679" +"0251","Northern Roads - Patches Compendium","https://www.nexusmods.com/skyrimspecialedition/mods/77893" +"0252","Holds The City Overhaul -RUS-","" +"0253","Majestic Mountains [RUS]","" +"0254","Face Discoloration Fix SE","https://www.nexusmods.com/skyrimspecialedition/mods/42441" +"0255","Simple Load Screens - Russian translation","https://www.nexusmods.com/skyrimspecialedition/mods/50912" +"0256","Precision - Accurate Melee Collisions - RU","https://www.nexusmods.com/skyrimspecialedition/mods/72584" +"0257","Pandorable's NPCs_SSE_v1.4_RU","https://www.nexusmods.com/skyrimspecialedition/mods/27582" +"0258","Pandorables NPCs Males [RUS]","" +"0259","Pandorables NPCs - Males 2 [RUS]","" +"0260","PAN_AIO_small - AI Overhaul SSE patch-1-4-Rus","" +"0261","Irena High Poly Head preset by ElleShet SE 3BBB Body","" +"0262","Nirani Indoril High Poly Head preset SE by ElleShet","" +"0263","Deadly Mutilation V1_3_3 CBBE meshes Pack","https://www.nexusmods.com/skyrimspecialedition/mods/34917" +"0264","Bijin skin compability patch Alternative normal map","https://www.nexusmods.com/skyrimspecialedition/mods/27405" +"0265","SEKIRO COMBAT SE - RU","https://www.nexusmods.com/skyrimspecialedition/mods/57678" +"0266","Nordic UI -RUS-","" +"0267","Campfire 1.12.1 and Frostfall 3.4.1SE","https://www.nexusmods.com/skyrimspecialedition/mods/17925" +"0268","SkyrimForBattleV-Patch","" +"0269","IFPV Detector Plugin","https://www.nexusmods.com/skyrimspecialedition/mods/22306" +"0270","Jaxonz MCM Kicker SE_rus_","" +"0271","SkyUI -RUS-","https://www.nexusmods.com/skyrimspecialedition/mods/21088" +"0272","INIGO -RUS-","" +"0273","Song of the Green _RUS_","" +"0274","Inigo Banter patch","" +"0275","Refined Auri SSE -PATCH-","https://www.nexusmods.com/skyrimspecialedition/mods/36444" +"0276","Refined Auri SSE -RUS-","" +"0277","Vokrii(26176)-2-0-1-RU","https://www.nexusmods.com/skyrimspecialedition/mods/28035" +"0278","Саурон","" +"0279","Sweety Preset","" +"0280","Console font fix - RU","https://www.nexusmods.com/skyrimspecialedition/mods/55792" +"0281","BodySlide output","" +"0282","DBVO NordicUI Patch","https://www.nexusmods.com/skyrimspecialedition/mods/84329" +"0284","Dragonborn Voice Over - Stereo Plugin Replacer","https://www.nexusmods.com/skyrimspecialedition/mods/90417" +"0285","FNIS Overwrite","" +"0286","Nemesis overwrite","" +"0288","Pipe Smoking SE","https://www.nexusmods.com/skyrimspecialedition/mods/13061" +"0289","Pipe Smoking SE RUS","" +"0291","PapyrusUtil SE - Scripting Utility Functions","https://www.nexusmods.com/skyrimspecialedition/mods/13048" +"0292","powerofthree's Papyrus Extender","https://www.nexusmods.com/skyrimspecialedition/mods/22854" diff --git a/fl_dir/blog/index.html b/fl_dir/blog/index.html index 6a7e857..7c0b78e 100644 --- a/fl_dir/blog/index.html +++ b/fl_dir/blog/index.html @@ -1,85 +1,85 @@ -
-

Блог

-
-
-

Загрузка новостей...

- - -
-
-

Пример заголовка

- -
Опубликовано: 22.09.2003 в 7:00
- -
-
-

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

- -
- - - - - -
-
- - -