diff --git a/public/about.html b/public/about.html deleted file mode 100644 index 47e3692..0000000 --- a/public/about.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - - - - - - - - Melawy Linux - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- -
-
- -

Привет, {username}!

- -
-
-

Меня зовут Валерия

-

Создатель дистрибутива операционной системы Melawy Linux

- -
    -
  • Я имею хорошие знания по языкам программирования, базам данных, сетям, устройству компьютера, работе операционных систем, виртуализации.
  • -
    -
  • Изучаю и программирую используя Rust, Python, JavaScript, PostgreSQL, SQLite.
  • -
  • Также испытываю интерес к Kotlin, TypeScript, NoSQL.
  • -
-
-
    -
  • Создаю продукты для себя и для людей, один из сборников моего труда - этот дистрибутив операционной системы Melawy Linux
  • -
    -
  • Этот проект начался в апреле 2022 года с набора оформления для загрузчика GRUB, rEFInd и набора Bash-скриптов для доведения чужих дистрибутивов Arch Linux до нормального состояния после установки
  • -
  • Я не собиралась делать свой дистрибутив, но потом мне захотелось оформить всё по Unix-way в пакеты, и понеслось
  • -
-
- -
-
- -
-
- -
- - - - - -
- - - - - - - - - diff --git a/public/about.tpl.html b/public/about.tpl.html new file mode 100644 index 0000000..f148f94 --- /dev/null +++ b/public/about.tpl.html @@ -0,0 +1,34 @@ + +
+ +

Привет, {username}!

+ +
+
+

Меня зовут Валерия

+

Создатель дистрибутива операционной системы Melawy Linux

+ +
    +
  • Я имею хорошие знания по языкам программирования, базам данных, сетям, устройству компьютера, работе операционных систем, виртуализации.
  • +
    +
  • Изучаю и программирую используя Rust, Python, JavaScript, PostgreSQL, SQLite.
  • +
  • Также испытываю интерес к Kotlin, TypeScript, NoSQL.
  • +
+
+
    +
  • Создаю продукты для себя и для людей, один из сборников моего труда - этот дистрибутив операционной системы Melawy Linux
  • +
    +
  • Этот проект начался в апреле 2022 года с набора оформления для загрузчика GRUB, rEFInd и набора Bash-скриптов для доведения чужих дистрибутивов Arch Linux до нормального состояния после установки
  • +
  • Я не собиралась делать свой дистрибутив, но потом мне захотелось оформить всё по Unix-way в пакеты, и понеслось
  • +
+
+

+ Поблагодарить меня за труд +

+
+
+ +
+
+ +
diff --git a/public/assets/css/style.css b/public/assets/css/style.css index d4087b0..ca24169 100644 --- a/public/assets/css/style.css +++ b/public/assets/css/style.css @@ -1,3 +1,58 @@ +/* Center the loader */ +#loader { + position: absolute; + left: 50%; + top: 50%; + z-index: 1; + width: 120px; + height: 120px; + margin: -76px 0 0 -76px; + border: 16px solid #f3f3f3; + border-radius: 50%; + border-top: 16px solid #3498db; + -webkit-animation: spin 2s linear infinite; + animation: spin 2s linear infinite; +} + +@-webkit-keyframes spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(360deg); } +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +/* Add animation to "page content" */ +.animate-bottom { + position: relative; + -webkit-animation-name: animatebottom; + -webkit-animation-duration: 1s; + animation-name: animatebottom; + animation-duration: 1s +} + +@-webkit-keyframes animatebottom { + from { bottom:-100px; opacity:0 } + to { bottom:0px; opacity:1 } +} + +@keyframes animatebottom { + from{ bottom:-100px; opacity:0 } + to{ bottom:0; opacity:1 } +} + +#main { + min-height: 75vh; +} + +#body { + display: none; + min-height: 75vh; +} + + .bd-placeholder-img { font-size: 1.125rem; text-anchor: middle; diff --git a/public/assets/js/script.js b/public/assets/js/script.js index f64556b..7b55772 100644 --- a/public/assets/js/script.js +++ b/public/assets/js/script.js @@ -1,14 +1,139 @@ -document.getElementById('btnSwitch').addEventListener('click', () => { - if (document.documentElement.getAttribute('data-bs-theme') == 'dark') { - document.documentElement.setAttribute('data-bs-theme', 'light'); - } else { - document.documentElement.setAttribute('data-bs-theme', 'dark'); - } -}) +// Экран ожидания страницы +function showPage() { + document.getElementById("loader").style.display = "none"; + document.getElementById("body").style.display = "block"; +} +function hidePage() { + document.getElementById("loader").style.display = "block"; + document.getElementById("body").style.display = "none"; +} + +let showPage_var; + +function ready() { + showPage_var = setTimeout(showPage, 10); +} + +document.addEventListener("DOMContentLoaded", ready); + + +// Загрузка HTML из файла при загрузке URL +async function bodyFetch(url) { + if (!url) { + tplUrl = 'root.tpl.html'; + } else { + tplUrl = url + ".tpl.html"; + } + + let response = await fetch(tplUrl); + let body = document.getElementById('body'); + + if (response.ok) { // если HTTP-статус в диапазоне 200-299 + // получаем тело ответа (см. про этот метод ниже) + let text = await response.text(); + body.innerHTML = text; + } else { + body.innerHTML = "Ой всё сломалось :("; + } +} + +let query = window.location.pathname; +switch (query) { +case "/root": + bodyFetch(query); + break; + +case "/download": + bodyFetch(query); + break; + +case "/donate": + bodyFetch(query); + break; + +case "/cooperation": + bodyFetch(query); + break; + +case "/about": + bodyFetch(query); + break; + +default: + bodyFetch(); +} + + + +// Загрузка HTML из файла при ПЕРЕХОДЕ ПО ССЫЛКЕ +let elements = document.getElementsByClassName("menu"); + +let myFunction = async function(evt) { + evt.preventDefault(); + + const controller = new AbortController(); + const signal = controller.signal; + + // Cancel the fetch request in 500ms + setTimeout(() => controller.abort(), 500); + + var body = document.getElementById('body'); + let text; + const url = this.getAttribute("href"); + const tplUrl = url + '.tpl.html'; + const linkText = this.text.trim(); + const title = document.title + ": " + linkText; + + try { + const response = await fetch(tplUrl, { signal }); + text = await response.text(); + } catch (error) { + // DOMException: The user aborted a request. + console.log('Error: ', error) + body.innerHTML = "

Ой всё сломалось :(

"; + } + + if (text) { + const stateObj = {"html":text,"pageTitle":title}; + // window.history.replaceState({}, title, url); + // window.history.replaceState(null, title, url) + // window.history.replaceState(stateObj, title, url) + // window.history.pushState({}, title, url); + window.history.pushState(stateObj, title, url); + + body.innerHTML = text; + } else { + body.innerHTML = "

Ой всё сломалось :(

"; + } + + // let attribute = this.getAttribute("href"); + // let url = attribute + '.tpl.html'; + // let response = await fetch(url); + // let body = document.getElementById('body'); + // let status = response.status + // isSuccess = status >= 200 && status < 300 || status === 304; + // + // if (isSuccess) { // если HTTP-статус в диапазоне 200-299 + // // получаем тело ответа (см. про этот метод ниже) + // let text = await response.text(); + // body.innerHTML = text; + // } else { + // body.innerHTML = "

Ой всё сломалось :(

"; + // } +}; + +Array.from(elements).forEach(function(element) { +element.addEventListener('click', myFunction); +}); + + +// АКТИВАЦИЯ ПОДСКАЗОК const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]'); const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)) + +// ПЕРЕХОД НАВЕРХ СТРАНИЦЫ //Get the button let mybutton = document.getElementById("btn-back-to-top"); @@ -31,3 +156,88 @@ function backToTop() { document.body.scrollTop = 0; document.documentElement.scrollTop = 0; } + + + +/*! + * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under the Creative Commons Attribution 3.0 Unported License. + */ + +(() => { + 'use strict' + + const getStoredTheme = () => localStorage.getItem('theme') + const setStoredTheme = theme => localStorage.setItem('theme', theme) + + const getPreferredTheme = () => { + const storedTheme = getStoredTheme() + if (storedTheme) { + return storedTheme + } + + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' + } + + const setTheme = theme => { + if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) { + document.documentElement.setAttribute('data-bs-theme', 'dark') + } else { + document.documentElement.setAttribute('data-bs-theme', theme) + } + } + + setTheme(getPreferredTheme()) + + const showActiveTheme = (theme, focus = false) => { + const themeSwitcher = document.querySelector('#bd-theme') + + if (!themeSwitcher) { + return + } + + const themeSwitcherText = document.querySelector('#bd-theme-text') + const activeThemeIcon = document.querySelector('.theme-icon-active use') + const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`) + const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href') + + document.querySelectorAll('[data-bs-theme-value]').forEach(element => { + element.classList.remove('active') + element.setAttribute('aria-pressed', 'false') + }) + + btnToActive.classList.add('active') + btnToActive.setAttribute('aria-pressed', 'true') + activeThemeIcon.setAttribute('href', svgOfActiveBtn) + const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})` + themeSwitcher.setAttribute('aria-label', themeSwitcherLabel) + + if (focus) { + themeSwitcher.focus() + } + } + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { + const storedTheme = getStoredTheme() + if (storedTheme !== 'light' && storedTheme !== 'dark') { + setTheme(getPreferredTheme()) + } + }) + + window.addEventListener('DOMContentLoaded', () => { + showActiveTheme(getPreferredTheme()) + + document.querySelectorAll('[data-bs-theme-value]') + .forEach(toggle => { + toggle.addEventListener('click', () => { + const theme = toggle.getAttribute('data-bs-theme-value') + setStoredTheme(theme) + setTheme(theme) + showActiveTheme(theme, true) + console.log(theme) + }) + }) + }) +})() + diff --git a/public/cooperation.html b/public/cooperation.html deleted file mode 100644 index ebf3996..0000000 --- a/public/cooperation.html +++ /dev/null @@ -1,279 +0,0 @@ - - - - - - - - - - - - - Melawy Linux - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- -
-
- -

Сотрудничество

-

- Приглашаем энтузиастов для совместной разработки, тестирования программ и оформления. -

- -

- Обращаться https://t.me/Melawy_tyan -

- -
- - - - - -
- - - - - - - - - diff --git a/public/cooperation.tpl.html b/public/cooperation.tpl.html new file mode 100644 index 0000000..3e3f4b1 --- /dev/null +++ b/public/cooperation.tpl.html @@ -0,0 +1,13 @@ + +
+ +

Сотрудничество

+

+ Приглашаем энтузиастов для совместной разработки, тестирования программ и оформления. +

+ +

+ Обращаться https://t.me/Melawy_tyan +

+ +
diff --git a/public/donate.tpl.html b/public/donate.tpl.html new file mode 100644 index 0000000..0bc1e21 --- /dev/null +++ b/public/donate.tpl.html @@ -0,0 +1,39 @@ + +
+ +

Поддержка

+

+ Уважаемые пользователи и поклонники Open Source программного обеспечения. +

+

+ Я обращаюсь к вам с просьбой о финансовой поддержке. В течение последних 1,5 лет я уделяла свое свободное время разработке дистрибутива операционной системы Linux, и я хотела бы поделиться с вами, почему эта работа столь важна и почему ваше пожертвование имеет значение. +

+

+ Open source программное обеспечение (ПО) играет ключевую роль в современном мире, обеспечивая свободу использования, изучения, изменения и распространения программ. Это значит, что каждый, кто использует Open Source ПО, имеет возможность адаптировать его под свои нужды и улучшать его для всех пользователей. +

+

+ Мой проект - дистрибутив операционной системы Linux, является одним из примеров такого Open Source ПО. Я стремлюсь создать надежную и удобную операционную систему, предоставляя пользователям возможность выбора и контроля над своими компьютерами. Линукс основан на открытых стандартах и совместной разработке, что делает его доступным для всех без ограничений коммерческих лицензий. +

+

+ Однако разработка и поддержка Open Source программного обеспечения требуют ресурсов - времени, энергии и, конечно же, финансовых средств. Ваши пожертвования помогут мне продолжать работать над проектом, улучшать его функциональность, исправлять ошибки и обеспечивать безопасность. +

+

+ Финансовая поддержка позволит мне также уделить больше времени на разработку новых функций, улучшение пользовательского интерфейса и оптимизацию системы в целом. Без вашей поддержки мой проект может не достичь своего полного потенциала и не принести пользу сообществу. +

+

+ Все собранные пожертвования будут вложены в развитие проекта: оплата домена, хостинга, обновление оборудования, проведение тестирования и разработка новых функций. Будьте уверены, что каждый рубль, доллар, евро, пожертвованный вами, будет использован эффективно и ответственно. +

+

+ Я призываю вас поддержать мою работу по разработке дистрибутива операционной системы Linux финансово. Ваше пожертвование будет оценено, и вместе мы сможем продолжить развитие Open Source ПО и сделать мир более открытым, свободным и доступным для всех. +

+

+ С уважением, Валерия. +

+ +

+ + Поддержать проект + +

+ +
diff --git a/public/download.html b/public/download.html deleted file mode 100644 index 5f7c741..0000000 --- a/public/download.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - - - - - - - - - Melawy Linux - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- -
-
- -

LiveISO:

-
-          
-            Пользователь: liveuser
-            Пароль: 123
-          
-        
- -
Файлы для скачивания
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
НазваниеСсылка
ISO - Melawy-linux-2023.10.30-x86_64.iso -
Packages List - Melawy-linux-2023.10.30-pkglist.txt -
Sha1Sum - Melawy-linux-2023.10.30-x86_64.iso.sha1 -
Sha512Sum - Melawy-linux-2023.10.30-x86_64.iso.sha256 -
Signature - Melawy-linux-2023.10.30-x86_64.iso.sig -
-
- - -
Для проверки ISO-файла с помощью sha1:
-
-          
-          sha1sum -c Melawy-linux-2023.10.30-x86_64.iso.sha1
-          
-        
- - -
Для проверки ISO-файла с помощью sha512:
-
-          
-          sha512sum -c Melawy-linux-2023.10.30-x86_64.iso.sha512
-          
-        
- - -
Для проверки ISO-файла с помощью GPG подписи, импортируйте наш ключ и проверяйте
- -
(Не забудьте добавить ключ в доверенные после проверки)
- -
ISO образ подписан: Valeria Fadeeva <valeria@fadeeva.me>
-
-          
-            pub   ed25519 2023-08-12 [SCA] [   годен до: 2025-08-12]
-                  BC8B 600E 8DDA 1F4C B77B  10D2 BA80 3A26 1A5E E6B8
-            uid         [   полное   ] Valeria Fadeeva <valeria@fadeeva.me>
-            sub   cv25519 2023-08-12 [E] [   годен до: 2025-08-12]
-          
-        
- - -
Для проверки ключа
-
-          
-          gpg --recv BA803A261A5EE6B8
-          gpg --verify Melawy-linux-2023.10.30-x86_64.iso.sig
-          
-        
- -
- - - - - -
- - - - - - - - - diff --git a/public/download.tpl.html b/public/download.tpl.html new file mode 100644 index 0000000..a25f065 --- /dev/null +++ b/public/download.tpl.html @@ -0,0 +1,111 @@ + +
+ +

LiveISO:

+
+          
+            Пользователь: liveuser
+            Пароль: 123
+          
+        
+ +
Файлы для скачивания
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
НазваниеСсылка
ISO + Melawy-linux-2023.10.30-x86_64.iso +
Packages List + Melawy-linux-2023.10.30-pkglist.txt +
Sha1Sum + Melawy-linux-2023.10.30-x86_64.iso.sha1 +
Sha512Sum + Melawy-linux-2023.10.30-x86_64.iso.sha256 +
Signature + Melawy-linux-2023.10.30-x86_64.iso.sig +
+
+ + +
Для проверки ISO-файла с помощью sha1:
+
+          
+          sha1sum -c Melawy-linux-2023.10.30-x86_64.iso.sha1
+          
+        
+ + +
Для проверки ISO-файла с помощью sha512:
+
+          
+          sha512sum -c Melawy-linux-2023.10.30-x86_64.iso.sha512
+          
+        
+ + +
Для проверки ISO-файла с помощью GPG подписи, импортируйте наш ключ и проверяйте
+ +
(Не забудьте добавить ключ в доверенные после проверки)
+ +
ISO образ подписан: Valeria Fadeeva <valeria@fadeeva.me>
+
+          
+            pub   ed25519 2023-08-12 [SCA] [   годен до: 2025-08-12]
+                  BC8B 600E 8DDA 1F4C B77B  10D2 BA80 3A26 1A5E E6B8
+            uid         [   полное   ] Valeria Fadeeva <valeria@fadeeva.me>
+            sub   cv25519 2023-08-12 [E] [   годен до: 2025-08-12]
+          
+        
+ + +
Для проверки ключа
+
+          
+          gpg --recv BA803A261A5EE6B8
+          gpg --verify Melawy-linux-2023.10.30-x86_64.iso.sig
+          
+        
+ + +
Добавление ключа в доверенные
+
+          
+            sudo pacman-key --recv-keys BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8 --keyserver hkps://keys.openpgp.org
+            sudo pacman-key --lsign-key BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8
+
+            или
+
+            sudo pacman-key --lsign-key BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8 --keyserver hkps://keyserver.ubuntu.com
+            sudo pacman-key --lsign-key BC8B600E8DDA1F4CB77B10D2BA803A261A5EE6B8
+          
+        
+ +
diff --git a/public/index.html b/public/index.html index a972496..82d962f 100644 --- a/public/index.html +++ b/public/index.html @@ -17,8 +17,8 @@ - - + + @@ -38,6 +38,8 @@ +
+ @@ -47,75 +49,150 @@