Чёрная магия трансформов, или об оптимизации анимаций на CSS

Чёрная магия трансформов, или об оптимизации анимаций на CSS

Иногда Frontend-разработчики сталкиваются с тем, что для оптимизации производительности нужно написать волшебное свойство translateZ(0) или will-change. Анимации перестанут зависать, ничего не будет лагать и мир станет чуть ярче. ✨ Читать далее

Подробнее
OpenSource на завтрак

OpenSource на завтрак

Делиться своими идеями с сообществом - хорошо и правильно. Это позволяет развиваться, перенимать лучшие практики, исследовать новые инструменты, учиться оформлять свои решения. Но какой код стоит выносить в общий доступ? И как делать это на постоянной основе? Чтобы разобраться в этих вопросах я решил сделать свой Javascript OpenSource Boilerplate - маленькую, но максимально расширяемую библиотеку компонентов. Она называется handy-ones. Читать далее

Подробнее
[recovery mode] Кровь, пот и слезы: как я переделал навигацию на сайте документации и в чём профит переделки

[recovery mode] Кровь, пот и слезы: как я переделал навигацию на сайте документации и в чём профит переделки

Привет! Меня зовут Владимир, но вы можете звать меня просто Иннокентий Алексеевич. Я люблю эксперименты. Сегодня я расскажу, как можно улучшить навигационное меню на сайте документации, сократить время сборки и размер сайта больше чем в два раза. В качестве примера возьму сайт документации, собранный при помощи Antora. Кому будет полезен материал: техническим писателям, разработчикам сайтов документации и просто любителям опенсорса и красивых вещей. Antora — генератор…

Подробнее
Сага о SEO, часть 2: разметка

Сага о SEO, часть 2: разметка

В предыдущей части статьи мы разбирались, как обеспечить поисковым роботам доступ к HTML-коду страницы. С вами снова Александр Усков, я ведущий разработчик more.tv, и в этом посте мы поговорим о том, что именно представляет из себя этот код и что можно сделать, чтобы сделать его максимально «понятным» и содержательным и для поисковых систем, и для браузеров. Читать далее

Подробнее
[Перевод] Что нового можем делать с формами в 2022?

[Перевод] Что нового можем делать с формами в 2022?

Браузеры постоянно добавляют новые функции HTML, JavaScript и CSS. Вот несколько полезных дополнений к работе с формами, которые вы могли пропустить… Читать далее

Подробнее
Универсальная функция JS по определению хитбоксов у HTML блоков

Универсальная функция JS по определению хитбоксов у HTML блоков

HitBox — это чаще всего невидимая область или группа областей, которая помогает обнаруживать коснулся ли объект другого объекта, у которого тоже есть свой хитбокс. В HTML страницах изначально нет понятие хитбокса у блоков, поэтому в этом посте мы сами получим и обработаем их с помощью JS. Читать далее

Подробнее
Генератор коротких CSS классов и id

Генератор коротких CSS классов и id

Одним днем возникла необходимость добавить в проект генерацию коротких css классов и id элементов в html верстке. Основные причины были следующие: * Усложнить жизнь парсерам и блокировщикам рекламы (они зачастую на имена классов опираются). * Уменьшить размер html страниц * И чтобы все было как у Google, шутка 😄 Очевидно, что минификация классов и id полностью не защитит от парсеров, как говорится, лучшая защита от парсинга – удалить страницу из интернета. Но данный подход может…

Подробнее
On-Demand ISR в Next.js или как эффективно обновлять статический контент на сайте, поступающий из CMS или админки

On-Demand ISR в Next.js или как эффективно обновлять статический контент на сайте, поступающий из CMS или админки

В этой статье я расскажу, как и для чего, на одном из своих проектов, мы прикрутили новую возможность Next.js – On-Demand ISR (инкрементная статическая регенерация по запросу). Читать далее

Подробнее
ESM. Выходим за рамки

ESM. Выходим за рамки

Итак, работая над... ну не знаю... каким-нибудь замечательным генератором статики, вы, возможно, захотите импортировать в свой код зависимости напрямую из текстовых файлов, таких как: HTML, MD, CSS, SVG или JSON. Конечно, можно использовать бандлер с соответствующим лоадером. Но, допустим, ваш кодекс самурая велит вам - никаких лишних npm install xxx и промежуточных билдов! Только хардкор! Что делать? Выход есть. Читать далее

Подробнее
Сага о SEO, часть 1: серверный рендеринг

Сага о SEO, часть 1: серверный рендеринг

Наверняка хотя бы раз в жизни вы или ваши знакомые в поисках приятного досуга на вечер обращались к Яндексу или Гуглу с запросами вроде “кино онлайн бесплатно” или “смотреть сериалы 2021”. Если так, не стоит стесняться, вы такой не один, с подобными запросами в Яндекс, например, обращаются несколько миллионов человек в месяц. При этом, скорее всего, как и большинство пользователей с таким запросом, вы не имеете преференций относительно того, где вам этот контент покажут, и перебираете ссылки

Подробнее
[Перевод] Как работают браузеры. Часть 2: парсинг и выполнение JS

[Перевод] Как работают браузеры. Часть 2: парсинг и выполнение JS

Примечание переводчиков: статья предназначена для начинающих разработчиков и интересующихся разработкой. Здесь нет глубоких технических деталей, хотя, возможно, вы найдете что-то новое для себя. В прошлой статье мы обсудили навигацию и получение данных. Сегодня поговорим о HTML- и CSS-парсинге и выполнении JavaScript. Содержание: 1. HTML-парсинг: — Парсинг — Браузерные движки — Токенизация — Построение DOM — Предварительные загрузчики и ускорение страницы 2. CSS-парсинг: — Токенизация и…

Подробнее
[Перевод] Знакомство с тестированием веб-приложений

[Перевод] Знакомство с тестированием веб-приложений

Даже в случае самой базовой конфигурации по мере добавления новых страниц и функциональности тестировать веб-приложение становится все сложнее. И чтобы помочь начинающим в этом нелегком деле, я написал небольшое вводное руководство. Читать дальше →

Подробнее