From 8e79098193fd0a8b65305dd8054cf7c424c60bc5 Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Sun, 10 Nov 2024 00:04:43 +0300 Subject: новая жизнь блога 2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 5 + content/pages/guestbook.md | 7 + content/pages/jabber.md | 1 + content/pages/me.md | 1 + content/pages/projects.md | 1 + content/post/2007-11-05.md | 2 +- content/post/2007-11-06.md | 2 +- content/post/2007-11-08.md | 2 +- content/post/2007-12-11.md | 2 +- content/post/2007-12-26.md | 2 +- content/post/2011-05-10.md | 2 +- content/post/2011-09-11-1.md | 5 +- content/post/2011-09-11-2.md | 2 +- content/post/2011-09-11-3.md | 4 +- content/post/2011-09-12.md | 2 +- content/post/2011-09-24.md | 6 +- content/post/2011-11-20.md | 4 +- content/post/2011-11-21.md | 2 +- content/post/2021-02-13-jsonnet.md | 2 +- ...270\320\263\320\270\320\265\320\275\320\260.md" | 56 + content/post/2021-05-13.md | 56 - ...266\320\264\320\265\320\275\320\270\320\265.md" | 25 + content/post/2022-05-30.md | 25 - content/post/2022-05-31-golang-1.md | 2 +- content/post/2023-01-12-gitrepo.md | 122 ++- content/post/2023-05-26-gist.md | 2 +- content/post/2023-07-24-tls.md | 27 +- ...265\321\200\320\265\320\265\320\267\320\264.md" | 21 + content/post/2023-12-29.md | 22 - ...03-\320\260\321\200\321\205\320\270\320\262.md" | 14 + content/post/2024-01-03.md | 15 - content/post/2024-02-21-tls.md | 22 +- ...75\321\213-\320\277\321\203\321\210\320\270.md" | 67 ++ content/post/2024-06-01.md | 68 -- ...-\320\272\320\275\320\270\320\263\320\270-1.md" | 19 + content/post/2024-06-02.md | 20 - content/post/2024-07-13-joplin.md | 3 +- content/post/2024-07-21-bbs.md | 1 - content/post/2024-09-26-hugo-wordpress.md | 3 +- ...200\321\203\320\275\320\265\321\202\320\260.md" | 35 + content/post/2024-10-06.md | 36 - ...-\320\272\320\275\320\270\320\263\320\270-2.md" | 35 + content/post/2024-10-17.md | 36 - hugo.yaml | 32 +- layouts/_default/rss.xml | 49 + ...t.scss_1b40c387e9e0dc928366b05b33018dc5.content | 1 - ...rint.scss_1b40c387e9e0dc928366b05b33018dc5.json | 1 - ...t.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.content | 28 - ...rint.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.json | 1 - ...s.scss_15d2610c0cb97b9efb592f553b76c9f9.content | 1 - ...yles.scss_15d2610c0cb97b9efb592f553b76c9f9.json | 1 - ...s.scss_f3a5364e991a57c56f5dcd8d7251924a.content | 1146 -------------------- ...yles.scss_f3a5364e991a57c56f5dcd8d7251924a.json | 1 - .../images/img/avatar_hu13739649187745961479.png | Bin 410 -> 0 bytes static/files/photo.jpg | Bin 0 -> 103613 bytes static/files/vcard.vcf | 19 + static/img/logo512.png | Bin 0 -> 87498 bytes static/rss.css | 0 static/rss.xsl | 52 + static/upload/logo.png | Bin 0 -> 16514 bytes .../top-encrypted-todo-and-note-taking-apps-01.jpg | Bin 0 -> 196691 bytes ...ypted-todo-and-note-taking-apps-01-1024x624.jpg | Bin 70615 -> 0 bytes ...rypted-todo-and-note-taking-apps-01-150x150.jpg | Bin 4828 -> 0 bytes ...ypted-todo-and-note-taking-apps-01-1536x936.jpg | Bin 127714 -> 0 bytes ...pted-todo-and-note-taking-apps-01-2048x1247.jpg | Bin 192066 -> 0 bytes ...rypted-todo-and-note-taking-apps-01-300x183.jpg | Bin 10719 -> 0 bytes ...rypted-todo-and-note-taking-apps-01-768x468.jpg | Bin 45658 -> 0 bytes .../top-encrypted-todo-and-note-taking-apps-01.jpg | Bin 196691 -> 0 bytes static/wp-content/uploads/2024/09/logo-150x150.png | Bin 4903 -> 0 bytes static/wp-content/uploads/2024/09/logo-300x75.png | Bin 7342 -> 0 bytes static/wp-content/uploads/2024/09/logo-768x192.png | Bin 23012 -> 0 bytes static/wp-content/uploads/2024/09/logo.png | Bin 16514 -> 0 bytes .../wp-content/uploads/2024/09/logo512-300x300.png | Bin 49674 -> 0 bytes .../uploads/2024/09/logo512-e1730113501989.png | Bin 20735 -> 0 bytes static/wp-content/uploads/2024/09/logo512.png | Bin 87498 -> 0 bytes .../wp-content/uploads/2024/09/photo-150x150.jpg | Bin 6468 -> 0 bytes .../wp-content/uploads/2024/09/photo-300x300.jpg | Bin 18843 -> 0 bytes static/wp-content/uploads/2024/09/photo.jpg | Bin 103613 -> 0 bytes static/wp-content/uploads/2024/09/vcard.vcf | 20 - .../uploads/2024/10/Rama16wiki-150x150.jpg | Bin 17892 -> 0 bytes .../uploads/2024/10/Rama16wiki-300x169.jpg | Bin 27424 -> 0 bytes static/wp-content/uploads/2024/10/Rama16wiki.jpg | Bin 98402 -> 0 bytes .../uploads/2024/10/bash_org-150x150.jpg | Bin 6326 -> 0 bytes .../uploads/2024/10/bash_org-300x213.jpg | Bin 13588 -> 0 bytes static/wp-content/uploads/2024/10/bash_org.jpg | Bin 38892 -> 0 bytes 85 files changed, 594 insertions(+), 1544 deletions(-) create mode 100644 Makefile create mode 100644 content/pages/guestbook.md create mode 100644 "content/post/2021-05-13-\321\206\320\270\321\204\321\200\320\276\320\262\320\260\321\217-\320\263\320\270\320\263\320\270\320\265\320\275\320\260.md" delete mode 100644 content/post/2021-05-13.md create mode 100644 "content/post/2022-05-30-\320\262\320\276\320\267\321\200\320\276\320\266\320\264\320\265\320\275\320\270\320\265.md" delete mode 100644 content/post/2022-05-30.md create mode 100644 "content/post/2023-12-29-\320\277\320\265\321\200\320\265\320\265\320\267\320\264.md" delete mode 100644 content/post/2023-12-29.md create mode 100644 "content/post/2024-01-03-\320\260\321\200\321\205\320\270\320\262.md" delete mode 100644 content/post/2024-01-03.md create mode 100644 "content/post/2024-06-01-\320\262\320\260\320\274-\320\275\320\265-\320\275\321\203\320\266\320\275\321\213-\320\277\321\203\321\210\320\270.md" delete mode 100644 content/post/2024-06-01.md create mode 100644 "content/post/2024-06-02-\320\272\320\275\320\270\320\263\320\270-1.md" delete mode 100644 content/post/2024-06-02.md create mode 100644 "content/post/2024-10-06-\321\206\320\270\321\202\320\260\321\202\320\275\320\270\320\272-\321\200\321\203\320\275\320\265\321\202\320\260.md" delete mode 100644 content/post/2024-10-06.md create mode 100644 "content/post/2024-10-17-\320\272\320\275\320\270\320\263\320\270-2.md" delete mode 100644 content/post/2024-10-17.md create mode 100644 layouts/_default/rss.xml delete mode 100644 resources/_gen/assets/sass/print.scss_1b40c387e9e0dc928366b05b33018dc5.content delete mode 100644 resources/_gen/assets/sass/print.scss_1b40c387e9e0dc928366b05b33018dc5.json delete mode 100644 resources/_gen/assets/sass/print.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.content delete mode 100644 resources/_gen/assets/sass/print.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.json delete mode 100644 resources/_gen/assets/sass/styles.scss_15d2610c0cb97b9efb592f553b76c9f9.content delete mode 100644 resources/_gen/assets/sass/styles.scss_15d2610c0cb97b9efb592f553b76c9f9.json delete mode 100644 resources/_gen/assets/sass/styles.scss_f3a5364e991a57c56f5dcd8d7251924a.content delete mode 100644 resources/_gen/assets/sass/styles.scss_f3a5364e991a57c56f5dcd8d7251924a.json delete mode 100644 resources/_gen/images/img/avatar_hu13739649187745961479.png create mode 100644 static/files/photo.jpg create mode 100644 static/files/vcard.vcf create mode 100644 static/img/logo512.png create mode 100644 static/rss.css create mode 100644 static/rss.xsl create mode 100644 static/upload/logo.png create mode 100644 static/upload/top-encrypted-todo-and-note-taking-apps-01.jpg delete mode 100644 static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-1024x624.jpg delete mode 100644 static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-150x150.jpg delete mode 100644 static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-1536x936.jpg delete mode 100644 static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-2048x1247.jpg delete mode 100644 static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-300x183.jpg delete mode 100644 static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-768x468.jpg delete mode 100644 static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01.jpg delete mode 100644 static/wp-content/uploads/2024/09/logo-150x150.png delete mode 100644 static/wp-content/uploads/2024/09/logo-300x75.png delete mode 100644 static/wp-content/uploads/2024/09/logo-768x192.png delete mode 100644 static/wp-content/uploads/2024/09/logo.png delete mode 100644 static/wp-content/uploads/2024/09/logo512-300x300.png delete mode 100644 static/wp-content/uploads/2024/09/logo512-e1730113501989.png delete mode 100644 static/wp-content/uploads/2024/09/logo512.png delete mode 100644 static/wp-content/uploads/2024/09/photo-150x150.jpg delete mode 100644 static/wp-content/uploads/2024/09/photo-300x300.jpg delete mode 100644 static/wp-content/uploads/2024/09/photo.jpg delete mode 100644 static/wp-content/uploads/2024/09/vcard.vcf delete mode 100644 static/wp-content/uploads/2024/10/Rama16wiki-150x150.jpg delete mode 100644 static/wp-content/uploads/2024/10/Rama16wiki-300x169.jpg delete mode 100644 static/wp-content/uploads/2024/10/Rama16wiki.jpg delete mode 100644 static/wp-content/uploads/2024/10/bash_org-150x150.jpg delete mode 100644 static/wp-content/uploads/2024/10/bash_org-300x213.jpg delete mode 100644 static/wp-content/uploads/2024/10/bash_org.jpg diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9f21c00 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +.PHONY: deploy + +deploy: + hugo --gc && rsync -avz --delete public/ neonxp@neonxp.ru:/var/www/neonxp.ru + \ No newline at end of file diff --git a/content/pages/guestbook.md b/content/pages/guestbook.md new file mode 100644 index 0000000..ebd78a2 --- /dev/null +++ b/content/pages/guestbook.md @@ -0,0 +1,7 @@ +--- +title: "Гостевая книга" +date: 2024-11-03T16:10:32+03:00 +draft: false +--- + +Да-да. Старая добрая гостевая книга. Здесь можно писать комментарии не подходящие ни к одному посту и относящиеся к сайту целиком. \ No newline at end of file diff --git a/content/pages/jabber.md b/content/pages/jabber.md index 0e9354d..b9c8048 100644 --- a/content/pages/jabber.md +++ b/content/pages/jabber.md @@ -2,6 +2,7 @@ title: "Jabber" date: 2024-11-03T16:10:32+03:00 draft: false +comments: false --- diff --git a/content/pages/me.md b/content/pages/me.md index 4ea3195..29c2c08 100644 --- a/content/pages/me.md +++ b/content/pages/me.md @@ -2,6 +2,7 @@ title: "Обо мне" date: 2024-11-03T16:10:32+03:00 draft: false +comments: false --- - E-mail: i@neonxp.ru diff --git a/content/pages/projects.md b/content/pages/projects.md index 8751a56..657c4e8 100644 --- a/content/pages/projects.md +++ b/content/pages/projects.md @@ -2,6 +2,7 @@ title: "Мои проекты" date: 2024-11-03T16:10:32+03:00 draft: false +comments: false --- - [Джаббер сервер](/pages/jabber/) diff --git a/content/post/2007-11-05.md b/content/post/2007-11-05.md index 5002408..0904088 100644 --- a/content/post/2007-11-05.md +++ b/content/post/2007-11-05.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2007-11-05T16:54:00Z" -guid: https://neonxp.ru/?p=90 id: 90 tags: - из ЖЖ title: прямой эфир — продолжение +draft: false --- только что досмотрели с джо все что было с кирком… грустно что больше НИКОГДА не будет продолжения… мне так будет не хватать пафоса ТОСа и лично тов. кирка…. \ No newline at end of file diff --git a/content/post/2007-11-06.md b/content/post/2007-11-06.md index b2d2c2e..5ecaf43 100644 --- a/content/post/2007-11-06.md +++ b/content/post/2007-11-06.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2007-11-06T16:53:00Z" -guid: https://neonxp.ru/?p=88 id: 88 tags: - из ЖЖ title: прямой эфир — база гамма +draft: false --- сегодня лег в 5 утра, встал в 2… хожу как ни от мира сего… Когда вышел под вечер за сигаретами на меня нахлынул поток разных грустных воспоминаний о 2003-2004 годах… еще сегодня написала одна девушка которая достаточно давно перестала со мной разговаривать… странно… до сдачи работы не считая сегодняшнего дня остался один день… а сегодня я нифига не работал. завтра коллоквиум по физике.. почитал лекции три больше не мог… завтра самый ужасный день, среда… ненавижу среды… и почему они бывают чаще чем например четверги… \ No newline at end of file diff --git a/content/post/2007-11-08.md b/content/post/2007-11-08.md index 8e0d0c0..f691b27 100644 --- a/content/post/2007-11-08.md +++ b/content/post/2007-11-08.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2007-11-08T16:51:00Z" -guid: https://neonxp.ru/?p=86 id: 86 tags: - из ЖЖ title: прямой эфир — призрак оперы +draft: false --- сегодня с друзьями (не буду показывать пальцем на скудный френд лист) ходили на семинар Opera Software, была прекрасная дружеская атмосфера, обсирание мелкомягких, раздача футболок, дисков и автографов, диалоги “по делу” с разработчиками, умные рассказы, интересные презентации новых продуктов, таких как операмини 4.0 и опера 9.5 бета, которая во время синхронизации умудрилась очень неплохо обвалиться, хотя это не испортило впечатления от новых технологий. кстати, о технологиях, в бете меня больше всего поразила до глубины души поддержка технологии svg(замена флешу на xml) и маленький демо ролик на ней в котором было вставленно 3(!!!) видео ролика и выступающи разработчик вращал их мышкой. собственно семинар удался на славу, даже есть желание к ним идти работать. \ No newline at end of file diff --git a/content/post/2007-12-11.md b/content/post/2007-12-11.md index 01efb6f..8abcdfb 100644 --- a/content/post/2007-12-11.md +++ b/content/post/2007-12-11.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2007-12-11T16:50:00Z" -guid: https://neonxp.ru/?p=84 id: 84 tags: - из ЖЖ title: прямой эфир — подъезд дубль 2 +draft: false --- стоим в подъезде, джо ненароко сказал слово “проблема”. я бы не придал этому бы этому значения если бы игорь не сказал “проблема….. проблема….. \*ЛЯ!!!” и тут вспомнили про проблемы на учебном фронте….. настроение упало до 0….. сейчас медленно пошло в минус….. и как так жить??! \ No newline at end of file diff --git a/content/post/2007-12-26.md b/content/post/2007-12-26.md index a790481..7f0530d 100644 --- a/content/post/2007-12-26.md +++ b/content/post/2007-12-26.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2007-12-26T16:49:00Z" -guid: https://neonxp.ru/?p=82 id: 82 tags: - из ЖЖ title: Ну вот и сессия пришла… +draft: false --- Хоть и начнется зачетная сессия 28го(!!!! это еще одна особенность моего ВУЗа) числа, но зачеты уже идут во всю. “И на нашей улице будет праздник”. У мну сдано уже 4 зачода есть. Неужели все будет хорошо?… \ No newline at end of file diff --git a/content/post/2011-05-10.md b/content/post/2011-05-10.md index 14914fe..b097447 100644 --- a/content/post/2011-05-10.md +++ b/content/post/2011-05-10.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2011-05-10T16:48:00Z" -guid: https://neonxp.ru/?p=80 id: 80 tags: - разное title: Странное д.р. +draft: false --- Сегодня было самое странное из моих д.р.! Хоть я и узнал что дофига народа не придет, зато сегодня было запоздалое(или слишком ранее?) отмечание моей д.р.! Владимир(шеф мой) позвал меня после салюта в клуб “Джокер”, где выступали его знакомые (гр. “Листья травы”, “Макс и Ко.”, “Большой куш” и там к моему удивлению по его просьбе группа “Большой Куш” исполнила для меня песню группы Red Hot Chilli Peppers — Can’t stop! Я был поражен, удивлен, рад! Вот только приехал оттуда, еще не совсем трезв, но полон впечатлений! Вау! Это просто почти невероятно!!!! Уже можно сказать, что денюха удалась!! Посмотрим, что будет завтра! \ No newline at end of file diff --git a/content/post/2011-09-11-1.md b/content/post/2011-09-11-1.md index b2927fd..2bc3d49 100644 --- a/content/post/2011-09-11-1.md +++ b/content/post/2011-09-11-1.md @@ -3,13 +3,14 @@ author: NeonXP categories: - Архив date: "2011-09-11T16:47:00Z" -guid: https://neonxp.ru/?p=76 id: 76 tags: - разное title: Дождь идёт весь день +draft: false --- Люблю такую погоду, она настраивает на рабочий лад. Или на долгие прогулки под ним. Вечером нужно будет обязательно выбраться гулять. -
![](http://localhost:1313/img/posts/1315741048720.png)
![](http://localhost:1313/img/posts/1315741048721.png)
\ No newline at end of file +![](/img/posts/1315741048720.png) +![](/img/posts/1315741048721.png) \ No newline at end of file diff --git a/content/post/2011-09-11-2.md b/content/post/2011-09-11-2.md index 7472458..2978b42 100644 --- a/content/post/2011-09-11-2.md +++ b/content/post/2011-09-11-2.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2011-09-11T16:48:00Z" -guid: https://neonxp.ru/?p=78 id: 78 tags: - из ЖЖ title: Новая жизнь +draft: false --- Пора начинать новую жизнь. Вот и блог обновил. Всё старьё выкинул и сделал внешнюю уборку. Только ради всего, буду стараться не забивать на блог. Ибо уже не в первый раз. \ No newline at end of file diff --git a/content/post/2011-09-11-3.md b/content/post/2011-09-11-3.md index 374e49c..c5fddb5 100644 --- a/content/post/2011-09-11-3.md +++ b/content/post/2011-09-11-3.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2011-09-11T16:46:00Z" -guid: https://neonxp.ru/?p=74 id: 74 tags: - разное title: Традиционная картинка +draft: false --- -
![](http://localhost:1313/img/posts/76290b19.gif)
\ No newline at end of file +![](/img/posts/76290b19.gif) \ No newline at end of file diff --git a/content/post/2011-09-12.md b/content/post/2011-09-12.md index 8ba3cf9..3d8da02 100644 --- a/content/post/2011-09-12.md +++ b/content/post/2011-09-12.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2011-09-12T16:45:00Z" -guid: https://neonxp.ru/?p=72 id: 72 tags: - разное title: Очередное начало очередной безумной недели +draft: false --- Как же всё это уныло… Буэ… Зато сегодня ждем на собеседование нового человека. По резюме, вроде, адекватный человек. Не как ТОТ. Тьфу тьфу тьфу, чтоб не сглазить! diff --git a/content/post/2011-09-24.md b/content/post/2011-09-24.md index b25e94f..075a32d 100644 --- a/content/post/2011-09-24.md +++ b/content/post/2011-09-24.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Архив date: "2011-09-24T16:44:00Z" -guid: https://neonxp.ru/?p=70 id: 70 tags: - DozoR title: Отчет за неделю +draft: false --- Достаточно давно не писал, да и не о чём было особо писать. Работал, учился, болел. Сейчас на улице опять моя любимая погода: пасмурно и дождь, а я сижу на работе. Решил вот выйти в субботу, чтобы побольше всего сделать. Никого нет, тихо, спокойно, лепота! @@ -31,4 +31,6 @@ title: Отчет за неделю Ну и картинки оставшиеся в телефоне после игры под катом, если интересно: -
![](http://localhost:1313/img/posts/2011-09-24_00.31.09.jpg)
![](http://localhost:1313/img/posts/2011-09-23_22.20.19.jpg)
![](http://localhost:1313/img/posts/2011-09-23_22.20.33.jpg)
\ No newline at end of file +![](/img/posts/2011-09-24_00.31.09.jpg) +![](/img/posts/2011-09-23_22.20.19.jpg) +![](/img/posts/2011-09-23_22.20.33.jpg) diff --git a/content/post/2011-11-20.md b/content/post/2011-11-20.md index 6ebc7cd..ca5fa5e 100644 --- a/content/post/2011-11-20.md +++ b/content/post/2011-11-20.md @@ -3,15 +3,15 @@ author: NeonXP categories: - Архив date: "2011-11-20T16:43:00Z" -guid: https://neonxp.ru/?p=68 id: 68 tags: - разное title: Чем развлечься в субботу +draft: false --- Сегодня днём, совершенно неожиданно для себя, был приглашен на игру в пейнтбол. Играл я в первый раз, хотя уже давно имел желание открыть для себя это вид развлечения. -
![](http://localhost:1313/img/posts/paintball.jpg)
Впечатления от игры сложно описать словами, ведь слова не способны передать то обилие положительных эмоций, что я получил. Конечно же, не обошлось и без мелких травм. В частности, на приложенном фото видны последствия для моей многострадальной спины попадания шариков с краской с близкой дистанции. Так же достаточно болезненным оказалось попадание в голову и локоть. Ощущение, как после удара камнем. Но, как ни странно, эти «боевые ранения» никак отрицательно не сказались на общем фане от игры. +![](/img/posts/paintball.jpg)Впечатления от игры сложно описать словами, ведь слова не способны передать то обилие положительных эмоций, что я получил. Конечно же, не обошлось и без мелких травм. В частности, на приложенном фото видны последствия для моей многострадальной спины попадания шариков с краской с близкой дистанции. Так же достаточно болезненным оказалось попадание в голову и локоть. Ощущение, как после удара камнем. Но, как ни странно, эти «боевые ранения» никак отрицательно не сказались на общем фане от игры. Так же, хотелось поблагодарить людей игравших со мной за отлично проведенное время. Надо будет как-нибудь повторить 😉 \ No newline at end of file diff --git a/content/post/2011-11-21.md b/content/post/2011-11-21.md index 76f6994..a99fd63 100644 --- a/content/post/2011-11-21.md +++ b/content/post/2011-11-21.md @@ -3,12 +3,12 @@ author: NeonXP categories: - Архив date: "2011-11-21T16:42:00Z" -guid: https://neonxp.ru/?p=66 id: 66 tags: - 2ГИС - wine title: Решение проблемы с 2Гис +draft: false --- Из-за особенностей своего хобби мне часто приходится задействовать 2Гис. Но после ноябрьских обновлений данная программа перестала у меня адекватно работать, а именно начала зависать буквально от всего — от движения мыши, нажатия кнопок интерфейса и т.п. Что только я уже не пытался с этим с делать! В один момент уже был готов похоронить его и пытаться найти ему альтернативу. diff --git a/content/post/2021-02-13-jsonnet.md b/content/post/2021-02-13-jsonnet.md index 36294b5..6ff2db5 100644 --- a/content/post/2021-02-13-jsonnet.md +++ b/content/post/2021-02-13-jsonnet.md @@ -3,13 +3,13 @@ author: NeonXP categories: - Без рубрики date: "2021-02-13T22:08:19Z" -guid: http://14 id: 59 tags: - go - it - разное title: Jsonnet +draft: false --- Редко такое бывает, что случайно натыкаешься на какую-то технологию и она вызывает вау-эффект и буквально переворачивает всё верх дном. На днях для меня такой технологией стал [Jsonnet](https://jsonnet.org/) от Google. diff --git "a/content/post/2021-05-13-\321\206\320\270\321\204\321\200\320\276\320\262\320\260\321\217-\320\263\320\270\320\263\320\270\320\265\320\275\320\260.md" "b/content/post/2021-05-13-\321\206\320\270\321\204\321\200\320\276\320\262\320\260\321\217-\320\263\320\270\320\263\320\270\320\265\320\275\320\260.md" new file mode 100644 index 0000000..86888c7 --- /dev/null +++ "b/content/post/2021-05-13-\321\206\320\270\321\204\321\200\320\276\320\262\320\260\321\217-\320\263\320\270\320\263\320\270\320\265\320\275\320\260.md" @@ -0,0 +1,56 @@ +--- +author: NeonXP +categories: +- Без рубрики +date: "2021-05-13T15:37:01Z" +id: 58 +tags: +- it +- паранойя +- разное +title: Немного о цифровой гигиене +draft: false +--- + +## Вступление + +Как раз вступление тут особо и не нужно. Ни для кого не открою америки, что в современном цифровом обществе все мы являемся товаром для интернет-медиа гигантов, того же фейсбука да гугла. Не скажу что это для меня, как личности опасно или вредно, но мне это неприятно. Решил с этим что-то делать. + +## Вводные + +- В интернетах я уже очень давно и много где и как “наследил” своими данными. И с этим уже ничего не поделать. +- У меня в телефоне и на всех компьютерах куча приложений работающих с интернетом, и не только мессенджеры. +- У меня достаточно узкий круг людей с кем бы я хотел быть на связи, и не хочу чтобы мои действия как-то ухудшили или усложнили их жизнь. +- Вопрос анонимности для меня не стоит, я не анонимен и это моё осознанное решение. Я законопослушный человек и прятаться мне не от кого. И да, я знаю что этот тезис стараниями либерах нынче пытаются выставить как глупость, но нет. Глупость — это слушать либерах, а не иметь свою голову на плечах. И контртезис “Гы гы гы, ну раз тебе нечего скрывать — поставь камеру у себя в спальне и ванной” даже комментировать не буду в силу его ущербности. +- Я пользователь техники Apple и с этим уже ничего не поделать, менять целиком экосистему для меня не вариант (это очень дорого, бессмысленно, а местами и невозможно, например, рабочий мак мне поменять не на что). И да, есть наивная надежда что у яблок в плане приватности всё получше чем у ведроидов. Во всяком случае по сравнению со стоком. Гиковские прошивки с вырезанными зондами в расчет не беру, верю что у них совсем всё хорошо. + +## Цели + +1. Уменьшить информационный шум вокруг себя и тем самым улучшить качество жизни. +2. Уменьшить свой “информационный след” +3. Иметь больше контроля над своими данными, чтобы мои волосы стали мягкими и шелковистыми. + +## Наброски плана + +1. Перейти максимально на собственные ресурсы, которые я контролирую и которые *точно* не сливают ничего налево.Примерно так: социалки => , GitHub => , Облачные диски => локальный NAS Synology и т.д. +2. Мне надо сократить мессенджеры в идеале до одного, не считая корпоративного рабочего. Тут всё просто — оставляю Telegram, остальные сношу. +3. Мне надо отказаться от неэтичных социальных сетей, где я не могу полностью контролировать свои данные. +4. При отказе от социальных сетей чтобы не доставить проблем моим контактам надо оставить “новый адрес” по которому со мной можно связаться и, например, этот пост. Я не хочу чтобы для всех мои действия были прозрачны и понятны, а не “молча удалиться” оставив кого-то в недоумении. +5. Везде где возможно отключить или заблокировать телеметрию, чтобы как можно меньше моих данных неконтролируемо утекало. Да, полностью не перекрыть, но сократить возможно. +6. Для связи с “миром” оставить только e-mail как наиболее удобный асинхронный метод коммуникации. + +## Дальнейшие шаги + +1. Превратить наброски плана в цельный план. Написать манифест? Возможно. +2. Подготовить “визитку” с актуальными контактами и объяснением что произошло. Причем как в виде изображения, так и текста. +3. Вышеуказанную визитку поместить на уже неактуальных для меня местах обитания (инстаграм, вк и проч). Удаляться не хочу. Жалко контент за столько лет, да и пункт 3 предыдущего абзаца. +4. Удалить “лишние” приложения от вышеуказанных сервисов. +5. Разлогиниться в этих сервисах и очистить браузеры от них, чтобы исключить треккинг на сторонних сайтах. +6. ????? +7. PROFIT! + +## Обратная связь + +Очень бы хотелось получить обратную связь по моему плану. Комментарии про то что упустил и предложения улучшений приветствуются в комментариях к посту, в комментариях к [телеграм каналу](https://t.me/neonxp), или на почту (кстати, стоит наверное и почту перевести к себе? Но пока уровень сервиса врядли смогу адекватный обеспечить) + +*UPD:* Да, я знаю что уже данные так и останутся в чужих руках, но со временем они будут всё больше и больше протухать, а мой “цифровой профиль” терять актуальность. Ведь я не скала, я тоже меняюсь и ухожу от этого профиля. \ No newline at end of file diff --git a/content/post/2021-05-13.md b/content/post/2021-05-13.md deleted file mode 100644 index 54af8a9..0000000 --- a/content/post/2021-05-13.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -author: NeonXP -categories: -- Без рубрики -date: "2021-05-13T15:37:01Z" -guid: http://13 -id: 58 -tags: -- it -- паранойя -- разное -title: Немного о цифровой гигиене ---- - -## Вступление - -Как раз вступление тут особо и не нужно. Ни для кого не открою америки, что в современном цифровом обществе все мы являемся товаром для интернет-медиа гигантов, того же фейсбука да гугла. Не скажу что это для меня, как личности опасно или вредно, но мне это неприятно. Решил с этим что-то делать. - -## Вводные - -- В интернетах я уже очень давно и много где и как “наследил” своими данными. И с этим уже ничего не поделать. -- У меня в телефоне и на всех компьютерах куча приложений работающих с интернетом, и не только мессенджеры. -- У меня достаточно узкий круг людей с кем бы я хотел быть на связи, и не хочу чтобы мои действия как-то ухудшили или усложнили их жизнь. -- Вопрос анонимности для меня не стоит, я не анонимен и это моё осознанное решение. Я законопослушный человек и прятаться мне не от кого. И да, я знаю что этот тезис стараниями либерах нынче пытаются выставить как глупость, но нет. Глупость — это слушать либерах, а не иметь свою голову на плечах. И контртезис “Гы гы гы, ну раз тебе нечего скрывать — поставь камеру у себя в спальне и ванной” даже комментировать не буду в силу его ущербности. -- Я пользователь техники Apple и с этим уже ничего не поделать, менять целиком экосистему для меня не вариант (это очень дорого, бессмысленно, а местами и невозможно, например, рабочий мак мне поменять не на что). И да, есть наивная надежда что у яблок в плане приватности всё получше чем у ведроидов. Во всяком случае по сравнению со стоком. Гиковские прошивки с вырезанными зондами в расчет не беру, верю что у них совсем всё хорошо. - -## Цели - -1. Уменьшить информационный шум вокруг себя и тем самым улучшить качество жизни. -2. Уменьшить свой “информационный след” -3. Иметь больше контроля над своими данными, чтобы мои волосы стали мягкими и шелковистыми. - -## Наброски плана - -1. Перейти максимально на собственные ресурсы, которые я контролирую и которые *точно* не сливают ничего налево.Примерно так: социалки => , GitHub => , Облачные диски => локальный NAS Synology и т.д. -2. Мне надо сократить мессенджеры в идеале до одного, не считая корпоративного рабочего. Тут всё просто — оставляю Telegram, остальные сношу. -3. Мне надо отказаться от неэтичных социальных сетей, где я не могу полностью контролировать свои данные. -4. При отказе от социальных сетей чтобы не доставить проблем моим контактам надо оставить “новый адрес” по которому со мной можно связаться и, например, этот пост. Я не хочу чтобы для всех мои действия были прозрачны и понятны, а не “молча удалиться” оставив кого-то в недоумении. -5. Везде где возможно отключить или заблокировать телеметрию, чтобы как можно меньше моих данных неконтролируемо утекало. Да, полностью не перекрыть, но сократить возможно. -6. Для связи с “миром” оставить только e-mail как наиболее удобный асинхронный метод коммуникации. - -## Дальнейшие шаги - -1. Превратить наброски плана в цельный план. Написать манифест? Возможно. -2. Подготовить “визитку” с актуальными контактами и объяснением что произошло. Причем как в виде изображения, так и текста. -3. Вышеуказанную визитку поместить на уже неактуальных для меня местах обитания (инстаграм, вк и проч). Удаляться не хочу. Жалко контент за столько лет, да и пункт 3 предыдущего абзаца. -4. Удалить “лишние” приложения от вышеуказанных сервисов. -5. Разлогиниться в этих сервисах и очистить браузеры от них, чтобы исключить треккинг на сторонних сайтах. -6. ????? -7. PROFIT! - -## Обратная связь - -Очень бы хотелось получить обратную связь по моему плану. Комментарии про то что упустил и предложения улучшений приветствуются в комментариях к посту, в комментариях к [телеграм каналу](https://t.me/neonxp), или на почту (кстати, стоит наверное и почту перевести к себе? Но пока уровень сервиса врядли смогу адекватный обеспечить) - -*UPD:* Да, я знаю что уже данные так и останутся в чужих руках, но со временем они будут всё больше и больше протухать, а мой “цифровой профиль” терять актуальность. Ведь я не скала, я тоже меняюсь и ухожу от этого профиля. \ No newline at end of file diff --git "a/content/post/2022-05-30-\320\262\320\276\320\267\321\200\320\276\320\266\320\264\320\265\320\275\320\270\320\265.md" "b/content/post/2022-05-30-\320\262\320\276\320\267\321\200\320\276\320\266\320\264\320\265\320\275\320\270\320\265.md" new file mode 100644 index 0000000..6c16d5e --- /dev/null +++ "b/content/post/2022-05-30-\320\262\320\276\320\267\321\200\320\276\320\266\320\264\320\265\320\275\320\270\320\265.md" @@ -0,0 +1,25 @@ +--- +author: NeonXP +categories: +- Без рубрики +date: "2022-05-30T23:37:00Z" +id: 57 +tags: +- блог +- моё +title: Возрождение? +draft: false +--- + +Определенно, вести блог это не мое. Учитывая, что последний пост был год назад — sad but true. + +Не буду говорить, что “вот сейчас то уж точно буду вести регулярно”. Нет не буду. + +Но раз в полгода-год, наверное все же буду. + +Из новостей, что не писал в канал, наверное, только парочка: + +1. сейчас всё свободное время пилю свой петпроджект 😉 Пока что выходит ух какая красота. Но об этом как-нибудь в другой раз, как говорится, пол работы не показывают 🙂 +2. в ленивом режиме начали заниматься вопросами улучшения жилищных условий. Давно пора. + +До встречи когда-нибудь потом 🙂 \ No newline at end of file diff --git a/content/post/2022-05-30.md b/content/post/2022-05-30.md deleted file mode 100644 index 2ea3d0d..0000000 --- a/content/post/2022-05-30.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -author: NeonXP -categories: -- Без рубрики -date: "2022-05-30T23:37:00Z" -guid: http://12 -id: 57 -tags: -- блог -- моё -title: Возрождение? ---- - -Определенно, вести блог это не мое. Учитывая, что последний пост был год назад — sad but true. - -Не буду говорить, что “вот сейчас то уж точно буду вести регулярно”. Нет не буду. - -Но раз в полгода-год, наверное все же буду. - -Из новостей, что не писал в канал, наверное, только парочка: - -1. сейчас всё свободное время пилю свой петпроджект 😉 Пока что выходит ух какая красота. Но об этом как-нибудь в другой раз, как говорится, пол работы не показывают 🙂 -2. в ленивом режиме начали заниматься вопросами улучшения жилищных условий. Давно пора. - -До встречи когда-нибудь потом 🙂 \ No newline at end of file diff --git a/content/post/2022-05-31-golang-1.md b/content/post/2022-05-31-golang-1.md index 87514e0..9872ebc 100644 --- a/content/post/2022-05-31-golang-1.md +++ b/content/post/2022-05-31-golang-1.md @@ -3,12 +3,12 @@ author: NeonXP categories: - Без рубрики date: "2022-05-31T01:00:00Z" -guid: http://11 id: 56 tags: - go - it title: Golang подборка 1 +draft: false --- Просто собираю подборку интересных ссылок по гошке на почитать потом. diff --git a/content/post/2023-01-12-gitrepo.md b/content/post/2023-01-12-gitrepo.md index 8635d1d..18a06a2 100644 --- a/content/post/2023-01-12-gitrepo.md +++ b/content/post/2023-01-12-gitrepo.md @@ -3,12 +3,12 @@ author: NeonXP categories: - Мои проекты date: "2023-01-12T20:22:00Z" -guid: http://10 id: 55 tags: - it - моё title: GitRepo.ru +draft: false --- # Сегодня серьезно переделал свой хостинг [репозиториев кода](https://gitrepo.ru/): @@ -30,26 +30,132 @@ title: GitRepo.ru У меня на руках `docker-compose.yml` который полностью описывает всю конфигурацию сервака, примерно так: -
```yml -version: "3"services: caddy: image: caddy:2.6.2-alpine container_name: gateway restart: unless-stopped ports: - "80:80" - "443:443" - "443:443/udp" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config networks: - gateway git: image: codeberg.org/forgejo/forgejo:1.18.0-1 container_name: git environment: - USER_UID=1000 - USER_GID=1000 - TZ=Europe/Moscow - USER=git - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=db:5432 - GITEA__database__NAME=${PG_NAME} - GITEA__database__USER=${PG_USER} - GITEA__database__PASSWD=${PG_PASS} restart: always networks: - gitea - gateway volumes: - /home/git/.ssh/:/data/git/.ssh - forgejo:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "127.0.0.1:2222:22" depends_on: db: condition: service_healthy db: image: postgres:13 restart: always environment: - POSTGRES_USER=${PG_USER} - POSTGRES_PASSWORD=${PG_PASS} - POSTGRES_DB=${PG_NAME} healthcheck: test: /usr/bin/pg_isready interval: 5s timeout: 10s retries: 120 networks: - gitea volumes: - postgres:/var/lib/postgresql/data woodpecker-server: image: woodpeckerci/woodpecker-server:latest volumes: - woodpecker-server-data:/var/lib/woodpecker/ environment: - WOODPECKER_OPEN=true - WOODPECKER_GITEA=true - WOODPECKER_GITEA_URL=https://gitrepo.ru - WOODPECKER_GITEA_CLIENT=${GITEA_CLIENT} - WOODPECKER_GITEA_SECRET=${GITEA_SECRET} - WOODPECKER_HOST=https://ci.gitrepo.ru - WOODPECKER_ADMIN=neonxp - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} networks: - gitea - gateway depends_on: - git woodpecker-agent: image: woodpeckerci/woodpecker-agent:latest command: agent restart: always depends_on: - woodpecker-server volumes: - /var/run/docker.sock:/var/run/docker.sock environment: - WOODPECKER_SERVER=woodpecker-server:9000 - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} networks: - gitea volumes: woodpecker-server-data: caddy_data: caddy_config: forgejo: postgres:networks: gateway: gitea: external: false +```yml +version: "3" +services: + caddy: + image: caddy:2.6.2-alpine + container_name: gateway + restart: unless-stopped + ports: + - "80:80" + - "443:443" + - "443:443/udp" + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + networks: + - gateway + git: + image: codeberg.org/forgejo/forgejo:1.18.0-1 + container_name: git + environment: + - USER_UID=1000 + - USER_GID=1000 + - TZ=Europe/Moscow + - USER=git + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=db:5432 + - GITEA__database__NAME=${PG_NAME} + - GITEA__database__USER=${PG_USER} + - GITEA__database__PASSWD=${PG_PASS} + restart: always + networks: + - gitea + - gateway + volumes: + - /home/git/.ssh/:/data/git/.ssh + - forgejo:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "127.0.0.1:2222:22" + depends_on: + db: + condition: service_healthy + db: + image: postgres:13 + restart: always + environment: + - POSTGRES_USER=${PG_USER} + - POSTGRES_PASSWORD=${PG_PASS} + - POSTGRES_DB=${PG_NAME} + healthcheck: + test: /usr/bin/pg_isready + interval: 5s + timeout: 10s + retries: 120 + networks: + - gitea + volumes: + - postgres:/var/lib/postgresql/data + woodpecker-server: + image: woodpeckerci/woodpecker-server:latest + volumes: + - woodpecker-server-data:/var/lib/woodpecker/ + environment: + - WOODPECKER_OPEN=true + - WOODPECKER_GITEA=true + - WOODPECKER_GITEA_URL=https://gitrepo.ru + - WOODPECKER_GITEA_CLIENT=${GITEA_CLIENT} + - WOODPECKER_GITEA_SECRET=${GITEA_SECRET} + - WOODPECKER_HOST=https://ci.gitrepo.ru + - WOODPECKER_ADMIN=neonxp + - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} + networks: + - gitea + - gateway + depends_on: + - git + woodpecker-agent: + image: woodpeckerci/woodpecker-agent:latest + command: agent + restart: always + depends_on: + - woodpecker-server + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - WOODPECKER_SERVER=woodpecker-server:9000 + - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} + networks: + - gitea +volumes: + woodpecker-server-data: + caddy_data: + caddy_config: + forgejo: + postgres: +networks: + gateway: + gitea: + external: false + ``` -
а рядом лежит `.env` файлик с значениями переменных `${...}`. +а рядом лежит `.env` файлик с значениями переменных `${...}`. Запускаю деплой я с локального компьютера, предварительно добавив удаленный сервер в [контекст докера](https://docs.docker.com/engine/context/working-with-contexts/): ``` -docker context create gitrepo --docker "host=ssh://gitrepo.ru" # Создаю новый контекст для удаленного сервераdocker use gitrepo # Все последующие docker команды выполняются на удаленном сервереdocker use default # Возвращаюсь в локальный контекст +# Создаю новый контекст для удаленного сервера +docker context create gitrepo --docker "host=ssh://gitrepo.ru" +# Все последующие docker команды выполняются на удаленном сервере +docker use gitrepo +# Возвращаюсь в локальный контекст +docker use default ``` ## Оставшиеся проблемы Сейчас так получается, что Caddyfile должен лежать на удаленном сервере, т.к. часть конфига -
```yml -volumes: - ./Caddyfile:/etc/caddy/Caddyfile +```yml + volumes: + - ./Caddyfile:/etc/caddy/Caddyfile ``` -
выполняется в контексте именно удаленного сервера, а значит при его апдейте на локальном серваке приходится делать SCP этого файла на сервак. Такое себе. +выполняется в контексте именно удаленного сервера, а значит при его апдейте на локальном серваке приходится делать SCP этого файла на сервак. Такое себе. Как это решить — есть интересная идея, но это уже в другой раз. \ No newline at end of file diff --git a/content/post/2023-05-26-gist.md b/content/post/2023-05-26-gist.md index f6aaa9c..f631e2d 100644 --- a/content/post/2023-05-26-gist.md +++ b/content/post/2023-05-26-gist.md @@ -3,12 +3,12 @@ author: NeonXP categories: - Мои проекты date: "2023-05-26T17:40:21Z" -guid: http://9 id: 54 tags: - it - моё title: Импортозамещение Gist +draft: false --- И в догонку к комментариям, запустил на своём серваке свой аналог Gist’ов от GitHub. diff --git a/content/post/2023-07-24-tls.md b/content/post/2023-07-24-tls.md index 4bd6cea..2411d76 100644 --- a/content/post/2023-07-24-tls.md +++ b/content/post/2023-07-24-tls.md @@ -3,12 +3,13 @@ author: NeonXP categories: - Без рубрики date: "2023-07-24T20:04:17Z" -guid: http://8 id: 53 tags: - it - Россия +- TLS title: Немного мыслей о TLS (HTTPS) в России +draft: false --- Накопилось немного мыслей относительно того, что может грозить нам (и мне) в связи с трендом на “балканизацию” рунета. @@ -17,7 +18,9 @@ title: Немного мыслей о TLS (HTTPS) в России Есть относительно [доверенный УЦ от Минцифры](https://www.gosuslugi.ru/tls). Это здорово и я это всецело поддерживаю. Вот только есть момент. Он не для нас, простых людей, и при попытке его получить видим то, что на скриншоте ниже. А сранный Firefox вообще хочет его внести в черный список, чтобы даже специально его нельзя было установить. В общем, пока его я поставить не могу даже при всём желании. -
![Услуга предоставляется только юридическим лицам](/img/posts/20230724_202627.png)
Какие ещё альтернативы есть, если нас вдруг прокинет Let’s encrypt? +![Услуга предоставляется только юридическим лицам](/img/posts/20230724_202627.png) + +Какие ещё альтернативы есть, если нас вдруг прокинет Let’s encrypt? 1. Не использовать HTTPS вообще. Я же не магазин и у меня нет форм логина, которые требуют шифрования. Так-то оно так, да не так. Браузеры уже сейчас очень косо смотрят на “обычные”, не HTTPS сайты, а в дальнейшем, не удивлюсь если перестанут открывать вообще. Так же на HTTP сайтах не работают прикольные браузерные API типа геолокации (наверное, это в каком-то роде даже плюс 😉 ). Ну и ещё проблема, что, например, этот сайт без HTTPS вообще не может работать, ибо для доменов зоны .dev насильно включено HSTS и они не могут работать не по HTTPS. Последнее то я решу старым добрым доменом neonxp.ru, но тем не менее. 2. Самоподписанные сертификаты. Вот это уже более менее похоже на правду! Да, такие сайты надо добавлять в исключения и мороки с сертификатами чуть больше. Но тут та же история с доменами .dev. Для них самоподписаные не катят. Выход — опять таки старый добрый neonxp.ru. @@ -34,15 +37,17 @@ title: Немного мыслей о TLS (HTTPS) в России 4. `openssl req -new -key server.key -subj "/CN=neonxp.ru/CN=*.neonxp.ru" -out server.csr` — генерируем файл запроса для конкретного сайта 5. Создаем файл `openssl.cnf` с примерно таким содержимым: ``` + [SAN] + subjectAltName = @alt_names + [alt_names] + DNS.1 = neonxp.ru + DNS.2 = *.neonxp.ru + ``` +6. И, наконец, создаем сертификат для сайта, который будет подписан ключами server.key и root\_ca.key (то есть и своим удостоверяющим центром тоже): ``` - - ``[SAN]`` - `subjectAltName = @alt_names` - `[alt_names]` - `DNS.1 = neonxp.ru` - `DNS.2 = *.neonxp.ru` -6. И, наконец, создаем сертификат для сайта, который будет подписан ключами server.key и root\_ca.key (то есть и своим удостоверяющим центром тоже): `openssl x509 -req -in server.csr -CA root_ca.crt -CAkey root_ca.key -CAcreateserial -out server.crt -days 365 -extensions SAN -extfile openssl.cnf` - -В общем, всё. Полученные root\_ca.crt (но не root\_ca.key!), server.key и server.crt можно вносить в конфигурацию используемого вебсервера. А так же внести root\_ca.crt в доверенные для себя. + openssl x509 -req -in server.csr -CA root_ca.crt -CAkey root_ca.key -CAcreateserial -out server.crt -days 365 -extensions SAN -extfile openssl.cnf + ``` + +В общем, всё. Полученные root_ca.crt (но не root_ca.key!), server.key и server.crt можно вносить в конфигурацию используемого вебсервера. А так же внести root_ca.crt в доверенные для себя. Так у меня выглядят [сертификат на сайт](/img/posts/20230724_204209.png) и [сертификат УЦ](/img/posts/20230724_204325.png). \ No newline at end of file diff --git "a/content/post/2023-12-29-\320\277\320\265\321\200\320\265\320\265\320\267\320\264.md" "b/content/post/2023-12-29-\320\277\320\265\321\200\320\265\320\265\320\267\320\264.md" new file mode 100644 index 0000000..22aab82 --- /dev/null +++ "b/content/post/2023-12-29-\320\277\320\265\321\200\320\265\320\265\320\267\320\264.md" @@ -0,0 +1,21 @@ +--- +author: NeonXP +categories: +- Без рубрики +date: "2023-12-29T00:15:44Z" +id: 52 +tags: +- блог +- разное +title: Переезд и проблемы обновления +--- + +Немного новостей. + +Начну с грустного. Крайне неудачно обновил forgejo на gitrepo.ru. В общем, БД побилась без возможности восстановления. Репозитории я спас, обращайтесь — пришлю архив репозиториев. + +Очень грустно, я был крайне расстроен. Штош, теперь настроил зато постоянные бекапы БД и данных на локальный NAS. Прошу прощения у пользователей, я очень виноват. + +А теперь о негрустном. Всё же решил что мне больше нравится основным домен не .dev, а именно .ru. Времена неспокойные — лучше перестраховаться и сделать ставку именно на национальный домен, а не на международный. К тому же у .dev домена есть неприятная особенность, что он требует обязательно валидного (то есть одобренного западными “партнерами”) сертификата. А это не дело, как я уже [писал в заметке](https://neonxp.ru/posts/2023-07-24-tls/). + +Пока что как-то так 🤷🏻‍♂️ \ No newline at end of file diff --git a/content/post/2023-12-29.md b/content/post/2023-12-29.md deleted file mode 100644 index 3f80498..0000000 --- a/content/post/2023-12-29.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -author: NeonXP -categories: -- Без рубрики -date: "2023-12-29T00:15:44Z" -guid: http://7 -id: 52 -tags: -- блог -- разное -title: Переезд и проблемы обновления ---- - -Немного новостей. - -Начну с грустного. Крайне неудачно обновил forgejo на gitrepo.ru. В общем, БД побилась без возможности восстановления. Репозитории я спас, обращайтесь — пришлю архив репозиториев. - -Очень грустно, я был крайне расстроен. Штош, теперь настроил зато постоянные бекапы БД и данных на локальный NAS. Прошу прощения у пользователей, я очень виноват. - -А теперь о негрустном. Всё же решил что мне больше нравится основным домен не .dev, а именно .ru. Времена неспокойные — лучше перестраховаться и сделать ставку именно на национальный домен, а не на международный. К тому же у .dev домена есть неприятная особенность, что он требует обязательно валидного (то есть одобренного западными “партнерами”) сертификата. А это не дело, как я уже [писал в заметке](https://neonxp.ru/posts/2023-07-24-tls/). - -Пока что как-то так 🤷🏻‍♂️ \ No newline at end of file diff --git "a/content/post/2024-01-03-\320\260\321\200\321\205\320\270\320\262.md" "b/content/post/2024-01-03-\320\260\321\200\321\205\320\270\320\262.md" new file mode 100644 index 0000000..d35405e --- /dev/null +++ "b/content/post/2024-01-03-\320\260\321\200\321\205\320\270\320\262.md" @@ -0,0 +1,14 @@ +--- +author: NeonXP +categories: +- Без рубрики +date: "2024-01-03T17:28:40Z" +id: 51 +tags: +- блог +title: Архив +--- + +Покопавшись по вебархиву смог вытащить древние посты с разных моих старых блогов. В основном, кринжовые, конечно, но это моя жизнь, как она была в то время. Так что пусть будут. + +[Архив блога](https://neonxp.ru/categories/архив/) \ No newline at end of file diff --git a/content/post/2024-01-03.md b/content/post/2024-01-03.md deleted file mode 100644 index bda3cf0..0000000 --- a/content/post/2024-01-03.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -author: NeonXP -categories: -- Без рубрики -date: "2024-01-03T17:28:40Z" -guid: http://6 -id: 51 -tags: -- блог -title: Архив ---- - -Покапавшись по вебархиву смог вытащить древние посты с разных моих старых блогов. В основном, кринжовые, конечно, но это моя жизнь, как она была в то время. Так что пусть будут. - -[Архив блога](https://neonxp.ru/category/archive/) \ No newline at end of file diff --git a/content/post/2024-02-21-tls.md b/content/post/2024-02-21-tls.md index 759f1e0..47caee6 100644 --- a/content/post/2024-02-21-tls.md +++ b/content/post/2024-02-21-tls.md @@ -3,11 +3,11 @@ author: NeonXP categories: - Без рубрики date: "2024-02-21T21:51:29Z" -guid: http://5 id: 50 tags: - it - Россия +- TLS title: Конфигурация HTTPS с сертификатом от Минцифры --- @@ -18,32 +18,32 @@ title: Конфигурация HTTPS с сертификатом от Минц Поехали! 1. Идём сюда: -2. По приведенной инструкции генерируем файл запроса сертификата. Вкратце так (только вместо neonxp.ru указываем свой домен): +2. По приведенной инструкции генерируем файл запроса сертификата. Вкратце так (только вместо neonxp.ru указываем свой домен): ``` + openssl req -out neonxp.ru.csr -new -subj "/C=RU/CN=neonxp.ru" -addext "keyUsage = digitalSignature, keyEncipherment" -addext "subjectAltName=DNS: neonxp.ru" -addext "extendedKeyUsage = serverAuth" -newkey rsa:2048 -nodes -keyout neonxp.ru.key ``` - - ``openssl req -out neonxp.ru.csr -new -subj "/C=RU/CN=neonxp.ru" -addext "keyUsage = digitalSignature, keyEncipherment" -addext "subjectAltName=DNS: neonxp.ru" -addext "extendedKeyUsage = serverAuth" -newkey rsa:2048 -nodes -keyout neonxp.ru.key`` Важно! Нужно сохранить файл ключа neonxp.ru.key в надежном месте. Если он попадет в чужие руки — нужно будет отзывать сертификат и начинать всё заново!SAN и Wildcard пока не поддерживается, но что имеем — то и имеем. Но по слухам таки будут, как минимум SAN. 3. Полученный файл csr загружаем там же на госуслуги 4. Ждём не долго (реально недолго, у меня прислали сертификат буквально через несколько минут!) 5. В ответ придёт файл с рандомным названием. Сохраняем его туда, где лежат другие файлы под названием “домен.crt” 6. Скачиваем корневой и промежуточные сертификаты: - ``wget https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cerwget https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer````` + ``` + wget https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cerwget https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer````` ``` 7. Преобразуем скачанный сертификат в формат PEM: ``` + openssl x509 -in neonxp.ru.crt -out neonxp.cer -outform PEM ``` - - `
openssl x509 -in neonxp.ru.crt -out neonxp.cer -outform PEM
` 8. Соединяем свой сертификат и минцифровские в один бандл: ``` + cat neonxp.cer russian_trusted_sub_ca_pem.cer russian_trusted_root_ca_pem.cer > chain.cer ``` - - ``cat neonxp.cer russian_trusted_sub_ca_pem.cer russian_trusted_root_ca_pem.cer > chain.cer`` 9. Используем полученный бандл и сгенерированный в пункте 2 файл ключа в конфигурации вебсервера. У меня используется Caddy, поэтому мой конфиг выглядит так: ``` + neonxp.ru:443 { + tls /data/ssl/chain.cer /data/ssl/neonxp.ru.key + ... + } ``` - - `
neonxp.ru:443 {    tls /data/ssl/chain.cer /data/ssl/neonxp.ru.key    ...}
` В общем-то, всё. Как настанет время продлевать — я дополню заметку деталями именно продления. Если будут вопросы — пишите, попробуем решить. \ No newline at end of file diff --git "a/content/post/2024-06-01-\320\262\320\260\320\274-\320\275\320\265-\320\275\321\203\320\266\320\275\321\213-\320\277\321\203\321\210\320\270.md" "b/content/post/2024-06-01-\320\262\320\260\320\274-\320\275\320\265-\320\275\321\203\320\266\320\275\321\213-\320\277\321\203\321\210\320\270.md" new file mode 100644 index 0000000..e7df878 --- /dev/null +++ "b/content/post/2024-06-01-\320\262\320\260\320\274-\320\275\320\265-\320\275\321\203\320\266\320\275\321\213-\320\277\321\203\321\210\320\270.md" @@ -0,0 +1,67 @@ +--- +author: NeonXP +categories: +- Без рубрики +date: "2024-06-01T21:05:55Z" +id: 49 +tags: +- it +- разное +title: Вам не нужны пуши! +--- + +Я не шучу. Серьёзно. + +С неделю назад меня осенила крайне простая мысль, которая ранее, почему-то, мне не приходила. + +Но сначала, две вводных, или, скажем, тезиса, которые послужили для вывода этой мысли: + +**Тезис №1** + +Меня действительно огорчает количество пушей которые постоянно сыплются мне на телефон. Это вызывает раздражение сразуна нескольких уровнях: + +1. Сам момент их прихода — я автоматически смотрю на телефон, что же пришло +2. Если я игнорирую пуш — он потом висит в шторке вызывая раздражение +3. Очень часто это сранная реклама от какого-нибудь озона или магнит маркета (бывш. KazanExpress) + +Но бывают же и полезные пуши! Например, уведомления от Госуслуг или информация что заказ доставлен ну илисообщения в мессенджерах. + +То есть, как будто, ради вышеуказанных полезных пушей, я должен терпеть и тонну бесполезного говна! + +**Тезис №2** + +Ну и вторая вводная, которая, какмне кажется подтолкнула меня — я всегда любил *простые* и открытые технологии, какдревние, типа RSS, e-mail, irc, так и новые, но такие же простые и открытые, как, например, gemini (да, сейчас он наэтом сайте сломан, но я его починю на днях, честно!), федиверс и прочие подобные. Кстати, сейчас подумалось, что именноэти качества меня и так сильно влюбили в golang 🙂 + +## Та самая простая мысль + +На стыке двух вышеуказанных тезисов у меня внезапно для себя самого и синтезировалась крайне простая мысль: + +> **Действительно** важные вещи всегда приходят на электропочту, а сообщения в мессенджерах — это не срочно! + +Таким образом, запретив на телефоне вообще все пуши кроме электропочты я избавился от этого угнетающего информационногошума, оставив только полезный сигнал. + +-Хей, да на почте же один спам! — скажешь ты мне + +На самом деле, уже давно нет. Я лично использую почту mail.ru (в данном случае, это не очень важно и относится к любой)и на ней спама как такового уже давно нет (если думаешь, что это не так, перепроверь, возможно, твои представленияустарели). При этом, самое великое в этом то, что почта (на самом деле, не важно, какая именно — mail.ru, yandex или,прости господи, гмейл) предоставляет гибкие фильтры входящей почты. И потратив буквально пару десятков минут можносформировать правила, чтобы, например, от того же озона пропускались только письма со статусом заказа и больше ничего. + +Вот так, древняя технология обычных, старых-добрых, писем позволяет решить проблему современных назойливых уведомлений! + +При этом, почта не пушит проверять её постоянно! Самое главное её преимущество для меня — это её ассинхронность, вотличие от мессенджеров. Можно отключить от нее уведомления тоже, но завести себе правило, что раз в Н времени выделятьвремя на ее проверку. Самое главное — делать это в *комфортное для себя* время. + +## Так же как и на мессенджеры, кстати! + +Выше я уже сказал, что мессенджеры — это не срочно. Ничего страшного не случится, если я отвечу через час-два-три иливообще вечером. Если будет что-то *действительно* срочное — мне можно и позвонить. Но, к счастью, мне повезло, что мояжизнь достаточно спокойная и *действительно* срочное почти не случается. Отрефлексируй, уважаемый читатель, насколько*действительно* срочные и важные вопросы, которые ты таковыми считаешь и которыми ежедневно дёргают тебя? И ответь себечестно, мир бы разрушился, если бы ты их отложил на комфортное для *себя*, а не других время? + +Такой эксперимент я ставлю на себе уже неделю. Я практически не захожу в мессенджеры, всё действительно важное мнеприходит на почту, лишней рекламы я не вижу, нет никакого информационного шума, который буквально стал бичомсовременности. + +## Вывод за неделю + +Моё внутреннее состояние ощущается как очень спокойное и, главное, комфортное. Я чувствую полный контроль над тем, чтои когда я потребляю и нет никакого информационного насилия, как его называет [Столяров](http://stolyarov.info/)(хоть мне этот персонаж и кажется чрезвычайно радикальным и оттого отталкивающим, но что-то в его словах таки есть). + +Считаю, что эксперимент оказался удачным, и я его продолжу! + +## Пишите письма! + +Напомню раз пришлось к слову, пожалуй, свою электропочту: или обе почты абсолютноравноценны, писать можно на любую. Очевидно из поста, что молниеносный ответ я не гарантирую, но, сам факт ответа вобозримое время гарантирован! + +73! \ No newline at end of file diff --git a/content/post/2024-06-01.md b/content/post/2024-06-01.md deleted file mode 100644 index 81148e1..0000000 --- a/content/post/2024-06-01.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -author: NeonXP -categories: -- Без рубрики -date: "2024-06-01T21:05:55Z" -guid: http://4 -id: 49 -tags: -- it -- разное -title: Вам не нужны пуши! ---- - -Я не шучу. Серьёзно. - -С неделю назад меня осенила крайне простая мысль, которая ранее, почему-то, мне не приходила. - -Но сначала, две вводных, или, скажем, тезиса, которые послужили для вывода этой мысли: - -**Тезис №1** - -Меня действительно огорчает количество пушей которые постоянно сыплются мне на телефон. Это вызывает раздражение сразуна нескольких уровнях: - -1. Сам момент их прихода — я автоматически смотрю на телефон, что же пришло -2. Если я игнорирую пуш — он потом висит в шторке вызывая раздражение -3. Очень часто это сранная реклама от какого-нибудь озона или магнит маркета (бывш. KazanExpress) - -Но бывают же и полезные пуши! Например, уведомления от Госуслуг или информация что заказ доставлен ну илисообщения в мессенджерах. - -То есть, как будто, ради вышеуказанных полезных пушей, я должен терпеть и тонну бесполезного говна! - -**Тезис №2** - -Ну и вторая вводная, которая, какмне кажется подтолкнула меня — я всегда любил *простые* и открытые технологии, какдревние, типа RSS, e-mail, irc, так и новые, но такие же простые и открытые, как, например, gemini (да, сейчас он наэтом сайте сломан, но я его починю на днях, честно!), федиверс и прочие подобные. Кстати, сейчас подумалось, что именноэти качества меня и так сильно влюбили в golang 🙂 - -## Та самая простая мысль - -На стыке двух вышеуказанных тезисов у меня внезапно для себя самого и синтезировалась крайне простая мысль: - -> **Действительно** важные вещи всегда приходят на электропочту, а сообщения в мессенджерах — это не срочно! - -Таким образом, запретив на телефоне вообще все пуши кроме электропочты я избавился от этого угнетающего информационногошума, оставив только полезный сигнал. - --Хей, да на почте же один спам! — скажешь ты мне - -На самом деле, уже давно нет. Я лично использую почту mail.ru (в данном случае, это не очень важно и относится к любой)и на ней спама как такового уже давно нет (если думаешь, что это не так, перепроверь, возможно, твои представленияустарели). При этом, самое великое в этом то, что почта (на самом деле, не важно, какая именно — mail.ru, yandex или,прости господи, гмейл) предоставляет гибкие фильтры входящей почты. И потратив буквально пару десятков минут можносформировать правила, чтобы, например, от того же озона пропускались только письма со статусом заказа и больше ничего. - -Вот так, древняя технология обычных, старых-добрых, писем позволяет решить проблему современных назойливых уведомлений! - -При этом, почта не пушит проверять её постоянно! Самое главное её преимущество для меня — это её ассинхронность, вотличие от мессенджеров. Можно отключить от нее уведомления тоже, но завести себе правило, что раз в Н времени выделятьвремя на ее проверку. Самое главное — делать это в *комфортное для себя* время. - -## Так же как и на мессенджеры, кстати! - -Выше я уже сказал, что мессенджеры — это не срочно. Ничего страшного не случится, если я отвечу через час-два-три иливообще вечером. Если будет что-то *действительно* срочное — мне можно и позвонить. Но, к счастью, мне повезло, что мояжизнь достаточно спокойная и *действительно* срочное почти не случается. Отрефлексируй, уважаемый читатель, насколько*действительно* срочные и важные вопросы, которые ты таковыми считаешь и которыми ежедневно дёргают тебя? И ответь себечестно, мир бы разрушился, если бы ты их отложил на комфортное для *себя*, а не других время? - -Такой эксперимент я ставлю на себе уже неделю. Я практически не захожу в мессенджеры, всё действительно важное мнеприходит на почту, лишней рекламы я не вижу, нет никакого информационного шума, который буквально стал бичомсовременности. - -## Вывод за неделю - -Моё внутреннее состояние ощущается как очень спокойное и, главное, комфортное. Я чувствую полный контроль над тем, чтои когда я потребляю и нет никакого информационного насилия, как его называет [Столяров](http://stolyarov.info/)(хоть мне этот персонаж и кажется чрезвычайно радикальным и оттого отталкивающим, но что-то в его словах таки есть). - -Считаю, что эксперимент оказался удачным, и я его продолжу! - -## Пишите письма! - -Напомню раз пришлось к слову, пожалуй, свою электропочту: или обе почты абсолютноравноценны, писать можно на любую. Очевидно из поста, что молниеносный ответ я не гарантирую, но, сам факт ответа вобозримое время гарантирован! - -73! \ No newline at end of file diff --git "a/content/post/2024-06-02-\320\272\320\275\320\270\320\263\320\270-1.md" "b/content/post/2024-06-02-\320\272\320\275\320\270\320\263\320\270-1.md" new file mode 100644 index 0000000..089085b --- /dev/null +++ "b/content/post/2024-06-02-\320\272\320\275\320\270\320\263\320\270-1.md" @@ -0,0 +1,19 @@ +--- +author: NeonXP +categories: +- Без рубрики +date: "2024-06-02T01:48:16Z" +id: 48 +tags: +- книги +- фантастика +title: Книжные рекомендации 1 +--- + +Подумалось, почему бы не рекомендовать понравившиеся мне книги. + +В прошлый раз, ещё [в VK рекомендовал](https://vk.com/wall-174034751_45) Азимовский цикл “Основание”. А в этот разрекомендую цикл фантастики Андре Нортона “Королева Солнца”. + +Если без спойлеров — цикл описывает приключения помощника супер-карго Дейла на космическом корабле вольных торговцев“Королева Солнца”. Читается легко и увлекательно. Книги небольшие, проглатываются за пару часов. + +[Скачать](https://neonxp.ru/wp-content/uploads/2024/09/andre_norton-queen_of_sun.zip) \ No newline at end of file diff --git a/content/post/2024-06-02.md b/content/post/2024-06-02.md deleted file mode 100644 index f23346a..0000000 --- a/content/post/2024-06-02.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -author: NeonXP -categories: -- Без рубрики -date: "2024-06-02T01:48:16Z" -guid: http://3 -id: 48 -tags: -- книги -- фантастика -title: Книжные рекомендации 1 ---- - -Подумалось, почему бы не рекомендовать понравившиеся мне книги. - -В прошлый раз, ещё [в VK рекомендовал](https://vk.com/wall-174034751_45) Азимовский цикл “Основание”. А в этот разрекомендую цикл фантастики Андре Нортона “Королева Солнца”. - -Если без спойлеров — цикл описывает приключения помощника супер-карго Дейла на космическом корабле вольных торговцев“Королева Солнца”. Читается легко и увлекательно. Книги небольшие, проглатываются за пару часов. - -[Скачать](https://neonxp.ru/wp-content/uploads/2024/09/andre_norton-queen_of_sun.zip) \ No newline at end of file diff --git a/content/post/2024-07-13-joplin.md b/content/post/2024-07-13-joplin.md index 1d874b7..77562c2 100644 --- a/content/post/2024-07-13-joplin.md +++ b/content/post/2024-07-13-joplin.md @@ -3,9 +3,8 @@ author: NeonXP categories: - Без рубрики date: "2024-07-13T20:49:12Z" -guid: http://2 id: 47 -image: /wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01.jpg +image: /upload/top-encrypted-todo-and-note-taking-apps-01.jpg tags: - it - joplin diff --git a/content/post/2024-07-21-bbs.md b/content/post/2024-07-21-bbs.md index 04519f2..f28e9a1 100644 --- a/content/post/2024-07-21-bbs.md +++ b/content/post/2024-07-21-bbs.md @@ -3,7 +3,6 @@ author: NeonXP categories: - Без рубрики date: "2024-07-21T20:28:34Z" -guid: http://1 id: 46 tags: - разное diff --git a/content/post/2024-09-26-hugo-wordpress.md b/content/post/2024-09-26-hugo-wordpress.md index 15761dd..d6b6423 100644 --- a/content/post/2024-09-26-hugo-wordpress.md +++ b/content/post/2024-09-26-hugo-wordpress.md @@ -5,9 +5,8 @@ categories: date: "2024-09-26T19:05:00Z" footnotes: - "" -guid: https://neonxp.ru/?p=112 id: 112 -image: /wp-content/uploads/2024/09/logo.png +image: /upload/logo.png location: - На базе tags: diff --git "a/content/post/2024-10-06-\321\206\320\270\321\202\320\260\321\202\320\275\320\270\320\272-\321\200\321\203\320\275\320\265\321\202\320\260.md" "b/content/post/2024-10-06-\321\206\320\270\321\202\320\260\321\202\320\275\320\270\320\272-\321\200\321\203\320\275\320\265\321\202\320\260.md" new file mode 100644 index 0000000..2048c18 --- /dev/null +++ "b/content/post/2024-10-06-\321\206\320\270\321\202\320\260\321\202\320\275\320\270\320\272-\321\200\321\203\320\275\320\265\321\202\320\260.md" @@ -0,0 +1,35 @@ +--- +author: NeonXP +categories: +- Мои проекты +date: "2024-10-06T12:00:11Z" +id: 208 +image: /upload/bash_org.jpg +tags: +- go +- it +- моё +title: Цитатник Рунета +--- + +В середине-конце нулевых был очень популярный сайт баш.орг.ру. Думаю, те, «кому за» помнят ещё такой. + +Сайт просто был сборником цитат из разных чатов, irc каналов или личных переписок. Изначально, был исключительно анимешно-айтишной направленности и тем самым для нас, студентов и гиков был крайне популярным местом. В своё время, он подарил мне много часов приятного времяпрепровождения и ламповых вечеров. + +Затем, когда БОР (как часто его сокращали) выиграл премию Рунета, на него хлынул поток, как сейчас бы сказали, «нормисов». Которые, уже в свою очередь, заполнили БОР всяким про отношения, офисно-планктонные темы, фейковыми цитатами, ответами на цитаты, ответами на ответы на цитаты и прочим подобным, далёким от изначального айтишного флёра, шлаком. + +В общем, как всегда, в андеграунд пришли нормисы и всё испортили. И да, баш скатился уже, по сути, к десятым годам. + +Примерно тогда же он для меня и закончился, ибо стал уже совсем не «торт». Потом он как-то жил больше декады за границами моего внимания. Успев при этом поменять адрес с зоны .ru на зону .im зачем-то. Ну а с началом СВО его админы окончательно сошли с ума и закрыли БОР который к тому времени и так едва ли был жив. На этом, его история окончательно закончилась. + +Однако, не смотря на это БОР был интересным и знаковым феноменом, который неотрывно вписан как в историю рунета так и в мою личную историю юности. + +Посему, я решил, так сказать, или возродить его, ну или, как минимум, сделать ему мемориал. + +Сказано — сделано. Купил домен, который отсылается к самому старому домену оригинала — [sh.org.ru](https://sh.org.ru) (sh является командной оболочкой, предком командной оболочки bash). За несколько часов написал скраппер по зеркалам и архивам бора, спарсил более 80К цитат. Затем, написал на golang простенький движок и всего за день запустил свой цитатник в свободное плавание! + +Из функций пока только вывод цитат по страницам, а так же вывод случайных 20 цитат + кнопка для выдачи других 20 случайных. Лично мне гораздо больше нравятся как раз случайные подборки. Их можно обновлять почти бесконечно! + +Да, он пока не умеет принимать новые цитаты (да и кто их будет слать то, лол?), да и нет других функций, типа голосований (классическими `[+]`, `[-]`, `[:|||:]`). Буду ли я это доделывать и как-то развивать? Не знаю. Возможно, время цитатника безвозвратно ушло. Но может быть и внезапный комбек. Кто знает 🤷‍♂️. В ближайшие дни я допилю и голосвалку и добавление цитат, но вряд ли буду в это инвестировать много времени. Есть ещё и мысль публиковать цитаты через ТГ бота простой пересылкой ему сообщений, а он уже их сам анонимизирует заменяя данные пользователей на обезличенные XXX и YYY и оформляет цитату как надо. Как вам такая идея? + +Вообще, я бы хотел это как-то, наверное, обсудить, относительно того как это развивать и стоит ли? \ No newline at end of file diff --git a/content/post/2024-10-06.md b/content/post/2024-10-06.md deleted file mode 100644 index f878ad7..0000000 --- a/content/post/2024-10-06.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -author: NeonXP -categories: -- Мои проекты -date: "2024-10-06T12:00:11Z" -guid: https://neonxp.ru/?p=208 -id: 208 -image: /upload/bash_org.jpg -tags: -- go -- it -- моё -title: Цитатник Рунета ---- - -В середине-конце нулевых был очень популярный сайт баш.орг.ру. Думаю, те, «кому за» помнят ещё такой. - -Сайт просто был сборником цитат из разных чатов, irc каналов или личных переписок. Изначально, был исключительно анимешно-айтишной направленности и тем самым для нас, студентов и гиков был крайне популярным местом. В своё время, он подарил мне много часов приятного времяпрепровождения и ламповых вечеров. - -Затем, когда БОР (как часто его сокращали) выиграл премию Рунета, на него хлынул поток, как сейчас бы сказали, «нормисов». Которые, уже в свою очередь, заполнили БОР всяким про отношения, офисно-планктонные темы, фейковыми цитатами, ответами на цитаты, ответами на ответы на цитаты и прочим подобным, далёким от изначального айтишного флёра, шлаком. - -В общем, как всегда, в андеграунд пришли нормисы и всё испортили. И да, баш скатился уже, по сути, к десятым годам. - -Примерно тогда же он для меня и закончился, ибо стал уже совсем не «торт». Потом он как-то жил больше декады за границами моего внимания. Успев при этом поменять адрес с зоны .ru на зону .im зачем-то. Ну а с началом СВО его админы окончательно сошли с ума и закрыли БОР который к тому времени и так едва ли был жив. На этом, его история окончательно закончилась. - -Однако, не смотря на это БОР был интересным и знаковым феноменом, который неотрывно вписан как в историю рунета так и в мою личную историю юности. - -Посему, я решил, так сказать, или возродить его, ну или, как минимум, сделать ему мемориал. - -Сказано — сделано. Купил домен, который отсылается к самому старому домену оригинала — [sh.org.ru](https://sh.org.ru) (sh является командной оболочкой, предком командной оболочки bash). За несколько часов написал скраппер по зеркалам и архивам бора, спарсил более 80К цитат. Затем, написал на golang простенький движок и всего за день запустил свой цитатник в свободное плавание! - -Из функций пока только вывод цитат по страницам, а так же вывод случайных 20 цитат + кнопка для выдачи других 20 случайных. Лично мне гораздо больше нравятся как раз случайные подборки. Их можно обновлять почти бесконечно! - -Да, он пока не умеет принимать новые цитаты (да и кто их будет слать то, лол?), да и нет других функций, типа голосований (классическими \[+\], \[-\], \[:|||:\]). Буду ли я это доделывать и как-то развивать? Не знаю. Возможно, время цитатника безвозвратно ушло. Но может быть и внезапный комбек. Кто знает 🤷‍♂️. В ближайшие дни я допилю и голосвалку и добавление цитат, но вряд ли буду в это инвестировать много времени. Есть ещё и мысль публиковать цитаты через ТГ бота простой пересылкой ему сообщений, а он уже их сам анонимизирует заменяя данные пользователей на обезличенные XXX и YYY и оформляет цитату как надо. Как вам такая идея? - -Вообще, я бы хотел это как-то, наверное, обсудить, относительно того как это развивать и стоит ли? \ No newline at end of file diff --git "a/content/post/2024-10-17-\320\272\320\275\320\270\320\263\320\270-2.md" "b/content/post/2024-10-17-\320\272\320\275\320\270\320\263\320\270-2.md" new file mode 100644 index 0000000..54ac9c0 --- /dev/null +++ "b/content/post/2024-10-17-\320\272\320\275\320\270\320\263\320\270-2.md" @@ -0,0 +1,35 @@ +--- +author: NeonXP +categories: +- Без рубрики +date: "2024-10-17T19:26:00Z" +id: 220 +image: /upload/Rama16wiki.jpg +tags: +- книги +title: Книжные рекомендации №2 +--- + +Продолжу, пожалуй. + +Сегодня хочу порекомендовать всего две книги: + +## Свидание с Рамой + +Артур Кларк, 1973 + +Фантастическая повесть о встрече человечества с необитаемым(?) инопланетным кораблём, который прилетел в нашу солнечную систему. На изображении выше — вид этого корабля изнутри. + +- На сайте lib.ru: [www.lib.ru/KLARK/rama1.txt](http://www.lib.ru/KLARK/rama1.txt) +- В виде аудиокниги: +- Если надо — могу выложить по запросу в формате fb2 + +## Глубина в небе + +Вернор Виндж, 1999 + +Об экспедиции двух разных человеческих колоний к странной звезде, имеющей свойство выключаться на 200 лет. Причиной отправки стали принятые с окрестной планеты радио сигналы, свидетельствующие о наличии разумной жизни на ней. + +Книга является частью цикла, и я прикладываю цикл целиком: + +[Цикл «КенгХо» скачать](https://neonxp.ru/upload/КенгХо.zip) \ No newline at end of file diff --git a/content/post/2024-10-17.md b/content/post/2024-10-17.md deleted file mode 100644 index fe99889..0000000 --- a/content/post/2024-10-17.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -author: NeonXP -categories: -- Без рубрики -date: "2024-10-17T19:26:00Z" -guid: https://neonxp.ru/?p=220 -id: 220 -image: /upload/Rama16wiki.jpg -tags: -- книги -title: Книжные рекомендации №2 ---- - -Продолжу, пожалуй. - -Сегодня хочу порекомендовать всего две книги: - -## Свидание с Рамой - -Артур Кларк, 1973 - -Фантастическая повесть о встрече человечества с необитаемым(?) инопланетным кораблём, который прилетел в нашу солнечную систему. На изображении выше — вид этого корабля изнутри. - -- На сайте lib.ru: [www.lib.ru/KLARK/rama1.txt](http://www.lib.ru/KLARK/rama1.txt) -- В виде аудиокниги: -- Если надо — могу выложить по запросу в формате fb2 - -## Глубина в небе - -Вернор Виндж, 1999 - -Об экспедиции двух разных человеческих колоний к странной звезде, имеющей свойство выключаться на 200 лет. Причиной отправки стали принятые с окрестной планеты радио сигналы, свидетельствующие о наличии разумной жизни на ней. - -Книга является частью цикла, и я прикладываю цикл целиком: - -
[Цикл «КенгХо»](https://neonxp.ru/upload/КенгХо.zip)[Скачать](https://neonxp.ru/upload/КенгХо.zip)
\ No newline at end of file diff --git a/hugo.yaml b/hugo.yaml index 0d36a44..6878cfc 100644 --- a/hugo.yaml +++ b/hugo.yaml @@ -1,8 +1,8 @@ -baseURL: 'https://neonxp.ru/' -languageCode: 'ru-RU' +baseURL: "https://neonxp.ru/" +languageCode: "ru-RU" DefaultContentLanguage: ru -title: '~/neonxp.log' -theme: 'hugo-theme-stack' +title: "~/neonxp.log" +theme: "hugo-theme-stack" enableRobotsTXT: true params: @@ -104,11 +104,21 @@ markup: tabWidth: 4 menus: - main: - - name: Главная - URL: / - - name: Проекты - URL: /pages/projects - - name: Обо мне - URL: /pages/me + main: + - name: Гостевая книга + URL: /pages/guestbook + - name: Проекты + URL: /pages/projects + - name: Обо мне + URL: /pages/me + - name: RSS + URL: https://neonxp.ru/post/index.xml +outputs: + page: + - html + home: + - html + sections: + - html + - rss \ No newline at end of file diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml new file mode 100644 index 0000000..6ce655a --- /dev/null +++ b/layouts/_default/rss.xml @@ -0,0 +1,49 @@ +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} +{{- $pages := slice -}} +{{- if or $.IsHome $.IsSection -}} +{{- $pages = $pctx.RegularPages -}} +{{- else -}} +{{- $pages = $pctx.Pages -}} +{{- end -}} +{{- $pages := where $pages "Params.hidden" "!=" true -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "" | safeHTML }} +{{- printf "" | safeHTML }} + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} + Hugo -- gohugo.io{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Params.Author.email }} + {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Params.Author.email }} + {{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{- with .OutputFormats.Get "RSS" -}} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{- end -}} + {{ range $pages }} + {{- $content := safeHTML (.Summary | html) -}} + {{- if .Site.Params.rssFullContent -}} + {{- $content = safeHTML (.Content | html) -}} + {{- end -}} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Params.Author.email }}{{.}}{{ with $.Site.Params.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + + {{- $image := partial "helper/image" (dict "Context" . "Type" "rss") -}} + {{- if $image.exists -}} + {{ "<" | html }}img src="{{ $image.permalink | absURL }}" alt="Featured image of post {{ .Title }}" {{ "/>" | html}} + {{- end -}}{{ $content }} + + {{ end }} + + diff --git a/resources/_gen/assets/sass/print.scss_1b40c387e9e0dc928366b05b33018dc5.content b/resources/_gen/assets/sass/print.scss_1b40c387e9e0dc928366b05b33018dc5.content deleted file mode 100644 index f488e0e..0000000 --- a/resources/_gen/assets/sass/print.scss_1b40c387e9e0dc928366b05b33018dc5.content +++ /dev/null @@ -1 +0,0 @@ -@media print{.print-none,.pager,.mobile-nav,aside,nav,footer{display:none}}@media print{html{font-size:12pt}html,body,.page{background-color:white;border-color:black;box-shadow:none;color:black}.main{width:100%}:link,:visited{text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}} diff --git a/resources/_gen/assets/sass/print.scss_1b40c387e9e0dc928366b05b33018dc5.json b/resources/_gen/assets/sass/print.scss_1b40c387e9e0dc928366b05b33018dc5.json deleted file mode 100644 index a8da564..0000000 --- a/resources/_gen/assets/sass/print.scss_1b40c387e9e0dc928366b05b33018dc5.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"css/print.31e2819287afc91406f2fd43d21a8ba4a0cdfc272e439c90db0c6e47efc7c346.css","MediaType":"text/css","Data":{"Integrity":"sha256-MeKBkoevyRQG8v1D0hqLpKDN/CcuQ5yQ2wxuR+/Hw0Y="}} \ No newline at end of file diff --git a/resources/_gen/assets/sass/print.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.content b/resources/_gen/assets/sass/print.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.content deleted file mode 100644 index deb4356..0000000 --- a/resources/_gen/assets/sass/print.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.content +++ /dev/null @@ -1,28 +0,0 @@ -@media print { - .print-none, - .pager, - .mobile-nav, - aside, - nav, - footer { - display: none; } } - -@media print { - html { - font-size: 12pt; } - html, - body, - .page { - background-color: white; - border-color: black; - box-shadow: none; - color: black; } - .main { - width: 100%; } - :link, - :visited { - text-decoration: underline; } - abbr[title]::after { - content: " (" attr(title) ")"; } } - -/*# sourceMappingURL=print.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/sass/print.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.json b/resources/_gen/assets/sass/print.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.json deleted file mode 100644 index 820f6c9..0000000 --- a/resources/_gen/assets/sass/print.scss_fac971ac3b65f0ecfa10b7ccf117eb9b.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"css/print.css","MediaType":"text/css","Data":{}} \ No newline at end of file diff --git a/resources/_gen/assets/sass/styles.scss_15d2610c0cb97b9efb592f553b76c9f9.content b/resources/_gen/assets/sass/styles.scss_15d2610c0cb97b9efb592f553b76c9f9.content deleted file mode 100644 index aadc1e6..0000000 --- a/resources/_gen/assets/sass/styles.scss_15d2610c0cb97b9efb592f553b76c9f9.content +++ /dev/null @@ -1 +0,0 @@ -:root{--color-brand: #333;--color-brand-alt: #999;--color-brand-light: #ccc;--color-brand-dark: #666;--color-text: #000;--color-text-bg: #fff;--color-text-meta: #666;--color-link: #333;--color-link-visited: #333;--color-link-hover: #999;--color-link-active: #c00;--color-link-inverted: #fff;--color-link-visited-inverted: #fff;--color-link-hover-inverted: #fff;--color-link-active-inverted: #c00;--color-border: #333;--color-border-light: #ccc;--color-border-dark: #666;--color-autocomplete: #000;--color-autocomplete-bg: #fff;--color-autocomplete-select: #fff;--color-autocomplete-select-bg: #0072b9;--color-body-bg: #fff;--color-header-bg: #fff;--color-footer-bg: #fff;--color-backdrop: #eee;--color-mobile-menu: #333;--color-mobile-menu-cover: rgba(0,0,0,0.2);--color-button: #333;--color-button-hover: #999;--color-button-text: #fff;--color-button-text-hover: #fff;--color-button-disabled: #999;--color-mark-highlight: #c00;--color-mark-bg: #fd0;--color-menu-active: #000;--color-preview-bg: #fffadb;--color-row-header: rgba(0,0,0,0);--color-row-odd: #f7f7f7;--color-row-even: rgba(0,0,0,0);--color-status: #43a808;--color-status-bg: #f4feee;--color-warning: #000;--color-warning-bg: #fffce6;--color-warning-border: #fd0;--color-error: #c00;--color-error-bg: #fff0f0;--color-watermark: #eee;--color-headings: #333;--color-code: #333;--color-highlight: #999;--fs-xxxxl: 3rem;--fs-xxxl: 2.5rem;--fs-xxl: 2rem;--fs-xl: 1.5rem;--fs-l: 1.25rem;--fs-m: 1rem;--fs-s: .889rem;--fs-xs: .778rem;--fw-headings: 700;--fw-bolder: 900;--fw-bold: 700;--fw-medium: 500;--fw-normal: 400;--fw-light: 300;--fw-lighter: 200;--ff-body: ui-serif,Charter,Bitstream Charter,Sitka Text,Cambria,serif;--ff-headings: ui-sans-serif,system-ui,sans-serif;--ff-alt: system-ui,sans-serif;--ff-monospace: ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace;--radius-xl: 1rem;--radius-l: .75rem;--radius-m: .5rem;--radius-s: .3rem;--radius-xs: .125rem;--breakout: calc(5px + 1.5625vw);--gutters-reverse: calc(0px - (5px + 1.5625vw));--gutters: calc(5px + 1.5625vw);--heading-line-height: 1.3;--indent-amount: 2rem;--max-content-width: 1111px;--max-line-width: 70ch;--max-page-width: 1111px}html{-webkit-text-size-adjust:none;text-size-adjust:none;min-height:100%;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*::before,*::after{box-sizing:inherit}body{margin:0;padding:0}img,svg,picture,audio,video,canvas,iframe,embed,object{display:block}img,svg,video{max-width:100%;height:auto}figure{margin-inline:0}input,button,textarea,select{font:inherit;letter-spacing:inherit;word-spacing:inherit}@media (min-width: 666px){[type='search']{-webkit-appearance:textfield}}code,kbd,samp{font-family:var(--ff-monospace)}html{font-family:var(--ff-body);font-size:calc(18 / 16 * 100%);line-height:1.5;color:var(--color-text)}form{margin-block:0 1.5rem}input,textarea,select{margin-block:0 1.5rem}label{display:block;font-weight:var(--fw-bold)}label:has(+:required)::after{content:'*';color:var(--color-mark-highlight)}input,label,textarea,select{max-width:var(--max-line-width)}fieldset{border:1px solid var(--color-border)}input{width:Min(20em, 100%)}[type='text'],textarea{width:Min(30em, 100%)}input:not(:only-of-type)+[type='submit'],textarea+[type='submit']{display:block}@media (min-width: 666px){input:only-of-type:has(+[type='submit']){margin-right:.5rem}}blockquote{margin-block:0 1.5rem;margin-inline:var(--indent-amount)}dl,ol,ul,menu{margin-block:0 1.5rem}dd{margin:0;margin-inline-start:var(--indent-amount)}ol,ul,menu{padding:0;padding-inline-start:var(--indent-amount)}ol ol,ol ul,ol menu,ul ol,ul ul,ul menu,menu ol,menu ul,menu menu{margin:0}.main li{max-width:var(--max-line-width)}header{margin-block:0 .495rem}hr{height:0}p{margin-block:0 1.5rem;text-wrap:pretty}.main p{max-width:var(--max-line-width)}pre{margin-block:0 1.5rem;font-family:var(--ff-monospace)}code:not([data-lang]),kbd,samp{color:var(--color-code)}h1,h2,h3,h4,h5,h6{margin-block:1.5em .495em;color:var(--color-headings);font-family:var(--ff-headings);font-weight:var(--fw-headings);line-height:var(--heading-line-height);text-wrap:balance}h1+h1,h1+h2,h1+h3,h1+h4,h1+h5,h1+h6,h2+h1,h2+h2,h2+h3,h2+h4,h2+h5,h2+h6,h3+h1,h3+h2,h3+h3,h3+h4,h3+h5,h3+h6,h4+h1,h4+h2,h4+h3,h4+h4,h4+h5,h4+h6,h5+h1,h5+h2,h5+h3,h5+h4,h5+h5,h5+h6,h6+h1,h6+h2,h6+h3,h6+h4,h6+h5,h6+h6{margin-block-start:.75em}.main h1,.main h2,.main h3,.main h4,.main h5,.main h6{max-width:var(--max-line-width)}h1{margin-block:1.5rem .75rem;font-size:var(--fs-xxl);letter-spacing:-.01em}h2{font-size:var(--fs-xl);letter-spacing:-.01em}h3{font-size:var(--fs-l);letter-spacing:-.01em}h4{font-size:var(--fs-m)}h5{font-size:var(--fs-s)}h6{font-size:var(--fs-xs)}figure.image,img.image{--image-padding: .75rem}@media (min-width: 666px){figure.image.center,img.image.center{margin-inline:auto}figure.image.left,img.image.left{padding-inline-end:var(--image-padding);padding-block-end:var(--image-padding);margin:0;float:left;clear:both}figure.image.right,img.image.right{padding-inline-start:var(--image-padding);padding-block-end:var(--image-padding);margin:0;float:right;clear:both}}figure{margin-block:0 1.5rem}figure.image figcaption{padding-block-start:var(--image-padding)}@media (min-width: 666px){figure.image figcaption{display:table-caption;caption-side:bottom;padding-block-start:0}}figure.image figcaption p{margin:0}@media (min-width: 666px){figure.image{display:table}figure.image.left figcaption{padding-inline-end:var(--image-padding);padding-block-end:var(--image-padding)}figure.image.right figcaption{padding-inline-start:var(--image-padding);padding-block-end:var(--image-padding)}}figure.podcast audio{width:95%}img.image{margin-block:0 1.5rem}a{color:var(--color-link)}:visited{color:var(--color-link-visited)}a:hover,a:focus{color:var(--color-link-hover)}a:active{color:var(--color-link-active)}[aria-current]{text-decoration:none}@media (prefers-reduced-motion: no-preference){:has(:target){scroll-behavior:smooth;scroll-padding-block-start:var(--gutters)}}.link-nav a,.pagination a,.pager a{text-decoration:none}.link-nav a:hover,.link-nav a:focus,.pagination a:hover,.pager a:hover,.pagination a:focus,.pager a:focus{text-decoration:underline}.link-inverted a,.card--inverted a,.box--inverted a{color:var(--color-link-inverted)}.link-inverted a:visited,.card--inverted a:visited,.box--inverted a:visited{color:var(--color-link-visited-inverted)}.link-inverted a:hover,.link-inverted a:focus,.card--inverted a:hover,.box--inverted a:hover,.card--inverted a:focus,.box--inverted a:focus{color:var(--color-link-hover-inverted)}.link-inverted a:active,.card--inverted a:active,.box--inverted a:active{color:var(--color-link-active-inverted)}table{margin-block:0 1.5rem;border-collapse:collapse;width:100%}td,th{padding:0;vertical-align:text-top}th{vertical-align:bottom}caption,th{text-align:start}.layout__page{max-width:var(--max-page-width)}@media (min-width: 666px){.layout__page{margin-inline:auto;min-height:100vh;min-height:100svh}}.layout__header,.layout__footer,.layout__main,.layout__navigation,.layout__first-sidebar,.layout__second-sidebar,.layout__page-top,.layout__page-bottom,.layout__cookieconsent{padding-inline:var(--gutters);min-width:0}.layout__page{display:grid;grid-template-areas:'head' 'nav' 'top' 'main' 'side1' 'side2' 'bottom' 'foot' 'notice';grid-template-rows:auto auto auto 1fr auto auto auto auto auto;grid-template-columns:1fr}@media (min-width: 999px){.layout__page{grid-template-rows:auto auto auto 1fr auto auto auto}.layout__sidebar-first{grid-template-areas:'head head' 'nav nav' 'side1 top' 'side1 main' 'side1 bottom' 'foot foot' 'notice notice';grid-template-columns:1fr 2fr}.layout__sidebar-second{grid-template-areas:'head head' 'nav nav' 'top side2' 'main side2' 'bottom side2' 'foot foot' 'notice notice';grid-template-columns:2fr 1fr}.layout__sidebar-two{grid-template-areas:'head head head' 'nav nav nav' 'side1 top side2' 'side1 main side2' 'side1 bottom side2' 'foot foot foot' 'notice notice notice';grid-template-columns:1fr 2fr 1fr}}.layout__header{grid-area:head}.layout__navigation{grid-area:nav}.layout__page-top{grid-area:top}.layout__main{grid-area:main}.layout__first-sidebar{grid-area:side1}.layout__second-sidebar{grid-area:side2}.layout__page-bottom{grid-area:bottom}.layout__footer{grid-area:foot}.layout__cookieconsent{grid-area:notice}.box{margin-block:1.5rem;padding:.75rem;border:5px solid var(--color-border)}.box__title,.box .title{margin-top:0}.box--highlight{border-color:var(--color-highlight)}.box--fit{width:fit-content}.box--gutter{padding-inline:var(--gutters)}.box--inverted{background:var(--color-border);color:var(--color-text-bg)}.box--inverted *{color:var(--color-text-bg)}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.button,button,[type='button'],[type='reset'],[type='submit']{display:inline-block;font-family:var(--ff-headings);text-decoration:none;text-align:center;width:fit-content;margin-right:1rem;margin-bottom:1rem;padding:.2rem 1rem;cursor:pointer;color:var(--color-button-text);background-color:var(--color-button);border:1px solid var(--color-button);border-radius:var(--radius-s)}.button:hover,.button:focus-visible,.button:active,button:hover,button:focus-visible,button:active,[type='button']:hover,[type='button']:focus-visible,[type='button']:active,[type='reset']:hover,[type='reset']:focus-visible,[type='reset']:active,[type='submit']:hover,[type='submit']:focus-visible,[type='submit']:active{text-decoration:none;color:var(--color-button-text-hover);background-color:var(--color-button-hover)}.button--small{font-size:var(--fs-xs);margin-right:.5rem;margin-bottom:.5rem;padding:.2rem .75rem}.button--alt{color:var(--color-button-text-hover);background-color:var(--color-button-hover)}.button--alt:hover,.button--alt:focus-visible,.button--alt:active{color:var(--color-button-text);background-color:var(--color-button)}.button--outline{color:var(--color-button);background-color:var(--color-button-text);border-color:var(--color-button)}.button--outline:hover,.button--outline:focus-visible,.button--outline:active{color:var(--color-button-text);background-color:var(--color-button)}.button--shadow:hover,main button:hover{box-shadow:2px 2px 5px 1px var(--color-button-hover)}.button--shadow:active,main button:active{box-shadow:inset 2px 2px 5px 1px var(--color-button)}[disabled].button,button[disabled],[disabled][type='button'],[disabled][type='reset'],[disabled][type='submit']{background-color:var(--color-grey-extra-light);border:1px solid var(--color-button-disabled);background-image:none;text-shadow:none}.cards{margin-block:1.5rem}.card{padding:.75rem;border:1px solid var(--color-border)}.card--highlight{border-color:var(--color-highlight)}.card--featured{grid-row:span 2;grid-column:span 2}.card--gutter{padding-inline:var(--gutters)}.card--inverted{background:var(--color-border);color:var(--color-text-bg)}.card>*:first-child{margin-top:0}.card>*:last-child{margin-bottom:0}.grid-center{display:grid;place-items:center}.text-center{text-align:center}.margin-center{margin-inline:auto}.clearfix::before{content:'';display:table}.clearfix::after{content:'';display:table;clear:both}.cookieconsent{display:flex;flex-flow:wrap;justify-content:center;gap:.5rem;position:sticky;bottom:0;width:100%;padding-block-start:.5rem;color:var(--color-warning);background-color:var(--color-warning-bg);border-top:4px solid var(--color-warning-border);font-size:var(--fs-s);transform:translateY(100vh);transition:all 130ms ease-out;z-index:99}.button--accept{border-color:var(--color-status)}.button--decline{border-color:var(--color-warning-border)}.js-cookieconsent-open{transform:translateY(0)}.divider,hr{margin-block:1.5rem;border:0;border-top:1px solid var(--color-border)}.divider>:first-child,hr>:first-child{margin-top:1.5rem}.disabled,.pagination .disabled .page-link,.pager .disabled .page-link,[disabled].button,button[disabled],[disabled][type='button'],[disabled][type='reset'],[disabled][type='submit']{cursor:default;color:var(--color-button-disabled)}.disabled:hover,.disabled:focus,.disabled:active,.pagination .disabled .page-link:hover,.pager .disabled .page-link:hover,[disabled].button:hover,button[disabled]:hover,[disabled][type='button']:hover,[disabled][type='reset']:hover,[disabled][type='submit']:hover,.pagination .disabled .page-link:focus,.pager .disabled .page-link:focus,[disabled].button:focus,button[disabled]:focus,[disabled][type='button']:focus,[disabled][type='reset']:focus,[disabled][type='submit']:focus,.pagination .disabled .page-link:active,.pager .disabled .page-link:active,[disabled].button:active,button[disabled]:active,[disabled][type='button']:active,[disabled][type='reset']:active,[disabled][type='submit']:active{color:var(--color-button-disabled);text-decoration:none}.flex-group{gap:1.5rem;display:flex;flex-wrap:wrap}.flex-group>*{flex:1;flex-basis:100%;flex-grow:0}.flex-group--grow{flex-grow:1}@media (min-width: 666px){.flex-group--2>*{flex-basis:calc(100% / 2 - 1.5rem)}.flex-group--3>*{flex-basis:calc(100% / 3 - 1.5rem)}.flex-group--4>*{flex-basis:calc(100% / 4 - 1.5rem)}.flex-group--5>*{flex-basis:calc(100% / 5 - 1.5rem)}.flex-group--6>*{flex-basis:calc(100% / 6 - 1.5rem)}}.flex-inline,.pagination,.pager,.navbar,.tags ul{--gap: .5rem;display:flex;flex-wrap:wrap;gap:var(--gap);padding:0;text-align:start}.flex-inline__item,.flex-inline li,.pagination li,.pager li,.navbar li,.tags ul li{list-style:none}.flex-inline--inline,.tags ul{display:inline-flex}.footer{padding-block:var(--gutters);background-color:var(--color-footer-bg);text-align:center}.footer p{margin:0}.grid-group,.cards{--column-min: 200px;--gap: 1.5rem;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit, minmax(Min(var(--column-min), 100%), 1fr))}.grid-group--fill{grid-template-columns:repeat(auto-fill, minmax(Min(var(--column-min), 100%), 1fr))}.grid-group--100{--column-min: 100px}.grid-group--150{--column-min: 150px}.grid-group--200{--column-min: 200px}.grid-group--250{--column-min: 250px}.grid-group--300{--column-min: 300px}.grid-group--350{--column-min: 350px}.grid-group--400{--column-min: 400px}.grid-group--500{--column-min: 500px}.grid-group--600{--column-min: 600px}.grid-stack{display:grid}.grid-stack>*{grid-column:1 / 2;grid-row:1 / 2}.header{padding-block:var(--gutters);display:flex;flex-direction:column;gap:var(--gutters);background-color:var(--color-header-bg)}@media (min-width: 666px){.header{flex-direction:row}}.header__logo{width:fit-content}.header__logo-image{vertical-align:bottom}.header__site-name{margin:0;line-height:1}.header__site-link:link,.header__site-link:visited{color:var(--color-text);text-decoration:none}.header__site-link:hover,.header__site-link:focus{text-decoration:underline}@media (min-width: 666px){.header__region{margin-inline-start:auto}}.hidden,html.nojs .nojs-hidden,html.js .js-hidden{display:none}.icon-inline .icon-link{opacity:0;transition:all 130ms ease-in;text-decoration:none}.icon-inline:focus-visible .icon-link,.icon-inline:hover .icon-link{opacity:.3}.icon-inline:focus-visible .icon-link:focus-visible,.icon-inline:focus-visible .icon-link:hover,.icon-inline:hover .icon-link:focus-visible,.icon-inline:hover .icon-link:hover{opacity:1}.icon-inline svg{display:inline;vertical-align:middle}.language-selector{display:flex}.language-icon{margin-inline-end:.75rem;fill:var(--color-text)}.ul-straight-left,article>ul,aside>ul{display:table;list-style:none;padding:0}.ul-straight-left>li,article>ul>li,aside>ul>li{display:table-row}.ul-straight-left>li::before,article>ul>li::before,aside>ul>li::before{padding-inline-end:.75rem;display:table-cell;content:'\2981';font-size:var(--fs-s)}.ol-straight-left,article>ol,aside>ol{display:table;list-style:none;padding:0}.ol-straight-left>li,article>ol>li,aside>ol>li{display:table-row;counter-increment:table-ol}.ol-straight-left>li::before,article>ol>li::before,aside>ol>li::before{padding-inline-end:.75rem;display:table-cell;content:counter(table-ol) ".";font-size:var(--fs-s);text-align:end}.ul-straight-left--off{display:block;list-style:inherit}.ul-straight-left--off>li{display:list-item}.ul-straight-left--off>li::before{content:'';display:inline;padding:inherit}.message{padding:.5rem;outline-width:2px;outline-style:solid;width:95%}.message.status{background-color:var(--color-status-bg);color:var(--color-status);outline-color:var(--color-status)}.message.warning{background-color:var(--color-warning-bg);color:var(--color-warning);outline-color:var(--color-warning-border)}.message.error{background-color:var(--color-error-bg);color:var(--color-error);outline-color:var(--color-error)}.message--highlight{animation:2s linear infinite outline-highlight}@keyframes outline-highlight{50%{outline-width:.3rem}}.meta{font-family:var(--ff-headings);font-size:var(--fs-xs);color:var(--color-text-meta)}.responsive-video{--aspect-ratio: 9 / 16;position:relative;padding-bottom:calc(var(--aspect-ratio) * 100%);padding-top:25px;height:0}.responsive-video__embed,.responsive-video iframe{position:absolute;top:0;left:0;width:100%;height:100%}.responsive-video--4-3{--aspect-ratio: 3 / 4}.mt--xxl{margin-block-start:4.5rem}.mb--xxl{margin-block-end:4.5rem}.mtb--xxl{margin-block:4.5rem}.mt--xl{margin-block-start:3rem}.mb--xl{margin-block-end:3rem}.mtb--xl{margin-block:3rem}.mt--l{margin-block-start:2.25rem}.mb--l{margin-block-end:2.25rem}.mtb--l{margin-block:2.25rem}.mt--m{margin-block-start:1.5rem}.mb--m{margin-block-end:1.5rem}.mtb--m{margin-block:1.5rem}.mt--s{margin-block-start:1.125rem}.mb--s{margin-block-end:1.125rem}.mtb--s{margin-block:1.125rem}.mt--xs{margin-block-start:.75rem}.mb--xs{margin-block-end:.75rem}.mtb--xs{margin-block:.75rem}.mt--xxs{margin-block-start:.45rem}.mb--xxs{margin-block-end:.45rem}.mtb--xxs{margin-block:.45rem}.mt--0{margin-block-start:0}.mb--0{margin-block-end:0}.mtb--0{margin-block:0}.zebra-table{--cell-padding: .5rem}@media (max-width: 666px){.zebra-table{--cell-padding: .3rem}}.zebra-table th,.zebra-table td{padding:var(--cell-padding)}.zebra-table thead tr{background-color:var(--color-row-header)}.zebra-table tbody tr:nth-child(odd){background-color:var(--color-row-odd)}.zebra-table tbody tr:nth-child(even){background-color:var(--color-row-even)}.responsive-table{--gap: .5rem}@media (max-width: 666px){.responsive-table th{display:none}.responsive-table td{display:grid;gap:var(--gap);grid-template-columns:12ch auto}.responsive-table td::before{content:attr(aria-label) ":";font-weight:var(--fw-bold)}.responsive-table td:first-of-type{padding-block-start:var(--gap)}.responsive-table td:last-of-type{padding-block-end:var(--gap)}}.tags ul{margin-block:0}.visually-hidden:not(:focus,:active){position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}.navbar{margin-block:0}.pagination,.pager{margin-block:1.5rem;justify-content:center}.pagination__item,.pagination .page-link,.pager__item,.pager .page-link{padding-inline:2px}.pagination .active,.pager .active{font-weight:var(--fw-bold)}body{background-color:var(--color-backdrop)}.page{background-color:var(--color-body-bg)}.footer{border-top:2px solid var(--color-border)}th,label,legend,figcaption{font-size:var(--fs-s)}.language-selector,.footer{font-size:var(--fs-xs)}th,label,legend,.main-menu,.header,.footer{color:var(--color-headings);font-family:var(--ff-headings)}th,label{font-weight:var(--fw-headings)}@media (min-width: 666px){article .submitted,article .tags{display:inline-block;padding-inline-end:1rem}}article code{font-size:var(--fs-xs);overflow-wrap:break-word}article pre{border-radius:var(--radius-xs);padding:5px;border:1px solid var(--color-border-light);background-color:var(--color-text-bg);overflow:auto;max-height:300px;max-width:90vw}article pre.chroma{max-height:initial;overflow-x:scroll}article pre>code{display:inline-block;white-space:pre}.content-dates{text-align:end}.main-menu{margin-top:.75rem;outline:0}.main-menu li{margin-bottom:.75rem;padding:0}.main-menu a{display:block;background-color:var(--color-button);color:var(--color-text-bg);padding:2px 8px;text-decoration:none}.main-menu a:hover,.main-menu a:focus{background-color:var(--color-button-hover)}.main-menu a:active,.main-menu a[aria-current]{background-color:var(--color-button);text-decoration:underline}.search-text{font-size:var(--fs-l)}main input:not(:placeholder-shown):valid,main textarea:not(:placeholder-shown):valid{background-color:var(--color-status-bg)}main input:not(:placeholder-shown):invalid,main textarea:not(:placeholder-shown):invalid{background-color:var(--color-error-bg)}main input:focus:invalid,main textarea:focus:invalid{background-color:var(--color-warning-bg)}.js-submitted input:valid,.js-submitted textarea:valid{background-color:var(--color-status-bg)}.js-submitted input:invalid,.js-submitted textarea:invalid{background-color:var(--color-error-bg)} diff --git a/resources/_gen/assets/sass/styles.scss_15d2610c0cb97b9efb592f553b76c9f9.json b/resources/_gen/assets/sass/styles.scss_15d2610c0cb97b9efb592f553b76c9f9.json deleted file mode 100644 index 1e4fe40..0000000 --- a/resources/_gen/assets/sass/styles.scss_15d2610c0cb97b9efb592f553b76c9f9.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"css/styles.4fe048222d6e6e524b6510636b00f2cd8ddbe2df0106a15f42ab37b811bbf157.css","MediaType":"text/css","Data":{"Integrity":"sha256-T+BIIi1ublJLZRBjawDyzY3b4t8BBqFfQqs3uBG78Vc="}} \ No newline at end of file diff --git a/resources/_gen/assets/sass/styles.scss_f3a5364e991a57c56f5dcd8d7251924a.content b/resources/_gen/assets/sass/styles.scss_f3a5364e991a57c56f5dcd8d7251924a.content deleted file mode 100644 index 8ba08c3..0000000 --- a/resources/_gen/assets/sass/styles.scss_f3a5364e991a57c56f5dcd8d7251924a.content +++ /dev/null @@ -1,1146 +0,0 @@ -:root { - --color-brand: #333333; - --color-brand-alt: #999999; - --color-brand-light: #cccccc; - --color-brand-dark: #666666; - --color-text: #000; - --color-text-bg: #fff; - --color-text-meta: #666666; - --color-link: #333333; - --color-link-visited: #333333; - --color-link-hover: #999999; - --color-link-active: #c00; - --color-link-inverted: #fff; - --color-link-visited-inverted: #fff; - --color-link-hover-inverted: #fff; - --color-link-active-inverted: #c00; - --color-border: #333333; - --color-border-light: #cccccc; - --color-border-dark: #666666; - --color-autocomplete: #000; - --color-autocomplete-bg: #fff; - --color-autocomplete-select: #fff; - --color-autocomplete-select-bg: #0072b9; - --color-body-bg: #fff; - --color-header-bg: #fff; - --color-footer-bg: #fff; - --color-backdrop: #eeeeee; - --color-mobile-menu: #333333; - --color-mobile-menu-cover: rgba(0, 0, 0, 0.2); - --color-button: #333333; - --color-button-hover: #999999; - --color-button-text: #fff; - --color-button-text-hover: #fff; - --color-button-disabled: #999999; - --color-mark-highlight: #c00; - --color-mark-bg: #fd0; - --color-menu-active: #000; - --color-preview-bg: #fffadb; - --color-row-header: transparent; - --color-row-odd: #f7f7f7; - --color-row-even: transparent; - --color-status: #43a808; - --color-status-bg: #f4feee; - --color-warning: #000; - --color-warning-bg: #fffce6; - --color-warning-border: #fd0; - --color-error: #c00; - --color-error-bg: #fff0f0; - --color-watermark: #eeeeee; - --color-headings: #333333; - --color-code: #333333; - --color-highlight: #999999; - --fs-xxxxl: 3rem; - --fs-xxxl: 2.5rem; - --fs-xxl: 2rem; - --fs-xl: 1.5rem; - --fs-l: 1.25rem; - --fs-m: 1rem; - --fs-s: 0.889rem; - --fs-xs: 0.778rem; - --fw-headings: 700; - --fw-bolder: 900; - --fw-bold: 700; - --fw-medium: 500; - --fw-normal: 400; - --fw-light: 300; - --fw-lighter: 200; - --ff-body: ui-serif, Charter, Bitstream Charter, Sitka Text, Cambria, serif; - --ff-headings: ui-sans-serif, system-ui, sans-serif; - --ff-alt: system-ui, sans-serif; - --ff-monospace: ui-monospace, Cascadia Code, Source Code Pro, Menlo, Consolas, DejaVu Sans Mono, monospace; - --radius-xl: 1rem; - --radius-l: 0.75rem; - --radius-m: 0.5rem; - --radius-s: 0.3rem; - --radius-xs: 0.125rem; - --breakout: calc(5px + 1.5625vw); - --gutters-reverse: calc(0px - (5px + 1.5625vw)); - --gutters: calc(5px + 1.5625vw); - --heading-line-height: 1.3; - --indent-amount: 2rem; - --max-content-width: 1111px; - --max-line-width: 70ch; - --max-page-width: 1111px; } - -html { - -webkit-text-size-adjust: none; - text-size-adjust: none; - min-height: 100%; - box-sizing: border-box; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; } - -*, -*::before, -*::after { - box-sizing: inherit; } - -body { - margin: 0; - padding: 0; } - -img, -svg, -picture, -audio, -video, -canvas, -iframe, -embed, -object { - display: block; } - -img, -svg, -video { - max-width: 100%; - height: auto; } - -figure { - margin-inline: 0; } - -input, -button, -textarea, -select { - font: inherit; - letter-spacing: inherit; - word-spacing: inherit; } - -@media (min-width: 666px) { - [type='search'] { - -webkit-appearance: textfield; } } - -code, -kbd, -samp { - font-family: var(--ff-monospace); } - -html { - font-family: var(--ff-body); - font-size: calc(18 / 16 * 100%); - line-height: 1.5; - color: var(--color-text); } - -form { - margin-block: 0 1.5rem; } - -input, -textarea, -select { - margin-block: 0 1.5rem; } - -label { - display: block; - font-weight: var(--fw-bold); } - label:has(+ :required)::after { - content: '*'; - color: var(--color-mark-highlight); } - -input, -label, -textarea, -select { - max-width: var(--max-line-width); } - -fieldset { - border: 1px solid var(--color-border); } - -input { - width: Min(20em, 100%); } - -[type='text'], -textarea { - width: Min(30em, 100%); } - -input:not(:only-of-type) + [type='submit'], -textarea + [type='submit'] { - display: block; } - -@media (min-width: 666px) { - input:only-of-type:has(+ [type='submit']) { - margin-right: .5rem; } } - -blockquote { - margin-block: 0 1.5rem; - margin-inline: var(--indent-amount); } - -dl, -ol, -ul, -menu { - margin-block: 0 1.5rem; } - -dd { - margin: 0; - margin-inline-start: var(--indent-amount); } - -ol, -ul, -menu { - padding: 0; - padding-inline-start: var(--indent-amount); } - ol ol, - ol ul, - ol menu, - ul ol, - ul ul, - ul menu, - menu ol, - menu ul, - menu menu { - margin: 0; } - -.main li { - max-width: var(--max-line-width); } - -header { - margin-block: 0 0.495rem; } - -hr { - height: 0; } - -p { - margin-block: 0 1.5rem; - text-wrap: pretty; } - .main p { - max-width: var(--max-line-width); } - -pre { - margin-block: 0 1.5rem; - font-family: var(--ff-monospace); } - -code:not([data-lang]), -kbd, -samp { - color: var(--color-code); } - -h1, -h2, -h3, -h4, -h5, -h6 { - margin-block: 1.5em 0.495em; - color: var(--color-headings); - font-family: var(--ff-headings); - font-weight: var(--fw-headings); - line-height: var(--heading-line-height); - text-wrap: balance; } - h1 + h1, h1 + h2, h1 + h3, h1 + h4, h1 + h5, h1 + h6, - h2 + h1, - h2 + h2, - h2 + h3, - h2 + h4, - h2 + h5, - h2 + h6, - h3 + h1, - h3 + h2, - h3 + h3, - h3 + h4, - h3 + h5, - h3 + h6, - h4 + h1, - h4 + h2, - h4 + h3, - h4 + h4, - h4 + h5, - h4 + h6, - h5 + h1, - h5 + h2, - h5 + h3, - h5 + h4, - h5 + h5, - h5 + h6, - h6 + h1, - h6 + h2, - h6 + h3, - h6 + h4, - h6 + h5, - h6 + h6 { - margin-block-start: 0.75em; } - .main h1, .main h2, .main h3, .main h4, .main h5, .main h6 { - max-width: var(--max-line-width); } - -h1 { - margin-block: 1.5rem 0.75rem; - font-size: var(--fs-xxl); - letter-spacing: -.01em; } - -h2 { - font-size: var(--fs-xl); - letter-spacing: -.01em; } - -h3 { - font-size: var(--fs-l); - letter-spacing: -.01em; } - -h4 { - font-size: var(--fs-m); } - -h5 { - font-size: var(--fs-s); } - -h6 { - font-size: var(--fs-xs); } - -figure.image, -img.image { - --image-padding: .75rem; } - @media (min-width: 666px) { - figure.image.center, - img.image.center { - margin-inline: auto; } - figure.image.left, - img.image.left { - padding-inline-end: var(--image-padding); - padding-block-end: var(--image-padding); - margin: 0; - float: left; - clear: both; } - figure.image.right, - img.image.right { - padding-inline-start: var(--image-padding); - padding-block-end: var(--image-padding); - margin: 0; - float: right; - clear: both; } } -figure { - margin-block: 0 1.5rem; } - figure.image figcaption { - padding-block-start: var(--image-padding); } - @media (min-width: 666px) { - figure.image figcaption { - display: table-caption; - caption-side: bottom; - padding-block-start: 0; } } - figure.image figcaption p { - margin: 0; } - @media (min-width: 666px) { - figure.image { - display: table; } - figure.image.left figcaption { - padding-inline-end: var(--image-padding); - padding-block-end: var(--image-padding); } - figure.image.right figcaption { - padding-inline-start: var(--image-padding); - padding-block-end: var(--image-padding); } } - figure.podcast audio { - width: 95%; } - -img.image { - margin-block: 0 1.5rem; } - -a { - color: var(--color-link); } - -:visited { - color: var(--color-link-visited); } - -a:hover, -a:focus { - color: var(--color-link-hover); } - -a:active { - color: var(--color-link-active); } - -[aria-current] { - text-decoration: none; } - -@media (prefers-reduced-motion: no-preference) { - :has(:target) { - scroll-behavior: smooth; - scroll-padding-block-start: var(--gutters); } } - -.link-nav a, -.pagination a, -.pager a { - text-decoration: none; } - .link-nav a:hover, .link-nav a:focus, - .pagination a:hover, - .pager a:hover, - .pagination a:focus, - .pager a:focus { - text-decoration: underline; } - -.link-inverted a, -.card--inverted a, -.box--inverted a { - color: var(--color-link-inverted); } - .link-inverted a:visited, - .card--inverted a:visited, - .box--inverted a:visited { - color: var(--color-link-visited-inverted); } - .link-inverted a:hover, .link-inverted a:focus, - .card--inverted a:hover, - .box--inverted a:hover, - .card--inverted a:focus, - .box--inverted a:focus { - color: var(--color-link-hover-inverted); } - .link-inverted a:active, - .card--inverted a:active, - .box--inverted a:active { - color: var(--color-link-active-inverted); } - -table { - margin-block: 0 1.5rem; - border-collapse: collapse; - width: 100%; } - -td, -th { - padding: 0; - vertical-align: text-top; } - -th { - vertical-align: bottom; } - -caption, -th { - text-align: start; } - -.layout__page { - max-width: var(--max-page-width); } - @media (min-width: 666px) { - .layout__page { - margin-inline: auto; - min-height: 100vh; - min-height: 100svh; } } -.layout__header, .layout__footer, .layout__main, .layout__navigation, .layout__first-sidebar, .layout__second-sidebar, .layout__page-top, .layout__page-bottom, .layout__cookieconsent { - padding-inline: var(--gutters); - min-width: 0; } - -.layout__page { - display: grid; - grid-template-areas: 'head' 'nav' 'top' 'main' 'side1' 'side2' 'bottom' 'foot' 'notice'; - grid-template-rows: auto auto auto 1fr auto auto auto auto auto; - grid-template-columns: 1fr; } - -@media (min-width: 999px) { - .layout__page { - grid-template-rows: auto auto auto 1fr auto auto auto; } - .layout__sidebar-first { - grid-template-areas: 'head head' 'nav nav' 'side1 top' 'side1 main' 'side1 bottom' 'foot foot' 'notice notice'; - grid-template-columns: 1fr 2fr; } - .layout__sidebar-second { - grid-template-areas: 'head head' 'nav nav' 'top side2' 'main side2' 'bottom side2' 'foot foot' 'notice notice'; - grid-template-columns: 2fr 1fr; } - .layout__sidebar-two { - grid-template-areas: 'head head head' 'nav nav nav' 'side1 top side2' 'side1 main side2' 'side1 bottom side2' 'foot foot foot' 'notice notice notice'; - grid-template-columns: 1fr 2fr 1fr; } } - -.layout__header { - grid-area: head; } - -.layout__navigation { - grid-area: nav; } - -.layout__page-top { - grid-area: top; } - -.layout__main { - grid-area: main; } - -.layout__first-sidebar { - grid-area: side1; } - -.layout__second-sidebar { - grid-area: side2; } - -.layout__page-bottom { - grid-area: bottom; } - -.layout__footer { - grid-area: foot; } - -.layout__cookieconsent { - grid-area: notice; } - -.box { - margin-block: 1.5rem; - padding: 0.75rem; - border: 5px solid var(--color-border); } - .box__title, - .box .title { - margin-top: 0; } - .box--highlight { - border-color: var(--color-highlight); } - .box--fit { - width: fit-content; } - .box--gutter { - padding-inline: var(--gutters); } - .box--inverted { - background: var(--color-border); - color: var(--color-text-bg); } - .box--inverted * { - color: var(--color-text-bg); } - .box > *:first-child { - margin-top: 0; } - .box > *:last-child { - margin-bottom: 0; } - -.button, -button, -[type='button'], -[type='reset'], -[type='submit'] { - display: inline-block; - font-family: var(--ff-headings); - text-decoration: none; - text-align: center; - width: fit-content; - margin-right: 1rem; - margin-bottom: 1rem; - padding: .2rem 1rem; - cursor: pointer; - color: var(--color-button-text); - background-color: var(--color-button); - border: 1px solid var(--color-button); - border-radius: var(--radius-s); } - .button:hover, .button:focus-visible, .button:active, - button:hover, - button:focus-visible, - button:active, - [type='button']:hover, - [type='button']:focus-visible, - [type='button']:active, - [type='reset']:hover, - [type='reset']:focus-visible, - [type='reset']:active, - [type='submit']:hover, - [type='submit']:focus-visible, - [type='submit']:active { - text-decoration: none; - color: var(--color-button-text-hover); - background-color: var(--color-button-hover); } - -.button--small { - font-size: var(--fs-xs); - margin-right: .5rem; - margin-bottom: .5rem; - padding: .2rem .75rem; } - -.button--alt { - color: var(--color-button-text-hover); - background-color: var(--color-button-hover); } - .button--alt:hover, .button--alt:focus-visible, .button--alt:active { - color: var(--color-button-text); - background-color: var(--color-button); } - -.button--outline { - color: var(--color-button); - background-color: var(--color-button-text); - border-color: var(--color-button); } - .button--outline:hover, .button--outline:focus-visible, .button--outline:active { - color: var(--color-button-text); - background-color: var(--color-button); } - -.button--shadow:hover, -main button:hover { - box-shadow: 2px 2px 5px 1px var(--color-button-hover); } - -.button--shadow:active, -main button:active { - box-shadow: inset 2px 2px 5px 1px var(--color-button); } - -[disabled].button, -button[disabled], -[disabled][type='button'], -[disabled][type='reset'], -[disabled][type='submit'] { - background-color: var(--color-grey-extra-light); - border: 1px solid var(--color-button-disabled); - background-image: none; - text-shadow: none; } - -.cards { - margin-block: 1.5rem; } - -.card { - padding: 0.75rem; - border: 1px solid var(--color-border); } - .card--highlight { - border-color: var(--color-highlight); } - .card--featured { - grid-row: span 2; - grid-column: span 2; } - .card--gutter { - padding-inline: var(--gutters); } - .card--inverted { - background: var(--color-border); - color: var(--color-text-bg); } - .card > *:first-child { - margin-top: 0; } - .card > *:last-child { - margin-bottom: 0; } - -.grid-center { - display: grid; - place-items: center; } - -.text-center { - text-align: center; } - -.margin-center { - margin-inline: auto; } - -.clearfix::before { - content: ''; - display: table; } - -.clearfix::after { - content: ''; - display: table; - clear: both; } - -.cookieconsent { - display: flex; - flex-flow: wrap; - justify-content: center; - gap: .5rem; - position: sticky; - bottom: 0; - width: 100%; - padding-block-start: .5rem; - color: var(--color-warning); - background-color: var(--color-warning-bg); - border-top: 4px solid var(--color-warning-border); - font-size: var(--fs-s); - transform: translateY(100vh); - transition: all 130ms ease-out; - z-index: 99; } - -.button--accept { - border-color: var(--color-status); } - -.button--decline { - border-color: var(--color-warning-border); } - -.js-cookieconsent-open { - transform: translateY(0); } - -.divider, -hr { - margin-block: 1.5rem; - border: 0; - border-top: 1px solid var(--color-border); } - .divider > :first-child, - hr > :first-child { - margin-top: 1.5rem; } - -.disabled, -.pagination .disabled .page-link, -.pager .disabled .page-link, -[disabled].button, -button[disabled], -[disabled][type='button'], -[disabled][type='reset'], -[disabled][type='submit'] { - cursor: default; - color: var(--color-button-disabled); } - .disabled:hover, .disabled:focus, .disabled:active, - .pagination .disabled .page-link:hover, - .pager .disabled .page-link:hover, - [disabled].button:hover, - button[disabled]:hover, - [disabled][type='button']:hover, - [disabled][type='reset']:hover, - [disabled][type='submit']:hover, - .pagination .disabled .page-link:focus, - .pager .disabled .page-link:focus, - [disabled].button:focus, - button[disabled]:focus, - [disabled][type='button']:focus, - [disabled][type='reset']:focus, - [disabled][type='submit']:focus, - .pagination .disabled .page-link:active, - .pager .disabled .page-link:active, - [disabled].button:active, - button[disabled]:active, - [disabled][type='button']:active, - [disabled][type='reset']:active, - [disabled][type='submit']:active { - color: var(--color-button-disabled); - text-decoration: none; } - -.flex-group { - gap: 1.5rem; - display: flex; - flex-wrap: wrap; } - .flex-group > * { - flex: 1; - flex-basis: 100%; - flex-grow: 0; } - .flex-group--grow { - flex-grow: 1; } - @media (min-width: 666px) { - .flex-group--2 > * { - flex-basis: calc(100% / 2 - 1.5rem); } - .flex-group--3 > * { - flex-basis: calc(100% / 3 - 1.5rem); } - .flex-group--4 > * { - flex-basis: calc(100% / 4 - 1.5rem); } - .flex-group--5 > * { - flex-basis: calc(100% / 5 - 1.5rem); } - .flex-group--6 > * { - flex-basis: calc(100% / 6 - 1.5rem); } } -.flex-inline, -.pagination, -.pager, -.navbar, -.tags ul { - --gap: .5rem; - display: flex; - flex-wrap: wrap; - gap: var(--gap); - padding: 0; - text-align: start; } - .flex-inline__item, - .flex-inline li, - .pagination li, - .pager li, - .navbar li, - .tags ul li { - list-style: none; } - .flex-inline--inline, - .tags ul { - display: inline-flex; } - -.footer { - padding-block: var(--gutters); - background-color: var(--color-footer-bg); - text-align: center; } - .footer p { - margin: 0; } - -.grid-group, -.cards { - --column-min: 200px; - --gap: 1.5rem; - display: grid; - gap: var(--gap); - grid-template-columns: repeat(auto-fit, minmax(Min(var(--column-min), 100%), 1fr)); } - .grid-group--fill { - grid-template-columns: repeat(auto-fill, minmax(Min(var(--column-min), 100%), 1fr)); } - .grid-group--100 { - --column-min: 100px; } - .grid-group--150 { - --column-min: 150px; } - .grid-group--200 { - --column-min: 200px; } - .grid-group--250 { - --column-min: 250px; } - .grid-group--300 { - --column-min: 300px; } - .grid-group--350 { - --column-min: 350px; } - .grid-group--400 { - --column-min: 400px; } - .grid-group--500 { - --column-min: 500px; } - .grid-group--600 { - --column-min: 600px; } - -.grid-stack { - display: grid; } - .grid-stack > * { - grid-column: 1 / 2; - grid-row: 1 / 2; } - -.header { - padding-block: var(--gutters); - display: flex; - flex-direction: column; - gap: var(--gutters); - background-color: var(--color-header-bg); } - @media (min-width: 666px) { - .header { - flex-direction: row; } } - .header__logo { - width: fit-content; } - .header__logo-image { - vertical-align: bottom; } - .header__site-name { - margin: 0; - line-height: 1; } - .header__site-link:link, .header__site-link:visited { - color: var(--color-text); - text-decoration: none; } - .header__site-link:hover, .header__site-link:focus { - text-decoration: underline; } - @media (min-width: 666px) { - .header__region { - margin-inline-start: auto; } } -.hidden, -html.nojs .nojs-hidden, -html.js .js-hidden { - display: none; } - -.icon-inline .icon-link { - opacity: 0; - transition: all 130ms ease-in; - text-decoration: none; } - -.icon-inline:focus-visible .icon-link, .icon-inline:hover .icon-link { - opacity: .3; } - .icon-inline:focus-visible .icon-link:focus-visible, .icon-inline:focus-visible .icon-link:hover, .icon-inline:hover .icon-link:focus-visible, .icon-inline:hover .icon-link:hover { - opacity: 1; } - -.icon-inline svg { - display: inline; - vertical-align: middle; } - -.language-selector { - display: flex; } - -.language-icon { - margin-inline-end: 0.75rem; - fill: var(--color-text); } - -.ul-straight-left, -article > ul, -aside > ul { - display: table; - list-style: none; - padding: 0; } - .ul-straight-left > li, - article > ul > li, - aside > ul > li { - display: table-row; } - .ul-straight-left > li::before, - article > ul > li::before, - aside > ul > li::before { - padding-inline-end: 0.75rem; - display: table-cell; - content: '\2981'; - font-size: var(--fs-s); } - -.ol-straight-left, -article > ol, -aside > ol { - display: table; - list-style: none; - padding: 0; } - .ol-straight-left > li, - article > ol > li, - aside > ol > li { - display: table-row; - counter-increment: table-ol; } - .ol-straight-left > li::before, - article > ol > li::before, - aside > ol > li::before { - padding-inline-end: 0.75rem; - display: table-cell; - content: counter(table-ol) "."; - font-size: var(--fs-s); - text-align: end; } - -.ul-straight-left--off { - display: block; - list-style: inherit; } - .ul-straight-left--off > li { - display: list-item; } - .ul-straight-left--off > li::before { - content: ''; - display: inline; - padding: inherit; } - -.message { - padding: .5rem; - outline-width: 2px; - outline-style: solid; - width: 95%; } - .message.status { - background-color: var(--color-status-bg); - color: var(--color-status); - outline-color: var(--color-status); } - .message.warning { - background-color: var(--color-warning-bg); - color: var(--color-warning); - outline-color: var(--color-warning-border); } - .message.error { - background-color: var(--color-error-bg); - color: var(--color-error); - outline-color: var(--color-error); } - .message--highlight { - animation: 2s linear infinite outline-highlight; } - -@keyframes outline-highlight { - 50% { - outline-width: .3rem; } } - -.meta { - font-family: var(--ff-headings); - font-size: var(--fs-xs); - color: var(--color-text-meta); } - -.responsive-video { - --aspect-ratio: 9 / 16; - position: relative; - padding-bottom: calc(var(--aspect-ratio) * 100%); - padding-top: 25px; - height: 0; } - .responsive-video__embed, - .responsive-video iframe { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; } - .responsive-video--4-3 { - --aspect-ratio: 3 / 4; } - -.mt--xxl { - margin-block-start: 4.5rem; } - -.mb--xxl { - margin-block-end: 4.5rem; } - -.mtb--xxl { - margin-block: 4.5rem; } - -.mt--xl { - margin-block-start: 3rem; } - -.mb--xl { - margin-block-end: 3rem; } - -.mtb--xl { - margin-block: 3rem; } - -.mt--l { - margin-block-start: 2.25rem; } - -.mb--l { - margin-block-end: 2.25rem; } - -.mtb--l { - margin-block: 2.25rem; } - -.mt--m { - margin-block-start: 1.5rem; } - -.mb--m { - margin-block-end: 1.5rem; } - -.mtb--m { - margin-block: 1.5rem; } - -.mt--s { - margin-block-start: 1.125rem; } - -.mb--s { - margin-block-end: 1.125rem; } - -.mtb--s { - margin-block: 1.125rem; } - -.mt--xs { - margin-block-start: 0.75rem; } - -.mb--xs { - margin-block-end: 0.75rem; } - -.mtb--xs { - margin-block: 0.75rem; } - -.mt--xxs { - margin-block-start: 0.45rem; } - -.mb--xxs { - margin-block-end: 0.45rem; } - -.mtb--xxs { - margin-block: 0.45rem; } - -.mt--0 { - margin-block-start: 0; } - -.mb--0 { - margin-block-end: 0; } - -.mtb--0 { - margin-block: 0; } - -.zebra-table { - --cell-padding: .5rem; } - @media (max-width: 666px) { - .zebra-table { - --cell-padding: .3rem; } } - .zebra-table th, - .zebra-table td { - padding: var(--cell-padding); } - .zebra-table thead tr { - background-color: var(--color-row-header); } - .zebra-table tbody tr:nth-child(odd) { - background-color: var(--color-row-odd); } - .zebra-table tbody tr:nth-child(even) { - background-color: var(--color-row-even); } - -.responsive-table { - --gap: .5rem; } - @media (max-width: 666px) { - .responsive-table th { - display: none; } - .responsive-table td { - display: grid; - gap: var(--gap); - grid-template-columns: 12ch auto; } - .responsive-table td::before { - content: attr(aria-label) ":"; - font-weight: var(--fw-bold); } - .responsive-table td:first-of-type { - padding-block-start: var(--gap); } - .responsive-table td:last-of-type { - padding-block-end: var(--gap); } } -.tags ul { - margin-block: 0; } - -.visually-hidden:not(:focus, :active) { - position: absolute; - clip: rect(0 0 0 0); - clip-path: inset(50%); - height: 1px; - width: 1px; - overflow: hidden; - white-space: nowrap; } - -.navbar { - margin-block: 0; } - -.pagination, -.pager { - margin-block: 1.5rem; - justify-content: center; } - .pagination__item, - .pagination .page-link, - .pager__item, - .pager .page-link { - padding-inline: 2px; } - .pagination .active, - .pager .active { - font-weight: var(--fw-bold); } - -body { - background-color: var(--color-backdrop); } - -.page { - background-color: var(--color-body-bg); } - -.footer { - border-top: 2px solid var(--color-border); } - -th, -label, -legend, -figcaption { - font-size: var(--fs-s); } - -.language-selector, -.footer { - font-size: var(--fs-xs); } - -th, -label, -legend, -.main-menu, -.header, -.footer { - color: var(--color-headings); - font-family: var(--ff-headings); } - -th, -label { - font-weight: var(--fw-headings); } - -@media (min-width: 666px) { - article .submitted, - article .tags { - display: inline-block; - padding-inline-end: 1rem; } } - -article code { - font-size: var(--fs-xs); - overflow-wrap: break-word; } - -article pre { - border-radius: var(--radius-xs); - padding: 5px; - border: 1px solid var(--color-border-light); - background-color: var(--color-text-bg); - overflow: auto; - max-height: 300px; - max-width: 90vw; } - article pre.chroma { - max-height: initial; - overflow-x: scroll; } - article pre > code { - display: inline-block; - white-space: pre; } - -.content-dates { - text-align: end; } - -.main-menu { - margin-top: .75rem; - outline: 0; } - .main-menu li { - margin-bottom: .75rem; - padding: 0; } - .main-menu a { - display: block; - background-color: var(--color-button); - color: var(--color-text-bg); - padding: 2px 8px; - text-decoration: none; } - .main-menu a:hover, .main-menu a:focus { - background-color: var(--color-button-hover); } - .main-menu a:active, .main-menu a[aria-current] { - background-color: var(--color-button); - text-decoration: underline; } - -.search-text { - font-size: var(--fs-l); } - -main input:not(:placeholder-shown):valid, -main textarea:not(:placeholder-shown):valid { - background-color: var(--color-status-bg); } - -main input:not(:placeholder-shown):invalid, -main textarea:not(:placeholder-shown):invalid { - background-color: var(--color-error-bg); } - -main input:focus:invalid, -main textarea:focus:invalid { - background-color: var(--color-warning-bg); } - -.js-submitted input:valid, -.js-submitted textarea:valid { - background-color: var(--color-status-bg); } - -.js-submitted input:invalid, -.js-submitted textarea:invalid { - background-color: var(--color-error-bg); } - -/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/sass/styles.scss_f3a5364e991a57c56f5dcd8d7251924a.json b/resources/_gen/assets/sass/styles.scss_f3a5364e991a57c56f5dcd8d7251924a.json deleted file mode 100644 index 081a4be..0000000 --- a/resources/_gen/assets/sass/styles.scss_f3a5364e991a57c56f5dcd8d7251924a.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"css/styles.css","MediaType":"text/css","Data":{}} \ No newline at end of file diff --git a/resources/_gen/images/img/avatar_hu13739649187745961479.png b/resources/_gen/images/img/avatar_hu13739649187745961479.png deleted file mode 100644 index bab4bde..0000000 Binary files a/resources/_gen/images/img/avatar_hu13739649187745961479.png and /dev/null differ diff --git a/static/files/photo.jpg b/static/files/photo.jpg new file mode 100644 index 0000000..d9a36da Binary files /dev/null and b/static/files/photo.jpg differ diff --git a/static/files/vcard.vcf b/static/files/vcard.vcf new file mode 100644 index 0000000..f5f1c8d --- /dev/null +++ b/static/files/vcard.vcf @@ -0,0 +1,19 @@ +BEGIN:VCARD +VERSION:3.0 +FN;CHARSET=UTF-8:Александр Кирюхин +N;CHARSET=UTF-8:Кирюхин;Александр;;; +NICKNAME;CHARSET=UTF-8:NeonXP +GENDER:M +BDAY:19890506 +EMAIL;CHARSET=UTF-8;type=HOME,INTERNET:i@neonxp.ru +LOGO:https://neonxp.ru/img/logo512.png +TEL;TYPE=CELL:+79377711142 +ADR;CHARSET=UTF-8;TYPE=HOME:;;;Казань;Татарстан;;Российская Федерация +ROLE;CHARSET=UTF-8:Старший разработчик +ORG;CHARSET=UTF-8:VK +URL;CHARSET=UTF-8:https://neonxp.ru +X-FEED;CHARSET=UTF-8:https://neonxp.ru/post/index.xml +SOURCE:https://neonxp.ru/files/vcard.vcf +PHOTO:https://neonxp.ru/files/photo.jpg +REV:2024-10-11T21:00:05.953Z +END:VCARD diff --git a/static/img/logo512.png b/static/img/logo512.png new file mode 100644 index 0000000..ff002db Binary files /dev/null and b/static/img/logo512.png differ diff --git a/static/rss.css b/static/rss.css new file mode 100644 index 0000000..e69de29 diff --git a/static/rss.xsl b/static/rss.xsl new file mode 100644 index 0000000..92b20e7 --- /dev/null +++ b/static/rss.xsl @@ -0,0 +1,52 @@ + + + + + + + <xsl:value-of select="/rss/channel/title"/> RSS Feed + + + + + + +
+

RSS лента

+

+ +

+

+ +

+ + Полная версия сайта → + +
+
+

Последние

+ + + +
+ + +
+
\ No newline at end of file diff --git a/static/upload/logo.png b/static/upload/logo.png new file mode 100644 index 0000000..df7d2f1 Binary files /dev/null and b/static/upload/logo.png differ diff --git a/static/upload/top-encrypted-todo-and-note-taking-apps-01.jpg b/static/upload/top-encrypted-todo-and-note-taking-apps-01.jpg new file mode 100644 index 0000000..b74b1e3 Binary files /dev/null and b/static/upload/top-encrypted-todo-and-note-taking-apps-01.jpg differ diff --git a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-1024x624.jpg b/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-1024x624.jpg deleted file mode 100644 index a35e972..0000000 Binary files a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-1024x624.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-150x150.jpg b/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-150x150.jpg deleted file mode 100644 index 006c3ab..0000000 Binary files a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-150x150.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-1536x936.jpg b/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-1536x936.jpg deleted file mode 100644 index fbdf388..0000000 Binary files a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-1536x936.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-2048x1247.jpg b/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-2048x1247.jpg deleted file mode 100644 index c8fcae2..0000000 Binary files a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-2048x1247.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-300x183.jpg b/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-300x183.jpg deleted file mode 100644 index 9564cb3..0000000 Binary files a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-300x183.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-768x468.jpg b/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-768x468.jpg deleted file mode 100644 index 62c4465..0000000 Binary files a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01-768x468.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01.jpg b/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01.jpg deleted file mode 100644 index b74b1e3..0000000 Binary files a/static/wp-content/uploads/2024/07/top-encrypted-todo-and-note-taking-apps-01.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/logo-150x150.png b/static/wp-content/uploads/2024/09/logo-150x150.png deleted file mode 100644 index f6df1ab..0000000 Binary files a/static/wp-content/uploads/2024/09/logo-150x150.png and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/logo-300x75.png b/static/wp-content/uploads/2024/09/logo-300x75.png deleted file mode 100644 index 967b63f..0000000 Binary files a/static/wp-content/uploads/2024/09/logo-300x75.png and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/logo-768x192.png b/static/wp-content/uploads/2024/09/logo-768x192.png deleted file mode 100644 index f06e2a9..0000000 Binary files a/static/wp-content/uploads/2024/09/logo-768x192.png and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/logo.png b/static/wp-content/uploads/2024/09/logo.png deleted file mode 100644 index df7d2f1..0000000 Binary files a/static/wp-content/uploads/2024/09/logo.png and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/logo512-300x300.png b/static/wp-content/uploads/2024/09/logo512-300x300.png deleted file mode 100644 index 98baa75..0000000 Binary files a/static/wp-content/uploads/2024/09/logo512-300x300.png and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/logo512-e1730113501989.png b/static/wp-content/uploads/2024/09/logo512-e1730113501989.png deleted file mode 100644 index 4393a02..0000000 Binary files a/static/wp-content/uploads/2024/09/logo512-e1730113501989.png and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/logo512.png b/static/wp-content/uploads/2024/09/logo512.png deleted file mode 100644 index ff002db..0000000 Binary files a/static/wp-content/uploads/2024/09/logo512.png and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/photo-150x150.jpg b/static/wp-content/uploads/2024/09/photo-150x150.jpg deleted file mode 100644 index 98d50ea..0000000 Binary files a/static/wp-content/uploads/2024/09/photo-150x150.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/photo-300x300.jpg b/static/wp-content/uploads/2024/09/photo-300x300.jpg deleted file mode 100644 index c596e41..0000000 Binary files a/static/wp-content/uploads/2024/09/photo-300x300.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/photo.jpg b/static/wp-content/uploads/2024/09/photo.jpg deleted file mode 100644 index d9a36da..0000000 Binary files a/static/wp-content/uploads/2024/09/photo.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/09/vcard.vcf b/static/wp-content/uploads/2024/09/vcard.vcf deleted file mode 100644 index 916fd99..0000000 --- a/static/wp-content/uploads/2024/09/vcard.vcf +++ /dev/null @@ -1,20 +0,0 @@ -BEGIN:VCARD -VERSION:3.0 -FN;CHARSET=UTF-8:Александр Кирюхин -N;CHARSET=UTF-8:Кирюхин;Александр;;; -NICKNAME;CHARSET=UTF-8:NeonXP -GENDER:M -BDAY:19890506 -EMAIL;CHARSET=UTF-8;type=HOME,INTERNET:i@neonxp.ru -LOGO:https://neonxp.ru/img/logo512.png -TEL;TYPE=CELL:+79377711142 -ADR;CHARSET=UTF-8;TYPE=HOME:;;;Казань;Татарстан;;Российская Федерация -ROLE;CHARSET=UTF-8:Старший разработчик -ORG;CHARSET=UTF-8:VK -URL;CHARSET=UTF-8:https://neonxp.ru -X-FEED;CHARSET=UTF-8:https://neonxp.ru/feed.atom -SOURCE:https://neonxp.ru/files/vcard.vcf -PHOTO:https://neonxp.ru/files/photo.jpg -X-SOCIALPROFILE;TYPE=Mastodon:https://soc.neonxp.ru/@neonxp -REV:2024-06-23T21:00:05.953Z -END:VCARD diff --git a/static/wp-content/uploads/2024/10/Rama16wiki-150x150.jpg b/static/wp-content/uploads/2024/10/Rama16wiki-150x150.jpg deleted file mode 100644 index 67d9109..0000000 Binary files a/static/wp-content/uploads/2024/10/Rama16wiki-150x150.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/10/Rama16wiki-300x169.jpg b/static/wp-content/uploads/2024/10/Rama16wiki-300x169.jpg deleted file mode 100644 index 8dc78c8..0000000 Binary files a/static/wp-content/uploads/2024/10/Rama16wiki-300x169.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/10/Rama16wiki.jpg b/static/wp-content/uploads/2024/10/Rama16wiki.jpg deleted file mode 100644 index 4039369..0000000 Binary files a/static/wp-content/uploads/2024/10/Rama16wiki.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/10/bash_org-150x150.jpg b/static/wp-content/uploads/2024/10/bash_org-150x150.jpg deleted file mode 100644 index aefef30..0000000 Binary files a/static/wp-content/uploads/2024/10/bash_org-150x150.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/10/bash_org-300x213.jpg b/static/wp-content/uploads/2024/10/bash_org-300x213.jpg deleted file mode 100644 index 05c4de7..0000000 Binary files a/static/wp-content/uploads/2024/10/bash_org-300x213.jpg and /dev/null differ diff --git a/static/wp-content/uploads/2024/10/bash_org.jpg b/static/wp-content/uploads/2024/10/bash_org.jpg deleted file mode 100644 index 79ade77..0000000 Binary files a/static/wp-content/uploads/2024/10/bash_org.jpg and /dev/null differ -- cgit v1.2.3