Что я делал в 2020-м на GitHub.
Этот год был слабым по количеству, 466 контрибьютов, последний раз такое было в 2016-м. Этому есть причины:
- На новой работе стало меньше проектов, которые можно легко выложить в открытый доступ
- Некоторые проекты касаются умного дома и написаны как попало, мелкими скриптами, которые не коммичу
По языкам: сплошной JavaScript.
Умный дом
- windows-mqtt - управление Windows компом по MQTT
- yandex-dialogs-private
- mongoose-ili9341 - экранчик TFT 320x240
Алиса научилась:
- Обновлять аккорды
- Варить кофе
- Наливать воду из фильтра
- Записывать долги в таблицу долгов
- Открывать приложения на телефоне
- Заполнять таблицу активности
- Прикрывать штору от солнца
- Следить за акциями
Новые проекты:
- yandex-speechkit-talk-recognition
- yandex-speechkit-talk-viewer
- site-audit-seo-yake - плагин site-audit-seo, извлекает ключевики из страницы
- site-audit-seo-readability - плагин site-audit-seo, извлекает текст из страницы
- userscript-yandex-metrika-screenshot - юзерскрипт для красивых скриншотов Яндекс Метрики
- activity-table - интерфейс для таблицы активности: CLI, экспорт в json
- activity-table-ui - календарь активностей
- mindwave-web - запись медитаций
- userscript-redmine-delo - юзерскрипт для облагораживания таск-трекера RedMine
Обновления прежних проектов:
- windows-mqtt
- ansible-role-zsh
- viasite/site-audit-seo
- viasite/site-audit-seo-viewer
- viasite/yandex-metrika
- planfix-tools
Ниже подробнее о каждом проекте.
ansible-role-zsh
- Фича года: Powerlevel10k Instant Prompt. Теперь терминал открывается мгновенно, а плагины подгружаются фоном.
- Сменил для всех Powerlevel9k на Powerlevel10k.
- Исправил древний глюк, из-за которого при применении роли ansible иногда зависал навсегда.
windows-mqtt
- Иконка в трей: теперь это полноценное приложение, а не окно с терминалом
- audio: возможность озвучить текст на хосте
- exec: возможность запускать программы на хосте через MQTT, где запущен сервис. С озвучкой окончания работы
- midi: использование любого MIDI устройства как контроллера чего угодно (exec/mqtt)
- keys: нажимание кнопок через MQTT
- mouse: клики мышью
- tts: возможность озвучить текст на хосте
- notify: отображение системного уведомления
- windows: раскладывание окон по мониторам и вирт. раб. столам
yandex-speechkit-talk-recognition
Проект для распознавания аудиозаписей любой длины через Яндекс.SpeechKit.
site-audit-seo
- Добавлена плагинная система, чтобы можно было добавлять действия после сканирования каждой страницы и всего сайта в виде отдельных npm пакетов. Это используется, например, чтобы отправлять данные в InfluxDB и выводить на Grafana, так можно отслеживать PageSpeed страницы во времени
site-audit-seo-viewer
- Добавлены пресеты, чтобы генерировать отчёт сразу с нужными полями, раньше надо было их накликивать после сканирования
- Добавлена ссылка “Пересканировать”, чтобы из отчёта получить сразу обновлённый отчёт, с теми же параметрами сканирования
- В сводку добавлена разбивка по группам, чтобы считать не среднее по всему сайту, а показывать более точно:

- Детали одной страницы получили оглавление и более понятный дизайн
- Появилась история сканирований, чтобы можно было быстро пересканировать нужный сайт
Это всё было весной, я пытался довести проект до состояния, чтобы коллеги смогли делать им аудиты сайтов без меня. Не вышло, сейчас проект сканера никем не используется. Незаслуженно брошенный проект, надеюсь ещё вернусь к нему.
Часть проекта для просмотра отчётов я использую, получилась универсальная смотрелка json-ов в определённом формате. Если сохранять правильный json, потом можно вывести его в виде интерактивной таблицы, с сортировками, фильтрами и т.п.
yandex-metrika
Появились быстрые ссылки на отчёты за неделю, месяц, год. В отличие от обычного отчёта за год в Метрике этот выравнивает недели, чтобы было ровно с понедельника до воскресенья, чтобы по краям не было ложных провалов.
Проект теперь используется в 2 компаниях, и я перестал его выкладыать в открытый доступ, т.к. не дошли руки привести к общему знаменателю.
userscript-yandex-metrika-screenshot
Для аудитов сайтов надо постоянно скриншотить Метрику. Этот юзерскрипт прибирает страницу, чтобы можно было сделать компактный скриншот, на котором будет всё нужное и не будет ненужного.
activity-table
Интерфейс для таблицы активности: CLI, MQTT, экспорт в json.
activity-table-ui
Интерфейс для таблицы активностей: календарь, графики.
userscript-redmine-delo
Стилизация таск-трекера RedMine: убраны лишние поля, подсвечены главные.