# Initial Post

Oddsquat — мой маленький личный фэнзин про эксперименты, код и прочий киберпанк. Обычно такие сайты называются блогами, но в слове «фэнзин» есть приятный отголосок панк-культуры и её неотъемлемой DIY-составляющей.

Основные причины, побудившие меня на создание своего уютного куска интернета:

- Хочется писать буквы, а возвращаться в ЖЖ не хочется.
- Фронтендер без портфолио — подозрительный фронтендер.
- Современный веб — памятник оверинженирингу. Лендинг с двумя абзацами текста, тремя картинками и мегабайтным бандлом из модных библиотек — одновременно безумие и норма в текущих реалиях. Мне больно на это смотреть, поэтому пришлось строить себе персональный оазис.

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

## Название

Я вырос в девяностые, поэтому квикимобиль, бэтпещера и пузиблинчики для меня не пустой звук, а образец системы нейминга. Вот, например, у меня есть oddkb.

Свою квартиру с момента заселения я называю oddsquat (даже локация в Foursquare была), так пусть теперь и мой форпост в сети называется так же.

Назвал сайт в честь SSID домашнего Wi-Fi, потому что не смог придумать более достойного названия :)

## Платформа

Для статического сайта не нужен серверный код, поэтому WordPress и прочие CMS в качестве платформы я даже не рассматривал.

Про генераторы статических сайтов раньше слышал, но подробно не изучал. Их оказалось так много (тут есть длинный список), что даже страшно.

Посмотрев на самые популярные решения, я понял, что как-то неправильно понимаю значение термина «генератор статических сайтов», потому что все хором предлагают мне сгенерировать Progressive Web Application из React-компонентов с импортом данных из GraphQL-сервера вместо россыпи HTML-документов.

Уверен, что уютный бложик — это точно не Web Application, а от Progressive в данном случае всем будет только хуже: искусственные трудности с роутингом, серверным рендерингом и сохранением позиции скрола успешно решены, когда каждая страница — это отдельный документ. Браузеры восхитительно умеют работать с HTML-документами!

После непродолжительных поисков был найден Nanogen, который делает именно то, что нужно, и не похож на космический корабль:

- Умеет Markdown и HTML (ejs);
- Имеет очень гибкую систему шаблонов;
- Не выходит за рамки стека Node.js.

Да, в репозитории проекта давно не было коммитов, но хочется думать, что это по причине надёжности и закончености :)

## Типографика

Я люблю текст и не умею в дизайн. Oddsquat — проект про буквы, значит, буквы должны быть красивыми и удобными.

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

Очередное погружение системных знаний опять не принесло, зато принесло удобный инструмент: Typography.js.

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

Авторы настолько заботливые, что даже подключают `normalize.css` при генерации своих стилей, снимая с вас ещё одну головную боль. Благодаря им весь мой дополнительный css для стилизации сайта уложился в сто строк кода и хорошо работает в любых браузерах и на любых экранах.

Со шрифтами всё просто:

- Open Sans для текста и Open Sans Condensed для заголовков, потому что мне нравится слово «Open»;
- Fira Code для кода, потому что лигатуры (`-->`, `!==`) — это красиво.

## Аналитика

Я долго думал, можно ли собирать аналитику просмотров, или нужно играть в идеальный веб до конца и полностью отказаться от слежки за пользователями. С одной стороны высокая идея, с другой — любопытство.

После непродолжительного исследования пришёл к выводу, что Метрика и Аналитика от поисковых гигантов мне точно не подходят, а вот автор GoatCounter полностью понимает мою боль.

Why I made GoatCounter — отличный пост, где создатель сервиса ответил на все вопросы, которые у меня к нему возникли. Вот, например, замечательный абзац про причины бесплатности начального тарифа:

> I think it’s important to make the barrier of entry for software like this low as feasible to make actual meaningful inroads to “de-Google-fi” the internet a bit, and make pervasive tracking less common. Making it freely available (for personal use) is part of that.

## Содержание

Самое главное. С формой и техническими вопросами всё ясно, но что же я буду складывать внутрь? Пока план такой:

- Я довольно часто изучаю штуки из разных областей и хочу описывать эти опыты. Вот, например, описал создание легковесного сайта.
- Мне нравится настраивать инструменты и рассказывать об этом.
- Есть несколько почтовых рассылок, которые я очень хочу начать переводить, чтобы начать читать.

Признаюсь, что был очарован сайтом от ребят из команды Hundred Rabbits и захотел такое же, только своё.

Stay tuned!