К содержимому
Таймлайн движка: Ghost, Ghost Pro, Astro с EmDash и Astro со Svelte; стеклянные логотипы соединены зелёной линией
Ghost → Ghost Pro → Astro + EmDash → Astro + Svelte

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

27 октября 2026

Моно, значит моно

  • Medeo Mono
  • Medeo Sans
  • Medeo Pixel
  • xterm
  • DOM
  • WOFF2
  • Medeo Sans + Mono в публичной оболочке; Medeo Pixel — только в терминале.
  • xterm сохраняет ASCII-сетку, DOM отвечает за естественную ширину текста и выделение слов.
  • На мобильных пункты меню переносятся по словам; 7208 ресурсов переиспользованы без изменений.

Проверка и границы: Локальный и production-браузер; 360 • 390 • 430 px. Физический телефон не проверялся.

Подробнее

Публичная оболочка перешла на Medeo Sans для основного текста и заголовков и Medeo Mono для навигации, дат и метаданных. Medeo Pixel используется только в терминале. В поставку вошли прямые начертания; исходные медиа, адреса материалов и языковые границы сохранены. Для арабского и китайского остались соответствующие системные шрифты.

Шрифты поставляются с лицензией SIL OFL 1.1. Основные подмножества Sans и Mono занимают вместе 154 624 байта вместо 210 720 байт полных файлов. Полные начертания сохранены как запасной источник для символов вне подмножества. При подготовке проверялись контуры, ширины знаков и вариативные оси, чтобы сокращение файлов не меняло рисунок шрифта.

В терминале сохранён xterm для измерений и ASCII-графики, а видимый текст Pixel получил естественную ширину и обычное выделение через DOM. Это устранило несоответствие между видимым словом и ячейками выделения. Размер можно менять от 14 до 32 px, исходное значение — 16 px. Отдельное продолжение этого выпуска добавило перенос мобильных пунктов по словам: продолжение строки сохраняет номер логического пункта и действие по нажатию. Проверены ширины 360, 390 и 430 px; проверка на физическом телефоне отдельно не проводилась.

Одновременно исправлено поведение раскрытого дерева главной: оно резервирует свою реальную высоту, а после закрытия возвращает положение контента. Переходы из объявления открываются в новой вкладке с безопасными атрибутами. Выпуск шрифтов потребовал рендера девяти представительных маршрутов и проверенной замены типографических подключений в остальных HTML. Продолжение с переносами изменило только терминал и его зависимости; 7208 существующих ресурсов переиспользованы побайтно.

26 октября 2026

Чистый клон, полный контекст

  • GitHub
  • Linux
  • Node.js 22
  • pnpm
  • Astro
  • SHA-256
  • Полная принятая база восстанавливается по зашифрованному архиву и проверенному индексу хешей.
  • Нормализация JSON-типографики работает независимо от Astro dev; сохранение не публикует материал.
  • Style Guide получил семь языковых редакций и нативные варианты шапок.

Проверка и границы: Linux-проверка, staging-preview и публичный выпуск каталога зафиксированы раздельно.

Подробнее

Подготовка сайта стала воспроизводимой в свежей облачной задаче: исходники и зашифрованная принятая база восстанавливаются раздельно. База содержит полный проверенный пакет, а не выборочную демонстрационную сборку. Индекс и хеши связывают восстановленные файлы с исходной приёмкой; ключ шифрования не хранится вместе с архивом. Для нового чата предусмотрен отдельный локальный предпросмотр, который сам по себе не разрешает публикацию основного сайта.

В Linux проверены восстановление и работа приложения в свежем окружении. Механизм нормализации типографики запускается независимо от Astro, чтобы прямое сохранение JSON также проходило обработку. При записи сохраняются языковые границы и предупреждения для спорных кавычек. Автоматическое сохранение не меняет статус публикации.

Style Guide обновлён на семи языках. Заголовки и варианты шапок используют нативные компоненты сайта; обложка и примеры сверены с исходным оформлением. Это рабочий каталог способов собрать материал: текст, код, медиа и композиция страницы. Облачная проверка, выпуск публичного каталога и приёмка на физическом мобильном устройстве остаются разными результатами; последнее этим выпуском не подтверждено.

23–25 октября 2026

Редактор без сюрпризов

  • React
  • Koenig
  • Cloudflare D1
  • R2
  • CAS
  • Частный редактор хранит черновики и историю в D1, приватные медиа — в R2.
  • Compare-and-swap защищает параллельные записи; заявка фиксирует точную ревизию и исходную базу.
  • React • Koenig, H1–H6, списки, Undo и каталог оформления согласованы с проверенной авторизацией.

Проверка и границы: 25 октября: отдельный выпуск редактора и production-readback. Root-сайт не перевыпускался.

Подробнее

После отказа от EmDash появился отдельный закрытый редактор с собственными зависимостями React и Koenig. Публичный Astro-сайт продолжает читать файлы репозитория. Редактор хранит рабочие черновики, историю, авторизацию и заявки на публикацию в отдельной D1, а приватные загрузки — в отдельном R2. Основной Worker сайта обходится без редакционной БД.

Сохранение, автосохранение, импорт переводов и постановка заявки в очередь не публикуют материал. Заявка закрепляет неизменную редакцию и её исходную базу; перед переносом в файлы проверяется, что параллельные изменения не будут потеряны. Согласование записей использует compare-and-swap. Частные картинки получают разрешённый публичный адрес только при подготовке соответствующего выпуска.

В редакторе сохранены сворачиваемое дерево документа, панель форматирования, заголовки H1–H6, списки, Undo, каталог оформления и связи авторов/участников. Финальная сверка 25 октября объединила актуальный интерфейс с проверенной авторизацией и ограниченной очисткой только просроченных технических записей. Черновики, история, заявки и действующие сессии сохранены. Редактор выпускается независимо от основного сайта; эта сверка не была новым выпуском публичных статей.

24 октября 2026

304 — тоже ответ

  • SSR
  • HTTP ETag
  • WebP
  • gzip
  • Cache API
  • Web Analytics
  • TLS 1.2
  • Полный SSR остаётся на первом экране; условный fetch каталога возвращает 304 без тела или свежий 200.
  • Lossless WebP-варианты 400 • 720 • 800 px и проверенные подмножества Geist сокращают передачу.
  • Cache API хранит финальный HTML после HTMLRewriter и разрешённого Analytics beacon; gzip выполняется один раз.
  • Scroll-reveal больше не прячет видимые Masonry-карточки; TLS • HSTS усилены отдельной edge-настройкой.

Проверка и границы: Проверены GET • HEAD • 304, gzip • identity, приватные границы и видимость карточек в production.

Подробнее

Главная сохраняет полный серверный HTML с карточками, а затем делает один условный запрос каталога с точным ETag. При неизменном содержимом сервер отвечает 304 без тела. Если после точечной публикации старый HTML содержит прежний каталог, ответ 200 приносит свежую версию. Удалена дублирующая предзагрузка; первая отрисовка по-прежнему не зависит от получения списка через JavaScript.

Для портрета добавлены варианты WebP шириной 400, 720 и 800 px. Исходник 2400 × 2400 сохранён по прежнему адресу. Варианты кодируются без дополнительной потери качества после масштабирования; пиксели проверены сравнением декодированного RGB. Выбор размера опирается на фактическую ширину колонки и плотность экрана. Для использовавшихся тогда Geist и Geist Mono подготовлены подмножества с проверкой метрик, контуров и формирования текста; этот этап предшествовал переходу на Medeo.

Кэшируется итоговый HTML после подстановки фрагментов и разрешённого Analytics beacon, затем выполняется одно gzip-сжатие. Идентичность кэша учитывает выпуск, страницу, фрагменты, кодировку и вариант аналитики. Проверены GET, HEAD, 304, gzip и несжатая передача. Редактор, preview, API и приватные ответы исключены из публичной аналитики и соответствующего кэша.

Отдельная корректировка убрала ожидание scroll-reveal у карточек главной: Masonry мог переместить карточку в первый экран, но она оставалась прозрачной до прокрутки. Изменились два ресурса пакета, без рендера страниц; 6703 остальных ресурса переиспользованы. В production-браузере подтверждена видимость первых карточек без прокрутки. Эти результаты описывают конкретные проверки, а не обещание одинакового ускорения для всех посетителей.

На edge отдельно включён минимум TLS 1.2; Full Strict ограничен явно проверенными веб-хостами, а HSTS на сутки — только основным HTTPS-доменом без includeSubDomains и preload. CDN не включён в это расширение. DNSSEC оставался недоступен, поскольку родительская доменная зона не была подписана.

23 октября 2026

Главная обрела голос

  • Svelte
  • Masonry
  • Astro
  • Ask
  • File catalogue
  • Тематические вкладки, общий каталог и Masonry работают в единой Svelte-оболочке.
  • Чтение и Ask связаны с опубликованными файлами; авторы отделены от участников материалов.
  • Предыдущая главная и точный rollback сохранены.

Проверка и границы: Выпуск главной и исправления Ask подтверждены отдельными отчётами приёмки.

Подробнее

Главная получила интерактивную Svelte-оболочку с тематическими вкладками, общей лентой и сеткой Masonry. Статьи, семейные материалы, проекты и страницы берутся из опубликованного файлового каталога. У интерфейса есть общий контекст с Ask: переход между чтением и разговором не требует отдельного редакционного источника.

В навигации и каталогах разведены авторы и участники материалов; семейные профили связаны с существующими публикациями. Каталог авторов использует эти связи, а не произвольные подписи карточек. Для Ask исправлено поведение свёрнутой боковой панели. Новая главная выпущена с сохранённой предыдущей версией и точной процедурой отката; эксперименты с другим оформлением не стали основанием для удаления принятой оболочки.

21–22 октября 2026

Файлы берут власть

  • Astro
  • Svelte
  • Cloudflare Workers
  • HTMLRewriter
  • RSS
  • Markdown
  • content/ становится единым источником: stable IDs, общий block tree, RU + шесть переводов, draft • published.
  • Root Worker объединяет ASSETS, Ask, terminal и signed preview; редакционная D1 ему не нужна.
  • Статические feed • related-фрагменты подставляются через HTMLRewriter; SHA и размер проверяются.
  • Один зафиксированный текстовый выпуск: около 104 секунд, 1 rendered • 1968 reused.

Проверка и границы: Опубликованный файловый cutover; тайминг относится к одному запуску, а не к SLA.

Подробнее

Редакционный источник перенесён в content/ внутри репозитория. Один материал хранит стабильный ID, общий порядок блоков и медиа, русский оригинал и до шести переводов: EN, AR, ZH, FR, DE и ES. Опубликованная редакция и черновик разделены физически. Перенос сохраняет исходные адреса, авторство и структуру; наличие черновика не делает его публичным.

Один Astro-проект обслуживает статьи и страницы, а Svelte используется для интерактивности. Основной Cloudflare Worker объединяет статические ресурсы, Ask, терминал и подписанный preview. Поиск, Markdown, RSS, sitemap и LLM-представления строятся из тех же опубликованных файлов. У них нет самостоятельного редактора, который мог бы разойтись с сайтом.

Изменился и способ выпуска. Планировщик определяет затронутые страницы; остальной HTML, ресурсы и действующие проверки переиспользуются. Ленты и рекомендации оформлены отдельными статическими фрагментами, которые Worker подставляет через HTMLRewriter. В браузере для этой операции не нужен новый JavaScript. Фрагменты служебные: внешняя выдача закрыта, размер и хеш проверяются.

Текстовая правка, новая публикация и изменение структуры идут разными ограниченными путями. Проверка переводов сравнивает изменившиеся поля и блоки, а не заставляет заново согласовывать весь архив. В зафиксированном production-выпуске пунктуационной правки от сохранения до завершения прошло около 104 секунд: одна страница отрендерена, 1968 переиспользованы. Это измерение отдельного запуска на подготовленном окружении, не норматив для будущих релизов.

EmDash выведен из рабочей цепочки. По решению 25 октября его данные сохраняются закрытым историческим архивом; это не активная CMS и не запланированная автоматическая очистка. Позднейшее появление частного редактора не возвращает EmDash в роль публичного источника.

18–21 октября 2026

Семь языков, один корпус

  • RU • EN • AR • ZH • FR • DE • ES
  • Svelte
  • Ask
  • Terminal
  • Wrangler
  • Семь языков получают общую идентичность материалов, свои URL, SEO и опубликованные редакции.
  • Ask на RU • EN и терминал читают тот же публичный корпус; терминальный каталог синхронизируется после принятого выпуска.
  • CSS, меню и отдельные поля можно выпускать точечно с проверкой хешей и сохранением rollback.

Проверка и границы: Публичные выпуски подтверждены; произвольные AI-ответы зависят от внешнего провайдера.

Подробнее

К русскому и английскому добавлены арабский, китайский, французский, немецкий и испанский. Языки опираются на общую идентичность материала и порядок блоков, но имеют собственные адреса и тексты. Навигация, языковые переключатели, SEO и вывод опубликованных редакций согласуются с этим устройством; арабскому нужен RTL, китайскому — соответствующий шрифтовой запасной вариант.

Ask вышел как отдельный публичный разговорный интерфейс на русском и английском, связанный с опубликованным корпусом сайта. Последующие изменения сблизили его с главной и чтением материалов. Ответы зависят от доступности внешнего AI-провайдера; наличие интерфейса не доказывает, что любой вопрос и голосовой сценарий проверены.

Терминал стал альтернативным способом навигации по тому же архиву: разделы, материалы, языки и ссылки доступны в консольной оболочке. Синхронизация каталога привязана к принятой публикации основного сайта. Style Guide и дизайн-система вынесли способы оформления и общие правила в отдельные страницы.

В этот период появились ограниченные выпуски CSS, меню и отдельных полей без рендера всего сайта. Готовые HTML и ресурсы проверяются по хешам, новая версия связана с исходниками и принятой базой, а предыдущий пакет сохраняется для отката. Проверки безопасности и актуальности аккаунта остаются частью выпуска; ускорение не означает их отмену.

10–12 октября 2026

Scope сменил двигатель

  • Astro
  • Scope
  • EmDash
  • Cloudflare Workers
  • ASSETS
  • Scope перенесён с Ghost-шаблонов в Astro-компоненты с сохранением оболочки и адресов.
  • Статический root-пакет строится из опубликованных ревизий EmDash и обслуживается Worker с ASSETS.
  • Редакционный источник и доставка разделены; затем проверены облачная публикация и восстановление.

Проверка и границы: Cutover 10–11 октября и последующие облачные проверки отражены в исторических отчётах.

Подробнее

Тема Scope перенесена в Astro-компоненты с сохранением визуальной оболочки и существующих адресов. Статический пакет формируется из опубликованных ревизий EmDash. Основной домен переведён на Cloudflare Worker со статическими ресурсами; прежняя статическая копия Ghost перестала быть источником новых выпусков.

Это был промежуточный этап: посетитель уже получал Astro • Scope, а автор продолжал работать через EmDash. Редактор и способ доставки стали разными частями системы. Для публикации использовались защищённые процедуры сборки и проверки; сохранённый черновик не должен был попадать в публичный пакет.

Первоначально выпуск контролировался локальным процессом на Mac; затем проверялась облачная публикация и восстановление. Эти исторические механизмы позже были заменены файловым процессом. Нельзя использовать старый регламент фоновой публикации как инструкцию для нынешнего сайта.

2–9 октября 2026

EmDash входит в чат

  • EmDash
  • CDN
  • Multilingual document
  • Published revisions
  • 2 октября запущен закрытый EmDash-пилот; Pages и Posts разделены при импорте.
  • Единый документ связывает стабильный ID, языки, общие блоки и раздельные статусы редакций.
  • Опубликованные варианты читаются независимо от незавершённых правок; экспериментальные представления не равны cutover.

Проверка и границы: Пилот и разработка 2–9 октября; не все зафиксированные интерфейсы стали основным сайтом.

Подробнее

Закрытый пилот EmDash запущен 2 октября с сохранением архива и медиа на CDN. При импорте страницы и записи разведены по своим коллекциям. Затем материал получил единый документ со стабильной идентичностью, языковыми редакциями, общими блоками и отдельными статусами. Опубликованные варианты читались независимо от незавершённых правок.

Параллельно проверялись редакционные представления и варианты оформления, включая Ghost-подобную оболочку и Framer-ленты. К 9 октября работа шла к общему редактированию сайта и сохранению привычной подачи материалов. Часть этих интерфейсов была экспериментальной: сам факт их появления в Git не означает замены основного сайта в тот же день.

Конец сентября 2026

Мост через /new/

  • Astro
  • Ghost export
  • Cloudflare Pages
  • Rich text
  • SEO
  • 23 сентября начат nevsky-web; к 26 сентября появился dual-mode bridge.
  • Публичная статическая выдача Ghost сохранена, новые Astro-маршруты изолированы под /new/ с noindex.
  • Маршруты, языковые связи и rich text сверены с историческими источниками; 9 октября ещё выпущен static Ghost.

Проверка и границы: Подтверждён переходный режим. Дата подготовки Astro не подменяет дату переключения root.

Подробнее

Новый репозиторий nevsky-web начат 23 сентября. К 26 сентября реализован двойной режим: старый публичный сайт сохраняет статическую выдачу Ghost, а новые Astro-маршруты изолированы под /new/. Для экспериментальной области закрыта индексация. Переезд можно проверять на реальных данных, не подменяя все старые адреса незавершённой новой версией.

Перенос включал разделы и темы, языковые связи, совместимость старых ссылок и защиту rich text перед выдачей HTML. Исторические тексты и маршруты сверялись с Ghost-экспортом и статическим архивом. Сборка стала зависеть от проверенного контентного представления, а не от случайной локальной копии. К 9 октября зафиксирован отдельный production-выпуск статического Ghost-сайта; полный переход на EmDash/Astro произошёл следующим этапом.

Июль–август 2026

Два движка на старте

  • Ghost Pro
  • Scope
  • Ghost Handlebars
  • Astro
  • Static v2
  • На nevsky.ae работает Ghost Pro: RU • EN, Scope, совместимость custom templates, accessibility и responsive media.
  • Static v2 • Astro готовится отдельно на new.nevsky.ae с noindex.

Проверка и границы: Документы 13–14 августа сохраняют Ghost Pro на apex. LiveDXB — отдельная линия.

Подробнее

Летом сайт на nevsky.ae продолжал работать на Ghost Pro с темой Scope и русско-английскими маршрутами. В июльских релизах исправлялись совместимость шаблонов, языковые метаданные, доступность и мобильное поведение. Производительность улучшалась через приоритет главного изображения, адаптивные картинки, устранение повторной загрузки шрифтов и уменьшение сдвигов Koenig-контента.

В августе разрабатывался Static v2 и Astro-преемник на отдельном new.nevsky.ae с noindex. Документы 13–14 августа прямо сохраняют Ghost Pro на основном домене. Это подготовка перехода, а не доказательство, что основной сайт уже работал на Astro. Работы над LiveDXB шли параллельно и не определяют дату переключения Nevsky.

Май–июнь 2026

Новый дом для Ghost

  • Ghost Pro
  • Handlebars
  • Geist
  • Cloudflare DNS
  • Framer
  • 15 мая: собственная тема Scope для nevskii.me, раздельные RU • EN ленты, маршруты и навигация.
  • План переезда сохраняет origin nevskii.ghost.io; к 30 июня инструменты уже используют nevsky.ae.
  • Позднее nevskii.me служит отдельным Framer-портфолио.

Проверка и границы: Точные даты покупки nevsky.ae и DNS cutover не установлены.

Подробнее

15 мая в Git зафиксирована тема Scope для nevskii.me: шаблоны Ghost • Handlebars, собственные стили, шрифты Geist, отдельные русские и английские ленты, навигация и языковые связи. Для этой линии использовался Ghost Pro. Перенос на управляемый хостинг менял эксплуатацию движка, при этом доработки темы оставались собственными.

Затем основным адресом стал приобретённый nevsky.ae. Архивный план описывает перенос публичного домена с nevskii.me на nevsky.ae при сохранении origin nevskii.ghost.io. К 30 июня URL нового домена уже закреплён в настройках инструментов и теме. Точная дата покупки и день переключения DNS по найденным материалам не установлены; дата коммита с URL не подменяет эти события.

nevskii.me позднее использовался для Framer-портфолио. Это отдельная линия визуального сайта: её Astro-преемник также готовился в preview. Поэтому история доменов не сводится к одному непрерывному переключению одного и того же движка.

Ранний архив

До первого коммита

  • Ghost
  • SQLite
  • Ghost export
  • Static archive
  • Ранний блог связан с nevsky.me; сохранены экспорт от 9 апреля 2026, тексты, авторство и медиа-ссылки.
  • По рассказу владельца: nevsky.me → nevskii.me; локальный Ghost предшествовал Ghost Pro.

Проверка и границы: Даты первого запуска и смены первого домена неизвестны; даты статей не считаются датами движка.

Подробнее

Ранний блог связан с nevsky.me и Ghost. Сохранились экспорт от 9 апреля 2026 года, статический архив, исторические тексты, авторство и ссылки на медиа. По рассказу владельца, после nevsky.me использовался nevskii.me, а локальный Ghost предшествовал Ghost Pro. Точные даты запуска первого Ghost, смены первого домена и перехода на Ghost Pro в доступной истории не найдены.

Эти этапы сохраняются как история происхождения сайта без выдуманных номеров версий. Даты старых статей показывают возраст текстов, но не дату запуска движка. Надёжно датируемая история собственной темы начинается в мае 2026 года, а подробная история нынешнего приложения — в конце сентября.

Как пополняется Changelog

Новая запись появляется при крупном изменении движка, редакционного процесса, доставки, интерфейса или публичной функциональности. Мелкие исправления группируются с соответствующим выпуском. В записи указываются дата фактического выпуска, предыдущая техническая база, существенные изменения, результат для посетителя или автора и границы проверки. Подготовленные локально возможности не описываются как уже выпущенные.

@nevsky_alexander

В Instagram — Дубай без парадного фасада: семья, город, находки и то, что происходит между проектами. В Threads — мысли вслух о дизайне и AI, на YouTube — видео, которым тесно в сторис. Подписывайтесь там, где вам удобнее: будем на связи

Подписка 1 Подписка 2 Подписка 3
Подписка 4 Подписка 5 Подписка 6