Blume превращает Markdown в сайт документации
Blume собирает папку с Markdown в готовый docs-сайт на Astro и Vite без шаблонного приложения и лишней настройки. Для старта нужен только Node.js и один Markdown-файл, дальше доступны типизированная конфигурация, автоматический SEO, llms.txt, raw Markdown по .md URL, MCP-сервер и blume eval, который прогоняет документацию как тесты и валит CI, если она не отвечает на вопросы.
https://www.infoq.com/news/2026/09/blume-docs-ai/
Blume собирает папку с Markdown в готовый docs-сайт на Astro и Vite без шаблонного приложения и лишней настройки. Для старта нужен только Node.js и один Markdown-файл, дальше доступны типизированная конфигурация, автоматический SEO, llms.txt, raw Markdown по .md URL, MCP-сервер и blume eval, который прогоняет документацию как тесты и валит CI, если она не отвечает на вопросы.
https://www.infoq.com/news/2026/09/blume-docs-ai/
👍7❤2👌1
Cordis делает плагины основой архитектуры
Cordis предлагает собирать JS/TS-приложение не вокруг ядра, а из плагинов, где каждый компонент явно описывает зависимости, эффекты, конфигурацию и жизненный цикл. Это полезно для модульных продуктов, плагинных платформ и систем с AI-компонентами: связи между частями становятся формализованными, а изменения можно вносить локально, не разбирая весь bootstrap и набор скрытых договорённостей. На практике Cordis даёт отдельный слой композиции для frontend и backend, а не просто ещё один DI или plugin framework.
https://habr.com/ru/articles/1079044/
Cordis предлагает собирать JS/TS-приложение не вокруг ядра, а из плагинов, где каждый компонент явно описывает зависимости, эффекты, конфигурацию и жизненный цикл. Это полезно для модульных продуктов, плагинных платформ и систем с AI-компонентами: связи между частями становятся формализованными, а изменения можно вносить локально, не разбирая весь bootstrap и набор скрытых договорённостей. На практике Cordis даёт отдельный слой композиции для frontend и backend, а не просто ещё один DI или plugin framework.
https://habr.com/ru/articles/1079044/
❤4🤔1
Серверный 1v1 на Cloudflare Durable Object
Разбор того, как держать 60Hz серверную симуляцию внутри одного Cloudflare Durable Object и что это даёт на практике: предсказание движения на клиенте, откат состояния для честного попадания, адаптивный выбор лучшего edge-сервера и удержание слота при обрыве соединения. Полезно как пример архитектуры для realtime-игр и других web-приложений, где важны низкая задержка, синхронизация и предсказуемое поведение на сервере и в тестах.
https://railmid.com/blog/how-it-works
Разбор того, как держать 60Hz серверную симуляцию внутри одного Cloudflare Durable Object и что это даёт на практике: предсказание движения на клиенте, откат состояния для честного попадания, адаптивный выбор лучшего edge-сервера и удержание слота при обрыве соединения. Полезно как пример архитектуры для realtime-игр и других web-приложений, где важны низкая задержка, синхронизация и предсказуемое поведение на сервере и в тестах.
https://railmid.com/blog/how-it-works
👍5⚡1
CSS Anchor Positioning для тултипов и меню
Anchor Positioning решает старую боль интерфейсов: позволяет прикреплять один элемент к другому без ручной JS-логики для тултипов, дропдаунов и вложенных меню. Для target задаются anchor-name, position-anchor и position-area, а браузер сам следит за переполнением и может переключать элемент на fallback-позицию вроде bottom или flip-block. Это особенно полезно там, где раньше приходилось писать сложный код для пересчёта координат, проверки viewport и переворота подсказки.
https://www.joshwcomeau.com/css/anchor-positioning/
Anchor Positioning решает старую боль интерфейсов: позволяет прикреплять один элемент к другому без ручной JS-логики для тултипов, дропдаунов и вложенных меню. Для target задаются anchor-name, position-anchor и position-area, а браузер сам следит за переполнением и может переключать элемент на fallback-позицию вроде bottom или flip-block. Это особенно полезно там, где раньше приходилось писать сложный код для пересчёта координат, проверки viewport и переворота подсказки.
https://www.joshwcomeau.com/css/anchor-positioning/
❤13👍1
Как Next.js закрыл 1500 issue за месяц
Команда Next.js показала рабочий пайплайн для разгребания большого GitHub backlog: агент в изолированной среде собирает доказательства по issue, ищет связанные PR и коммиты, пытается воспроизвести баг на разных версиях и возвращает структурированное решение о закрытии. Это важно, если у вас есть свой open source или внутренний продукт с потоком багрепортов: ручная модерация плохо масштабируется, а возраст issue сам по себе ничего не говорит о его актуальности.
https://nextjs.org/blog/how-we-closed-1500-github-issues
Команда Next.js показала рабочий пайплайн для разгребания большого GitHub backlog: агент в изолированной среде собирает доказательства по issue, ищет связанные PR и коммиты, пытается воспроизвести баг на разных версиях и возвращает структурированное решение о закрытии. Это важно, если у вас есть свой open source или внутренний продукт с потоком багрепортов: ручная модерация плохо масштабируется, а возраст issue сам по себе ничего не говорит о его актуальности.
https://nextjs.org/blog/how-we-closed-1500-github-issues
🔥18👍5⚡2❤1😁1
Почему главный поток тормозит интерфейс
Главный поток браузера часто становится узким местом не из-за алгоритмов, а из-за того, что на нём одновременно живут JavaScript, обработка событий и большая часть рендера. Для фронтенда это важно, потому что длинные задачи блокируют ввод, скролл и анимации, а значит напрямую бьют по INP и TBT. Практический вывод: оптимизировать нужно не только сеть и бандл, но и время, которое код удерживает main thread.
https://kciter.so/posts/the-expensive-main-thread/en/
Главный поток браузера часто становится узким местом не из-за алгоритмов, а из-за того, что на нём одновременно живут JavaScript, обработка событий и большая часть рендера. Для фронтенда это важно, потому что длинные задачи блокируют ввод, скролл и анимации, а значит напрямую бьют по INP и TBT. Практический вывод: оптимизировать нужно не только сеть и бандл, но и время, которое код удерживает main thread.
https://kciter.so/posts/the-expensive-main-thread/en/
👍6❤1🔥1
Codex для фронтенда и UI-автоматизации
Бесплатный курс по agentic frontend development с OpenAI Codex показывает, как быстрее собирать интерфейсы и меньше тонуть в ручных правках. Практическая польза в том, что Codex лучше работает не по голой задаче, а с контекстом проекта, plugins, skills, browser tools и хорошо оформленным Agents.md. Курс разбирает рабочий цикл build, inspect, steer, verify: задаёте цель, проверяете UI тестами, даёте итеративную обратную связь и направляете результат через App Shots и annotations.
https://master.dev/courses/codex/
Бесплатный курс по agentic frontend development с OpenAI Codex показывает, как быстрее собирать интерфейсы и меньше тонуть в ручных правках. Практическая польза в том, что Codex лучше работает не по голой задаче, а с контекстом проекта, plugins, skills, browser tools и хорошо оформленным Agents.md. Курс разбирает рабочий цикл build, inspect, steer, verify: задаёте цель, проверяете UI тестами, даёте итеративную обратную связь и направляете результат через App Shots и annotations.
https://master.dev/courses/codex/
🔥7❤4👍2👎1
Кастомный scrollbar почти без JavaScript
Современный CSS позволяет собрать кастомный scrollbar, который сам рассчитывает размер, положение и видимость ползунка через scroll-driven animations, anchor positioning и container queries, а JavaScript нужен только для drag-and-drop. Удобно, когда дизайн-система требует нестандартный скроллбар, а ручные вычисления через scroll и ResizeObserver дают лишние reflow и усложняют поддержку.
https://blog.master.dev/custom-scrollbar-component-in-2026/
Современный CSS позволяет собрать кастомный scrollbar, который сам рассчитывает размер, положение и видимость ползунка через scroll-driven animations, anchor positioning и container queries, а JavaScript нужен только для drag-and-drop. Удобно, когда дизайн-система требует нестандартный скроллбар, а ручные вычисления через scroll и ResizeObserver дают лишние reflow и усложняют поддержку.
https://blog.master.dev/custom-scrollbar-component-in-2026/
👍10❤🔥2🔥2❤1🤔1
Как связать HTML-атрибуты и CSS без классов
Container style queries и advanced attr() позволяют строить адаптивные компоненты, где HTML-атрибуты напрямую задают CSS-параметры, а дочерние элементы меняют вид по состоянию родителя без modifier-классов и прокидывания props.
https://utilitybend.com/blog/container-style-queries-and-advanced-attr-rethinking-how-to-wire-up-my-components-in-css
Container style queries и advanced attr() позволяют строить адаптивные компоненты, где HTML-атрибуты напрямую задают CSS-параметры, а дочерние элементы меняют вид по состоянию родителя без modifier-классов и прокидывания props.
https://utilitybend.com/blog/container-style-queries-and-advanced-attr-rethinking-how-to-wire-up-my-components-in-css
❤5👍1
Vitest 5 ускоряет тесты и отладку
Vitest 5 заметно ускоряет прогон тестов, особенно в больших изолированных suites, Browser Mode и vm pools, а еще добавляет Trace View для пошаговой отладки браузерных тестов и новый vi.when для удобной подмены модулей по условию.
https://vitest.dev/blog/vitest-5
Vitest 5 заметно ускоряет прогон тестов, особенно в больших изолированных suites, Browser Mode и vm pools, а еще добавляет Trace View для пошаговой отладки браузерных тестов и новый vi.when для удобной подмены модулей по условию.
https://vitest.dev/blog/vitest-5
🔥8❤1
10 AI-slop проверок во фронтенде
Набор проверок, которые помогают ловить ошибки в AI-сгенерированном фронтенд-коде раньше ревью: от контрактов OpenAPI и strict TypeScript до boundary-правил, mutation testing и детекторов мёртвого кода. Это снижает архитектурный дрейф, убирает лишние допущения и делает быстро растущий код дешевле в поддержке.
https://evilmartians.com/chronicles/ten-anti-ai-slop-moves-for-frontend-projects-going-faster-than-humans-can-review
Набор проверок, которые помогают ловить ошибки в AI-сгенерированном фронтенд-коде раньше ревью: от контрактов OpenAPI и strict TypeScript до boundary-правил, mutation testing и детекторов мёртвого кода. Это снижает архитектурный дрейф, убирает лишние допущения и делает быстро растущий код дешевле в поддержке.
https://evilmartians.com/chronicles/ten-anti-ai-slop-moves-for-frontend-projects-going-faster-than-humans-can-review
❤10🔥5😁5🎃1
Dropzone.js для загрузки файлов с превью
Dropzone.js упрощает drag and drop загрузку файлов в веб-приложении и сразу показывает превью изображений. Это полезно, когда нужен понятный пользовательский сценарий для загрузки без отдельной формы и лишенной трения валидации. Библиотека уже дает готовую основу, а поведение можно настраивать под свой интерфейс и требования к загрузке.
https://www.dropzone.dev/
Dropzone.js упрощает drag and drop загрузку файлов в веб-приложении и сразу показывает превью изображений. Это полезно, когда нужен понятный пользовательский сценарий для загрузки без отдельной формы и лишенной трения валидации. Библиотека уже дает готовую основу, а поведение можно настраивать под свой интерфейс и требования к загрузке.
https://www.dropzone.dev/
👍6❤2
initial-scale в viewport больше не нужен
Для современных браузеров достаточно <meta name="viewport" content="width=device-width">, а initial-scale=1.0 уже не решает актуальных проблем. Это убирает лишний байт в head и упрощает шаблон страницы без потери адаптивности.
https://vale.rocks/micros/20260902-1350
Для современных браузеров достаточно <meta name="viewport" content="width=device-width">, а initial-scale=1.0 уже не решает актуальных проблем. Это убирает лишний байт в head и упрощает шаблон страницы без потери адаптивности.
https://vale.rocks/micros/20260902-1350
👍11❤1
Anthropic запустила claude.dev — блог для разработчиков с кейсами
Это не просто документация, а живой практический блог инженерной команды компании. Документация по-прежнему живёт на code.claude.com/docs, а здесь публикуют подробные статьи, сценарии из реальной жизни, опыт команд и конкретные кейсы.
https://claude.dev
Это не просто документация, а живой практический блог инженерной команды компании. Документация по-прежнему живёт на code.claude.com/docs, а здесь публикуют подробные статьи, сценарии из реальной жизни, опыт команд и конкретные кейсы.
https://claude.dev
👍9❤1
CSS progress() для адаптивной логики и масштабирования
Новая фича CSS progress() переводит значение в диапазон от 0 до 1 и помогает строить адаптивные размеры, типографику и условные стили без ручных вычислений в JS. Она полезна там, где нужно сравнивать значение с порогом, а не только плавно интерполировать его.
https://blog.master.dev/comparing-values-with-css-progress/
Новая фича CSS progress() переводит значение в диапазон от 0 до 1 и помогает строить адаптивные размеры, типографику и условные стили без ручных вычислений в JS. Она полезна там, где нужно сравнивать значение с порогом, а не только плавно интерполировать его.
https://blog.master.dev/comparing-values-with-css-progress/
👍5❤2
Что нового в HTML к середине 2026
В HTML появляются новые элементы для permissions, установки приложений и Web Components, а ещё расширяется стилизация select и поддержка Declarative Shadow DOM. Это важно, потому что часть сценариев вроде геолокации, камеры, микрофона и установки PWA можно делать через более семантичные и доступные интерфейсы, а не только через разрозненные JS-API и браузерные меню.
https://blog.master.dev/new-things-you-should-know-about-html-here-in-mid-2026/
В HTML появляются новые элементы для permissions, установки приложений и Web Components, а ещё расширяется стилизация select и поддержка Declarative Shadow DOM. Это важно, потому что часть сценариев вроде геолокации, камеры, микрофона и установки PWA можно делать через более семантичные и доступные интерфейсы, а не только через разрозненные JS-API и браузерные меню.
https://blog.master.dev/new-things-you-should-know-about-html-here-in-mid-2026/
❤8
Анимированная сетка без JavaScript и View Transitions
CSS Anchor Positioning позволяет анимировать перестройку grid при изменении размера контейнера без JavaScript и без View Transitions: элементы плавно переезжают в новые позиции и при этом анимация остаётся прерываемой во время ресайза.
https://www.bram.us/2026/09/07/animating-css-grid-layouts-with-css-anchor-positioning/
CSS Anchor Positioning позволяет анимировать перестройку grid при изменении размера контейнера без JavaScript и без View Transitions: элементы плавно переезжают в новые позиции и при этом анимация остаётся прерываемой во время ресайза.
https://www.bram.us/2026/09/07/animating-css-grid-layouts-with-css-anchor-positioning/
🔥6❤3👍1
Forwarded from 🦜 on the web
This media is not supported in your browser
VIEW IN TELEGRAM
Сайт: появляется в интернете.
Веб-краулер: ну здравствуй.
Веб-краулер: ну здравствуй.
🔥18👻4👍1
Набор мини-библиотек для HTML, событий и fetch
Набор маленьких standalone-библиотек для веба: для усиленного HTML, inline-скриптинга и реактивности, streaming HTML и events, DOM patching и удобных fetch() wrapper'ов. Полезно, если нужен точечный инструмент вместо тяжёлого фреймворка: каждая часть подключается отдельным скриптом, а весь набор можно взять одним файлом или через npm.
https://fixiproject.org/
Набор маленьких standalone-библиотек для веба: для усиленного HTML, inline-скриптинга и реактивности, streaming HTML и events, DOM patching и удобных fetch() wrapper'ов. Полезно, если нужен точечный инструмент вместо тяжёлого фреймворка: каждая часть подключается отдельным скриптом, а весь набор можно взять одним файлом или через npm.
https://fixiproject.org/
🔥9❤1
Fetch возвращает ответ раньше тела
Fetch promise завершается после заголовков, а тело продолжает приходить по открытому соединению. Это влияет на чтение ответа, clone, abort и таймауты: если тело не дочитать, можно потерять reuse соединения и получить лишнюю нагрузку в Node и браузере.
https://blog.gaborkoos.com/posts/2026-09-08-Half-Past-Fetch/
Fetch promise завершается после заголовков, а тело продолжает приходить по открытому соединению. Это влияет на чтение ответа, clone, abort и таймауты: если тело не дочитать, можно потерять reuse соединения и получить лишнюю нагрузку в Node и браузере.
https://blog.gaborkoos.com/posts/2026-09-08-Half-Past-Fetch/
👍7❤🔥2⚡2❤1