Как определить пересечение элементов только на CSS
CSS теперь позволяет отследить момент, когда декоративный элемент начинает пересекаться с контентом, и скрыть его без JavaScript. Для этого используются anchor positioning, scroll-driven animations и style container queries, а срабатывание завязано не на скролл, а на появление overflow в измеряющем элементе.
https://ishadeed.com/article/css-detect-overlap/
CSS теперь позволяет отследить момент, когда декоративный элемент начинает пересекаться с контентом, и скрыть его без JavaScript. Для этого используются anchor positioning, scroll-driven animations и style container queries, а срабатывание завязано не на скролл, а на появление overflow в измеряющем элементе.
https://ishadeed.com/article/css-detect-overlap/
❤🔥7
🏁Тестовый собес на Frontend с разработчиком из R-Vision, ex-Сбер
15 октября в 19:00 (мск) приходи посмотреть открытое онлайн-собеседование на Frontend-разработчика
Интервьюер: Даниил Дмитриев – Frontend-разработчик в R-Vision, ex-Сбер. Пишет на React и TypeScript, совмещает роль тимлида, менторит разработчиков и проводит код-ревью
На эфире нет сценария ↓
Кандидат – случайный разработчик, который не знает вопросов заранее
На обычном собесе ты не знаешь, что думает интервьюер, пока не придёт фидбек. На этом эфире Даниил проговорит всё вслух:
А в конце ответит на твои вопросы
Эфир проходит в рамках менторской программы от ШОРТКАТ для разработчиков, которые хотят повысить грейд, ЗП и прокачать скиллы
Участие бесплатное 🔥
Зарегаться на эфир можно в боте → @shortcut_front_bot
Реклама.
О рекламодателе.
15 октября в 19:00 (мск) приходи посмотреть открытое онлайн-собеседование на Frontend-разработчика
Интервьюер: Даниил Дмитриев – Frontend-разработчик в R-Vision, ex-Сбер. Пишет на React и TypeScript, совмещает роль тимлида, менторит разработчиков и проводит код-ревью
На эфире нет сценария ↓
Кандидат – случайный разработчик, который не знает вопросов заранее
На обычном собесе ты не знаешь, что думает интервьюер, пока не придёт фидбек. На этом эфире Даниил проговорит всё вслух:
— какие вопросы и задачи даёт кандидатам на Frontend-собесах
— что в каждом ответе засчитал бы, а что нет — и почему
А в конце ответит на твои вопросы
Эфир проходит в рамках менторской программы от ШОРТКАТ для разработчиков, которые хотят повысить грейд, ЗП и прокачать скиллы
Участие бесплатное 🔥
Зарегаться на эфир можно в боте → @shortcut_front_bot
Реклама.
О рекламодателе.
👍3👎3🔥2🤣1
Как называть UI-компоненты, токены и фичи без путаницы
Подборка практических подходов и инструментов для нейминга в интерфейсах: от HTML-классов и функций до design tokens, компонентов, цветов и новых фич. Это помогает сократить путаницу в команде, сделать систему именования более устойчивой и быстрее находить нужные сущности в коде и дизайн-системе.
https://smashingmagazine.com/2026/10/how-name-things/
Подборка практических подходов и инструментов для нейминга в интерфейсах: от HTML-классов и функций до design tokens, компонентов, цветов и новых фич. Это помогает сократить путаницу в команде, сделать систему именования более устойчивой и быстрее находить нужные сущности в коде и дизайн-системе.
https://smashingmagazine.com/2026/10/how-name-things/
🔥12❤2❤🔥1
Mermaid 12.0: новый движок раскладки и UML use case диаграммы
Mermaid 12.0 по умолчанию перешёл на движок ELK для flowchart, class, state и похожих диаграмм, поэтому уже существующие схемы могут выглядеть иначе, если не указать layout: dagre. Ещё в версии появились UML use case диаграммы, что расширяет набор схем для документации и проектирования интерфейсов и систем.
Готово к работе бесплатно в Extrella
https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4012.0.0
Mermaid 12.0 по умолчанию перешёл на движок ELK для flowchart, class, state и похожих диаграмм, поэтому уже существующие схемы могут выглядеть иначе, если не указать layout: dagre. Ещё в версии появились UML use case диаграммы, что расширяет набор схем для документации и проектирования интерфейсов и систем.
Готово к работе бесплатно в Extrella
https://github.com/mermaid-js/mermaid/releases/tag/mermaid%4012.0.0
👍7❤2
Как GitHub ускорил сайт, переведя стили с CSS-in-JS на CSS Modules
GitHub перевёл Primer и затем большую часть интерфейса с CSS-in-JS на CSS Modules, чтобы убрать клиентские и серверные накладные расходы на стили и ускорить рендеринг страниц.
https://github.blog/engineering/architecture-optimization/improving-site-performance-by-shipping-more-css/
GitHub перевёл Primer и затем большую часть интерфейса с CSS-in-JS на CSS Modules, чтобы убрать клиентские и серверные накладные расходы на стили и ускорить рендеринг страниц.
https://github.blog/engineering/architecture-optimization/improving-site-performance-by-shipping-more-css/
⚡14❤🔥5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
5 офферов получили наши ребята на прошлой неделе
Оффер на 4,2k долларов
Оффер на 5k евро
Оффер 260k рублей
Оффер на 210k рублей
Оффер на 220k рублей
И еще 19 за сентябрь... а за лето более 50... и у тебя получится!
Я веду канал, в котором уже 15 тыс разработчиков. Регулярно публикую полезные материалы по подготовке к собесам. А еще каждый четверг у нас проходят полезные стримы с решениями задач и разборами резюме)
Забирайте в закрепленном сообщении
Полные разборы реальных собеседований: Сбер, VK, OZON, M-Video, Evrone, еще раз OZON, IT One, Trading View, МТС, Лантан, ДОМ.РФ
Сборники вопросов по темам:
Кибербезопасность на собеседовании
Все вопросы по React на собеседовании
Все вопросы по TypeScript на собеседовании
Как решать задачи двумя указателями
Вопросы с Vue собеседований
Вопросы по сетям и методологиям с 200 собесов
Вопросы по JS с 200 собесов
Какие задачи спрашивают на livecoding чаще
Полезные посты:
Job-борды для поиска работы
Запись нашего самого кринжового собеса
Новый HTTP метод QUERY
🏆Статистика по рынку:
Июль, Июнь, Май, Апрель, Март
Подписывайся 👇
frontend_punks
Реклама, erid: 2W5zFHUNGNm ИП Галактионов Тихон Витальевич, ИНН 771618975809
Оффер на 4,2k долларов
Оффер на 5k евро
Оффер 260k рублей
Оффер на 210k рублей
Оффер на 220k рублей
И еще 19 за сентябрь... а за лето более 50... и у тебя получится!
👋 Меня зовут Тихон, я действующий Frontend-разработчик и ментор. За руку довожу до оффера в Big Tech и не бросаю на испытательном сроке. Вокруг меня собралось целое комьюнити из почти 300 фронтендеров.
Я веду канал, в котором уже 15 тыс разработчиков. Регулярно публикую полезные материалы по подготовке к собесам. А еще каждый четверг у нас проходят полезные стримы с решениями задач и разборами резюме)
Забирайте в закрепленном сообщении
Полные разборы реальных собеседований: Сбер, VK, OZON, M-Video, Evrone, еще раз OZON, IT One, Trading View, МТС, Лантан, ДОМ.РФ
Сборники вопросов по темам:
Кибербезопасность на собеседовании
Все вопросы по React на собеседовании
Все вопросы по TypeScript на собеседовании
Как решать задачи двумя указателями
Вопросы с Vue собеседований
Вопросы по сетям и методологиям с 200 собесов
Вопросы по JS с 200 собесов
Какие задачи спрашивают на livecoding чаще
Полезные посты:
Job-борды для поиска работы
Запись нашего самого кринжового собеса
Новый HTTP метод QUERY
🏆Статистика по рынку:
Июль, Июнь, Май, Апрель, Март
Подписывайся 👇
frontend_punks
Реклама, erid: 2W5zFHUNGNm ИП Галактионов Тихон Витальевич, ИНН 771618975809
👎13🤡10👍4🤣1
Как ускорить страницу с демо-видео: сжатие, главы и отложенный автоплей
Демо-видео на первом экране можно сделать заметно легче, если отдельно оптимизировать сам ролик, постер и момент запуска. Такой подход позволяет показать несколько сценариев продукта сразу, не заставляя пользователя смотреть длинное видео целиком и не раздувая стартовую загрузку страницы.
https://habr.com/ru/articles/1090594/
Демо-видео на первом экране можно сделать заметно легче, если отдельно оптимизировать сам ролик, постер и момент запуска. Такой подход позволяет показать несколько сценариев продукта сразу, не заставляя пользователя смотреть длинное видео целиком и не раздувая стартовую загрузку страницы.
https://habr.com/ru/articles/1090594/
❤5👍3
Size Limit: инструмент для контроля бюджета производительности JavaScript
Size Limit позволяет задать лимит на размер бандла или время загрузки кода и автоматически завалить CI или пометить PR, если изменения выходят за бюджет. Подходит для разовых проверок, показывает, куда уходят байты, и не привязан ни к фреймворку, ни к конкретному сборщику или CI.
https://github.com/ai/size-limit
Size Limit позволяет задать лимит на размер бандла или время загрузки кода и автоматически завалить CI или пометить PR, если изменения выходят за бюджет. Подходит для разовых проверок, показывает, куда уходят байты, и не привязан ни к фреймворку, ни к конкретному сборщику или CI.
https://github.com/ai/size-limit
❤12👍6🤣2
Next.js 16.4: lazy compilation, меньше Turbopack и новые возможности React 19.3
В Next.js 16.4 добавили lazy compilation, уменьшили размер сборки Turbopack, подтянули возможности React 19.3 и доработали Cache Components и инструменты для разработки. Это ускоряет старт и сборку проекта, а также делает работу с кэшем и отладкой удобнее в повседневной разработке.
https://nextjs.org/blog/next-16-4
В Next.js 16.4 добавили lazy compilation, уменьшили размер сборки Turbopack, подтянули возможности React 19.3 и доработали Cache Components и инструменты для разработки. Это ускоряет старт и сборку проекта, а также делает работу с кэшем и отладкой удобнее в повседневной разработке.
https://nextjs.org/blog/next-16-4
🔥7❤2
Vite+ 1.0: единая CLI для runtime, package manager и frontend toolchain
Vite+ 1.0 объединяет Node.js runtime, package manager и frontend toolchain в одной CLI. Это сокращает количество разрозненных конфигов, команд и обновлений, а в проектах с несколькими репозиториями и монорепами упрощает поддержку, миграции и CI.
https://voidzero.dev/posts/announcing-vite-plus-1-0
Vite+ 1.0 объединяет Node.js runtime, package manager и frontend toolchain в одной CLI. Это сокращает количество разрозненных конфигов, команд и обновлений, а в проектах с несколькими репозиториями и монорепами упрощает поддержку, миграции и CI.
https://voidzero.dev/posts/announcing-vite-plus-1-0
👍13🥰3😍3
Проект от подписчика для тех, кто пилит свой сервис
Вот бы! — площадка, на которой можно бесплатно прорекламироваться и получить обратную связь от потенциальных пользователей.
Люди могут не только оставить комментарий или лайк, но и отметить, готовы ли пользоваться, платить, присоединиться или инвестировать в проект.
А если своей идеи пока нет, можно посмотреть, чего не хватает другим, и найти что-то интересное для себя.
https://votby.ru/
Вот бы! — площадка, на которой можно бесплатно прорекламироваться и получить обратную связь от потенциальных пользователей.
Люди могут не только оставить комментарий или лайк, но и отметить, готовы ли пользоваться, платить, присоединиться или инвестировать в проект.
А если своей идеи пока нет, можно посмотреть, чего не хватает другим, и найти что-то интересное для себя.
https://votby.ru/
👍9
Forwarded from Vibe and AI
Media is too big
VIEW IN TELEGRAM
Chromium прямо в терминале
Carbonyl запускает Chromium в терминале и открывает обычные сайты без окна браузера, даже по SSH.
Для старта есть Docker
или установка через
после чего запускается
https://github.com/fathyb/carbonyl
Carbonyl запускает Chromium в терминале и открывает обычные сайты без окна браузера, даже по SSH.
Для старта есть Docker
docker run --rm -ti fathyb/carbonyl https://youtube.com или установка через
npm install --global carbonylпосле чего запускается
carbonyl https://github.com.https://github.com/fathyb/carbonyl
🤯5🌚4🔥3⚡1😁1
Плавная типографика в CSS: что выбрать вместо брейкпоинтов
Плавную типографику в CSS удобнее собирать через clamp() и viewport units: размер шрифта можно задать одной формулой без переключения на фиксированные значения по брейкпоинтам. Для доступности лучше не полагаться только на vw, а добавлять фиксированную величину, чтобы масштабирование страницы не ломало ожидаемое поведение.
Использовать container queries для размера текста стоит осторожно: если шрифт зависит от ширины контейнера, одинаковые заголовки в разных блоках начинают выглядеть как разные уровни иерархии.
https://blog.damato.design/posts/fluid-typography/
Плавную типографику в CSS удобнее собирать через clamp() и viewport units: размер шрифта можно задать одной формулой без переключения на фиксированные значения по брейкпоинтам. Для доступности лучше не полагаться только на vw, а добавлять фиксированную величину, чтобы масштабирование страницы не ломало ожидаемое поведение.
Использовать container queries для размера текста стоит осторожно: если шрифт зависит от ширины контейнера, одинаковые заголовки в разных блоках начинают выглядеть как разные уровни иерархии.
https://blog.damato.design/posts/fluid-typography/
🔥7🐳2❤1
Как ускорили веб-приложение Claude
Разбор того, как в веб-приложении Claude сократили время до первого ввода у 75-го перцентиля с 3,1 до 0,55 секунды. Для этого нашли несколько скрытых тормозов: мелкие сдвиги верстки, которые не попадали в CLS, дорогой селектор :root:has(), добавлявший 24 мс на каждое изменение DOM, и проблему с предрендерингом Chrome, который строил страницу с неверной высотой.
Полезно как пример того, где реально прячутся задержки в интерфейсе и как их искать, если базовые метрики уже выглядят нормально.
https://claude.dev/blog/how-we-made-claude-ai-faster/
Разбор того, как в веб-приложении Claude сократили время до первого ввода у 75-го перцентиля с 3,1 до 0,55 секунды. Для этого нашли несколько скрытых тормозов: мелкие сдвиги верстки, которые не попадали в CLS, дорогой селектор :root:has(), добавлявший 24 мс на каждое изменение DOM, и проблему с предрендерингом Chrome, который строил страницу с неверной высотой.
Полезно как пример того, где реально прячутся задержки в интерфейсе и как их искать, если базовые метрики уже выглядят нормально.
https://claude.dev/blog/how-we-made-claude-ai-faster/
⚡6👌2❤1
React Forms и React.memo: что на самом деле перерисовывается
Формы в React помогают понять, где живут данные и почему компонент рендерится снова. Контролируемые поля удобны, когда значение влияет на интерфейс прямо во время ввода, а uncontrolled-подход и FormData подходят, когда нужен только итоговый результат. Это напрямую связано с оптимизацией через React.memo: чтобы не ререндерить лишнее, важно понимать, какие изменения действительно затрагивают компонент.
https://reactdevelopment.substack.com/p/react-forms-and-reactmemo-understanding
Формы в React помогают понять, где живут данные и почему компонент рендерится снова. Контролируемые поля удобны, когда значение влияет на интерфейс прямо во время ввода, а uncontrolled-подход и FormData подходят, когда нужен только итоговый результат. Это напрямую связано с оптимизацией через React.memo: чтобы не ререндерить лишнее, важно понимать, какие изменения действительно затрагивают компонент.
https://reactdevelopment.substack.com/p/react-forms-and-reactmemo-understanding
❤9👍3
Шпаргалка по интерфейсам: мелочи, которые делают UI заметно лучше
Подборка практических правил для более понятных, удобных и аккуратных интерфейсов. Она помогает выровнять отступы, анимации, типографику, цвета и доступность так, чтобы UI выглядел цельно и не раздражал пользователя.
Для фронтендера это готовый набор решений, которые можно сразу переносить в компоненты и дизайн-систему.
https://interfaces.dev/cheat-sheet
Подборка практических правил для более понятных, удобных и аккуратных интерфейсов. Она помогает выровнять отступы, анимации, типографику, цвета и доступность так, чтобы UI выглядел цельно и не раздражал пользователя.
Для фронтендера это готовый набор решений, которые можно сразу переносить в компоненты и дизайн-систему.
https://interfaces.dev/cheat-sheet
⚡6❤6
Самый дорогой способ проверить идею — полгода её разрабатывать
Сначала проверьте спрос. Так сделали эти ребята:
— Юра выбрал нишу, которую все считают скучной, но там уже платят. Начал с $100 в месяц, через год вышел примерно на $10K.
— Денис один собрал AI-игру в Telegram. За первые полтора месяца ~$1 500.
— Аня не пишет код, но запустила AI-бота для английского. Первые ~$200 пришли в первый же месяц.
Масштабы разные, схема одна:
1. Найти, за что люди уже платят.
2. Быстро собрать MVP.
3. Проверить спрос на живых пользователях.
4. Только потом докручивать продукт.
Это не рецепт «как точно сделать $10K». Гарантий вообще нет.
Но так вы узнаете ответ за недели, а не за год.
В @its_capitan разбирают такие запуски по шагам: что сделали, сколько получили, где облажались.
Подписывайтесь, чтобы запускать продукты, которые нужны пользователям, а не пилить в стол.
Реклама: ИП Зуев Игорь Владимирович, ИНН: 360408359441, Erid: 2Vtzqw8XNmT
Сначала проверьте спрос. Так сделали эти ребята:
— Юра выбрал нишу, которую все считают скучной, но там уже платят. Начал с $100 в месяц, через год вышел примерно на $10K.
— Денис один собрал AI-игру в Telegram. За первые полтора месяца ~$1 500.
— Аня не пишет код, но запустила AI-бота для английского. Первые ~$200 пришли в первый же месяц.
Масштабы разные, схема одна:
1. Найти, за что люди уже платят.
2. Быстро собрать MVP.
3. Проверить спрос на живых пользователях.
4. Только потом докручивать продукт.
Это не рецепт «как точно сделать $10K». Гарантий вообще нет.
Но так вы узнаете ответ за недели, а не за год.
В @its_capitan разбирают такие запуски по шагам: что сделали, сколько получили, где облажались.
Подписывайтесь, чтобы запускать продукты, которые нужны пользователям, а не пилить в стол.
Реклама: ИП Зуев Игорь Владимирович, ИНН: 360408359441, Erid: 2Vtzqw8XNmT
💩4❤3
Next.js 16.4: Cache Components стали рекомендуемым способом разработки
Next.js 16.4 закрепляет Cache Components как основную модель для App Router: она помогает быстрее загружать персонализированные страницы, делать клиентские переходы почти мгновенными и управлять кешированием явно, на уровне компонентов. Для новых проектов это уже включено по умолчанию, а для старых добавили инструменты миграции и проверки статичности маршрутов, чтобы не тащить лишний динамический рендер туда, где он не нужен.
https://habr.com/ru/articles/1091748/
Next.js 16.4 закрепляет Cache Components как основную модель для App Router: она помогает быстрее загружать персонализированные страницы, делать клиентские переходы почти мгновенными и управлять кешированием явно, на уровне компонентов. Для новых проектов это уже включено по умолчанию, а для старых добавили инструменты миграции и проверки статичности маршрутов, чтобы не тащить лишний динамический рендер туда, где он не нужен.
https://habr.com/ru/articles/1091748/
❤4👍4👎1💩1
WebMCP как слой для агентного веба
Суть
WebMCP — это не способ дать AI-агентам сканировать сайт как человек через DOM, скриншоты и клики, а вызывать прямые JS-инструменты, которые сам сайт явно публикует. Проблема, которую он решает, проста: браузерная автоматизация для агентов медленная, хрупкая и дорогая, а web-интерфейс при этом должен оставаться управляемым и для пользователя, и для разработчика.
Как это работает
Сайт регистрирует tools с явной
Почему это лучше автоматизации браузера
Идея в том, что агент не должен играть в человека, тыкаясь по интерфейсу вслепую. По замерам
Почему это важно для веба
Здесь ключевая ставка на co-browsing: агент работает рядом с браузерной сессией, а не вместо нее. Это единая модель, где пользователь сохраняет контроль, может вмешаться в любой момент, а сайт не превращается в черный ящик для отдельного агента. Для коммерции это особенно заметно: агент может помочь подобрать товар по сложным критериям, собрать проект или провести пользователя через многошаговую задачу без того, чтобы он наблюдал все промежуточные шаги.
Ограничения и риски
У подхода много открытых вопросов: кто вообще может регистрировать tools, какие агенты поддерживать, как тестировать поведение на реальных агентах, как защищаться от malicious tools. Для контроля доступа обсуждается
Что не решает HTML semantics
Есть идея сделать все декларативно через формы и семантику, но этого недостаточно для сложных сценариев. Декларативный подход хорош для одношаговых действий, но не покрывает многошаговые задачи, где инструмент возвращает промежуточный контекст для следующего шага агента. Если пытаться всё свести к HTML, часто получится хуже UX: агенту придется вести пользователя через лишние промежуточные экраны и формы, хотя ему нужен только итог.
WebMCP стоит рассматривать там, где сайт хочет быть удобным для AI-агентов без потери контроля над UX: e-commerce, подбор товаров, FAQ, сложные сценарии с несколькими шагами. Но внедрять его нужно аккуратно: продумать permissions, security, сигналы доверия, тестирование на реальных агентах и не полагаться только на декларативные формы. Идея сильная именно как слой над вебом, а не как замена обычному интерфейсу.
https://blog.yoav.ws/posts/why_webmcp_matters/
Суть
WebMCP — это не способ дать AI-агентам сканировать сайт как человек через DOM, скриншоты и клики, а вызывать прямые JS-инструменты, которые сам сайт явно публикует. Проблема, которую он решает, проста: браузерная автоматизация для агентов медленная, хрупкая и дорогая, а web-интерфейс при этом должен оставаться управляемым и для пользователя, и для разработчика.
Как это работает
Сайт регистрирует tools с явной
input-схемой, скоро — и с output-схемой, плюс с описанием, что именно делает инструмент и когда его вызывать. Агент получает не абстрактную страницу, а набор операций вроде «найди подходящий товар», «проверь детали заказа», «заполни шаг формы». Важный момент: это не замена UI, а более быстрый путь к тем же действиям, когда задача уже понятна.Почему это лучше автоматизации браузера
Идея в том, что агент не должен играть в человека, тыкаясь по интерфейсу вслепую. По замерам
nekuda.ai, WebMCP оказался в 2.5-7.5x быстрее и до 47x дешевле, чем другие direct interaction подходы. У Shopify Checkout эксперимент дал 2.7x ускорение, 58% экономии и 60/60 успешных попыток против 56/60 у browser automation. То есть выигрыш не только в скорости, но и в надежности.Почему это важно для веба
Здесь ключевая ставка на co-browsing: агент работает рядом с браузерной сессией, а не вместо нее. Это единая модель, где пользователь сохраняет контроль, может вмешаться в любой момент, а сайт не превращается в черный ящик для отдельного агента. Для коммерции это особенно заметно: агент может помочь подобрать товар по сложным критериям, собрать проект или провести пользователя через многошаговую задачу без того, чтобы он наблюдал все промежуточные шаги.
Ограничения и риски
У подхода много открытых вопросов: кто вообще может регистрировать tools, какие агенты поддерживать, как тестировать поведение на реальных агентах, как защищаться от malicious tools. Для контроля доступа обсуждается
Permissions Policy, чтобы сайт сам решал, каким iframe разрешать регистрацию tools. Отдельная боль — сигнал для сервера, что перед ним человек или trusted agent: без него сайты могут ошибочно принять агентный трафик за бота и заблокировать его.Что не решает HTML semantics
Есть идея сделать все декларативно через формы и семантику, но этого недостаточно для сложных сценариев. Декларативный подход хорош для одношаговых действий, но не покрывает многошаговые задачи, где инструмент возвращает промежуточный контекст для следующего шага агента. Если пытаться всё свести к HTML, часто получится хуже UX: агенту придется вести пользователя через лишние промежуточные экраны и формы, хотя ему нужен только итог.
WebMCP стоит рассматривать там, где сайт хочет быть удобным для AI-агентов без потери контроля над UX: e-commerce, подбор товаров, FAQ, сложные сценарии с несколькими шагами. Но внедрять его нужно аккуратно: продумать permissions, security, сигналы доверия, тестирование на реальных агентах и не полагаться только на декларативные формы. Идея сильная именно как слой над вебом, а не как замена обычному интерфейсу.
https://blog.yoav.ws/posts/why_webmcp_matters/
blog.yoav.ws
Why WebMCP matters
Why am I investing time and effort into WebMCP?
❤4❤🔥2👍1
DOCX 9.8: генерация Word .docx файлов из JavaScript
Библиотека для создания .docx документов прямо из JavaScript. В версии 9.8 добавили поддержку диаграмм, фигур, водяных знаков и расширили работу с математическими формулами. Это полезно, когда нужно собирать Word-файлы на лету без ручной верстки в редакторе.
https://github.com/dolanmiu/docx/releases/tag/9.8.0
Библиотека для создания .docx документов прямо из JavaScript. В версии 9.8 добавили поддержку диаграмм, фигур, водяных знаков и расширили работу с математическими формулами. Это полезно, когда нужно собирать Word-файлы на лету без ручной верстки в редакторе.
https://github.com/dolanmiu/docx/releases/tag/9.8.0
👍8❤1🥰1