Приложение Маяки Эстонии
26 Марта

Отчёт о проделанной работе

Подобные отчёты я писал тут не раз и всегда они касались программирования. В этот раз не совсем так. Начну с того, что я закончил штудировать книгу Яана Вали. Я дополнил информацией из неё все, без исключения, свои заметки по маякам. Также добавил ещё больше старых фотографий и изображений (теперь их 84). Совершенно точно могу сказать, что мой сайт на сегодняшний момент является самым полным справочником по эстонским маякам.

Теперь программирование. Появилась простая и гениальная идея - автоматически добавить таблички с краткими данными маяка в публикацию с его историей. Технически оказалось несложно. Сделал, начал проверять и.., оказывается, я совсем забыл, что у меня есть посты, в которых рассказывается сразу про 3-4 объекта. Дальше я пробовал разные варианты, но ситуация только усугублялась. Пробовал делать одну большую табличку со всеми нужными маяками, но при наличии широких картинок вёрстка неконтролируемо ползла. Пробовал по-разному комбинировать несколько одиночных табличек, но тоже ничего хорошего не получалось. Дополнительной проблемой стал порядок, в котором выводились маяки и который никогда не совпадал с тем порядком, который был в тексте. В конечном итоге, остановился на логике шаблонизаторов: в текст публикаций в нужных местах вставил код, который при рендеринге заменялся на табличку с данными. Это убило автоматизацию, но дало хороший результат. К сожалению, на практике вылез ещё один нюанс: даже если есть полный контроль над тем, куда будут вставляться таблички, есть публикации с большим количеством маяков и малым количеством текста, где вёрстка один хер ползёт. Принял решение в таких редких случаях не ставить некоторые таблички. Пока на этом варианте и остановился.

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

Ну а на следующей неделе уже будут новые маяки. Не один.

22 Ноября

Рефакторю опять и снова. На этот раз больше частью в бэкенде, хотя и вёрстке досталось. Обновился PageSpeed Insights и жизнь пошла прахом. Много чего пробовал, много чего менял, останавливался на каком-то варианте, через два дня понимал, что это "не то пальто", снова переделывал. Что по итогу? "Попугаев" стало не намного больше, но зато обновил PHP до версии 7,2 (была 5,2) и попутно несколько скриптов. Сегодня вообще добавил убер-фичу - сжатие картинок при добавлении постов или фоток в галерею (для галереи сжимается только превьюшка). Сделано это через TinyPNG PHP API.

Много времени ушло и на белые иероглифы сверху. На прошлой неделе заменил картинку на шрифт, а на этой неделе убрал параллакс (подустал от него).

6 Ноября

... И ещё один момент на сайте не давал мне покоя. Я более-менее регулярно добавляю свои фото-проступки в галерею, но для рядового посетителя это остаётся незамеченным. Задумался о том, что надо бы сделать какую-то возможность экспорта обновлений галереи в ленту публикаций. Автоматическая публикация каждой новой фотки точно не пойдёт, надо это сделать как-то сгруппировано и контролируемо. Отметил фотографии в админпанели, нажал кнопку и вжух! Чтобы не было повторений, надо по-разному маркировать уже опубликованные и неопубликованные фото. Так и сделал.

Второй момент - в каком именно виде сохранять эти обновления. Идею некого отдельного типа постов, привязанного к галерее и хранящегося в отдельной таблице я быстро отверг, хотя плюсы у неё тоже есть. В итоге, у меня генерируется текст обычного поста и добавляется как обычный пост. Удобно, мать его! Как это работает, видно ниже.

2 Ноября

Refactoring friday

Ничто не предвещало... Два последних дня я плотно занимался страницей маяков. Она практически готова, планирую официально запускать на следующей неделе. Помимо всего прочего, ссылка на неё будет добавлена в верхнее меню, то есть, эта страница - станет полноценным разделом сайта. По этой причине полез сегодня в вёрстку этого меню и вспомнил, что его мобильная версия - единственное место на сайте, где остались иконки безо всяких подписей. Решил полностью его переделать, об успехе чего и рапортую. Стало "как у всех", но удобно.

23 Октября

Refactoring tuesday

На самом деле не только вторник, а последние полторы-две недели. Мне нравится слушать Виталия Фридмана, с удовольствием был на его мастер-классе в Таллинне, но конкретно в моём случае результат от этого всегда один - я начинаю снова копаться в движке этого сайта. На этот раз я прослушал аж два выступления: первое и второе. Сразу применил что-то из свежеузнанного, плюс довёл до ума пару моментов, которые напрашивались.

  • Проверил, работает ли на сайте HTTP2. Работает.
  • Добавил lazyload для картинок, понаблюдал неделю и отключил. Во-первых, картинок у меня немного и загрузке они не сильно мешают. Во-вторых, если отключить JS (а в наше время "прошаренные" это делают из-за переизбытка рекламы и майнеров), то вместо всех картинок будет изображение-заглушка. Короче, для ньюKAMiKAZE отложенная загрузка изображений не нужна.
  • На основе Device Memory API сделал так, что на всех устройствах, где памяти менее 2Гб, нет параллаксов (логотип сверху и горы/самолёты в футере).
  • Заменил в кнопках для шаринга уже мёртвый Google+ на вечноживой Telegram.
  • Обновил иконочный шрифт. Некоторое время назад я отказался от использования FontAwesome в пользу кастомного набора, который я генерировал через fontello. Это очень удобно, можно сделать солянку на свой вкус. Сейчас я добавил несколько новых иконок, которых раньше не хватало (в частности, для страницы маяков).
  • Удалил из critical.css все фоновые изображения.

Ну... как-то так.

Цитировать
в комментарии