maxsite
87 subscribers
29 photos
1 video
17 files
298 links
Albireo CMS. Berry CSS. MaxSite CMS. Личные заметки и всё то, что не публикуется на сайте maxsite.org
Download Telegram
Результат переделки синхронизации через WinSCP. Теперь весь код в Albireo CMS и юзеру больше не нужно загружать специальные файлы на сервер. Переделка большая, потратил несколько дней, но результатом доволен. Стало очень удобно проверять различия, и решать конфликты. Пока тестирую.

https://maxsite.org/albireo/introduction/sync-script-for-winscp
👍3🔥1
Что-то я совсем перестал понимать ChatGPT... Уже который раз сталкиваюсь с тем, что он вместо того, чтобы обсуждать задачу по существу, начинает придираться к словам, фразам и уходит в какую-то софистику...

Например если написать «Все — козлы!» он по настоящему начнёт это обсуждать и делать замечание, что а) не все, и б) не только козлы...

Это у всех так, или только у меня такая нейромодель подвернулась?

PS Напомню наш чат здесь: https://t.me/maxsite_chat
В Albireo CMS добавил баннер об использовании кук. Тут всё не так просто. Есть законы (GDPR), которые регулируют как именно следует собирать персональные данные посетителей, и куки, как раз один из этих механизмов.

Сами куки, условно делятся на «технические», то есть те, которые необходимы для работы сайта, например токены безопасности, авторизации. Другие куки — персонализированные, например сбор статистики.

Если сайт использует только технические куки, то ему не нужно разрешение от посетителя. Можно даже не выводить уведомление. Просто потому что эти куки не используются для персонализации.

Но если, например добавить счётчик Google Analytic, то сайт должен спрашивать разрешение посетителя на использование этого счётчика. Причем явно и до того, как код счётчика будет загружен. Если посетитель не даёт согласие, то сайт не имеет права подключать счётчик ни в каком виде.

Если, скажем, загружать счетчик, но потом вывести диалог согласия, то это всё-равно нарушение закона. Здесь строго: вначале согласие, потом сбор информации.

На Западе уже много случаев, когда крупные сайты штрафовали за такие нарушения.

Технически это интересная задача и не такая простая как может показаться.

Для запоминания выбора посетителя используется кука (назовём её gdpr). У неё может быть два значения: allow и deny. Поэтому сайт оперирует тремя вариациями:

- allow - разрешен счетчик,
- deny - запрещен,
- none - куки нет, выбора не было.

Если gdpr-кука равна none, то нужно вывести диалог согласия. Если же другое значение, то диалог не выводится. При этом, проверятся допустимые значения куки. Если скажем она равна «yes», то это неверное значение и оно присваивается как «none» — то есть нужно опять показать диалог.

Что касается вывода кода счётчика, то этот код размещается в сниппете и там добавляется одна проверка:

// если нет явного разрешения, счётчик выводить нельзя
if (myGetCookie('gdpr', 'none') !== 'allow') return;


Диалог согласия я сделал тоже на сиппете, причем в 4-варианциях дизайна (как в MF), подключается в конфигурации page-data.php:

'snippet.lazy[gdpr/cookies1]' => 1,


Всю логику я разместил прямо в сниппете. Если нужно поменять, копируется в my-каталог и там свои правки.

Кроме того сразу сделал мультиязычность: она задаётся в конфиг-файле. Там же меняется время жизни куки. 🧐
👍6
Почему лучше не настаивать на своей точке зрения

Парень лет 30, приехал с женой — покупали весной у нас рассаду клубники. Дотошный, всё расспрашивает, живо интересуется что к чему.

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

Они используют специальные пластиковые кубы, напоминающие наши обычные ящики. Кубы сцепляются между собой, оборачиваются агротекстилем и потом закапываются в землю. Впечатляет то, что потом над ними потом организуют парковки, лужайки и т.п. То есть несущая способность кубов очень высокая.

Я использовал эту идею, только на наших обычных ящиках. Собрали по периметру ямы (высота 3 метра), сделали две секции, снаружи агроволокно, сверху обычный шифер. Дешево и сердито.

За несколько лет уровень воды внутри не более 30-50 см. Так работает фильтрация почвы. Каждый год закидываю специальные водоросли для септиков. Цена вопроса 20-50 грн, но эти звери очень эффективны. Их я проверял еще до оккупации Крыма, где у дома септик был простой пластиковой ёмкостью. Водоросли перерабатывали всё до обычной воды.

Так вот, парень интересуется, я рассказываю. Потом он говорит, что на днях с каким-то родственником чистил свою яму из колец. Причем им пришлось лезть прямо внутрь колодца и вышкрябывать всё руками... Жуть конечно...

Я тогда говорю, что вначале нужно было бы водоросли попробовать. Он кривится: «Что-то я сомневаюсь, что они вообще работают!».

Ситуация немного странная, я 100% уверен в своём совете, но он его отвергает (пусть даже и на будущее). Ему проще буквально ковыряться в дерьме, чем попробовать другой способ.

Я, конечно, больше не стал доказывать и убеждать. Пусть делает выбор сам. 😚
👍5
Переделал админку Albireo CMS. Так выглядит страница файлов-записей сайта.

Я мого думал как именно следует «правильно» выводить записи во Flat-File CMS и в итоге пришел к выводу, что лучше всего использовать файловую структуру. Потому что это создаёт меньше путаницы.

Если же выводить в привычном «сплошном» формате списка, то теряется понимание того, что страница — это отдельный файл. Такой вывод не проблема, но уже невозможно будет понять структуру каталогов, и для этого типа систем, это уже не очень хорошо.
👍2
Встретилась интересная статья о том, как сейчас усложнилась верстка... Меня всегда удивляло то, что люди предпочитают какие-то сложные и дорогие, обходные пути, вместо того, чтобы научиться каким-то базовым вещам. Лично мой подход — это двигаться от результата, то есть понять что нужно получить в итоге, а уже потом думать какой для этого использовать инструмент. Оказывается для многих такой подход в диковинку (не хватает «адреналина»?).

https://davidpoblador.com/deep-dives/what-happened-to-the-frontend/
👍3
Хочу добавить в Albireo CMS еще с десяток разных примеров страниц. Вот здесь: https://maxsite.org/albireo/features#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B «Pure», «Vega», «Microlanding».

Если есть какие-то интересные примеры (речь в первую очередь про дизайн блога), то предлагайте в комментариях.
Есть такая контора Hugging Face, очень крупная в области ИИ. Им нужна база данных и они решили просто спиздить всё с гитхаба. А чё, там же всё открыто, да и лицензии в основном открытые. Правда забыли уточнить, что всё равно это требует указания авторства. Но это же мелочь...

Теперь скандал разросся и Hugging Face милостиво разрешила владельцам репозиториев отправить запрос на удаление своих данных из их хранилища. Вот здесь форма: https://huggingface.co/spaces/HuggingFaceCode/in-the-stack

Мне кажется, что это хороший такой гвоздь в гроб Open Source с Гитхабом в придачу. 🤬
👎1🤬1
Для Albireo CMS я использую встроенную статистику, где выдаётся кол-во просмотров каждой страницы.

Заметил, что число просмотров явно завышено: 1500-3000 в сутки. Мой сайт однозначно не имеет такой посещаемости, поэтому я заподозрил, что это нашествие ботов.

Просмотрев логи сервера, я подтвердил свою догадку. Поэтому внёс в статистику изменения так, чтобы она отсекала по возможности все боты.

В итоге реальная посещаемость держится в районе 400-600 хитов, что более-менее совпадает с анализом логов.

То есть получается, что сейчас основной трафик делают не люди, а боты. Причем ботов больше чем людей примерно в 3-5 раз. 🧐
🔥3
Сегодня смотрю, опять всплеск активности ботов. Скормил логи gemini, он нашёл новые боты. В итоге добавил их в регулярку.

Если нужно, вот текущий список:

bot|spider|crawl|slurp|mediapartners|ia_archiver|semrush|ahrefs|mj12bot|dotbot|bytespider|claudebot|perplexity|chatgpt|gptbot|anthropic|cohere|python|java|curl|wget|libwww|httpclient|okhttp|phantomjs|headless|scrapy|guzzle|axios|fasthttp|go-http|selenium|puppeteer|playwright|scan|scanner|checker|nikto|sqlmap|masscan|zgrab|censys|shodan|acunetix|dirbuster|rce|shell|rss|feed|externalagent
👍3
Обновил Berry CSS до 5.5
https://maxsite.org/berry/

Изменений немного.

Классы .bor-custom для произвольных бордюров, включая dark-режим.

И классы для grid-сетки: .grid-area и .orderX для лучшей кастомизации.
https://maxsite.org/2026/maxsite-plus

Новый проект MaxSite Plus

Представляю новый проект MaxSite Plus. Это набор дополнительных блоков, модулей, примеров для Albireo CMS и шаблона MF с использованием Berry CSS.
🔥3
Сделал в Albireo CMS хитрую сортировку записей. Используется натуральная сортировка, но если каталог начинается с года 2000..2999, то уже используется обратная сортировка. Таким образом более новые записи автоматом окажутся вверху.
👍21
Добавил возможность указывать множественные поля в виде массива. В качестве примера — авторизация через IndieAuth. Достаточно всего несколько полей и всё автоматом будет работать. 🤟

https://maxsite.org/albireo/introduction/fields-base#множественные-поля-в-виде-массива
https://maxsite.org/2026/what-is-webring

Что такое вебринг (Webring)

Webring — это т.н кольцо сайтов, где каждый сайт содержит ссылку на следующий и предыдущий. Таким образом сайты формируют некую цепочку, через которые можно последовательно просмотреть каждого участника сообщества.

UPD. Добавил в качестве примера ссылку на большую коллекцию вебрингов: https://brisray.com/web/webring-list.htm