На Hacker News я обнаружил статью Создание самообновляющегося профиля README для GitHub. Я был очень очарован этой новой функцией GitHub и хотел создать что-то подобное для моего профиля GitHub.

README профиля GitHub

README профиля GitHub — это новая функция, которая позволяет пользователям отображать содержимое файла уценки README на странице профиля.

Чтобы использовать эту функцию, вам просто нужно создать новый репозиторий с тем же именем, что и ваша учетная запись GitHub. Мой находится по адресу github.com/mokkapps/mokkapps. Этот репозиторий должен быть общедоступным и инициализирован с помощью README:

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

В моем примере я показываю пять ссылок на последние сообщения в блоге на моем веб-сайте и последний твит, который я опубликовал в Twitter. Эта информация обновляется автоматически, и я хочу показать вам, как я реализовал этот функционал.

Автоматически обновлять README

Вся магия происходит в действии GitHub, определенном в build.yml. Это действие запускается при каждом нажатии Git, каждые 32 минуты каждого часа (настраивается с помощью расписания cron) или при нажатии кнопки вручную в пользовательском интерфейсе действий GitHub (с помощью события workflow_dispatch).

Рабочий процесс выполняет следующие действия:

  1. Получает последний твит из моей учетной записи Twitter с помощью Twitter API, преобразует его в PNG с помощью безголового Chrome (из скрипта R) и сохраняет его как PNG, который затем встраивается в README (взято из zhiiiyang).
  2. Запускает сценарий JavaScript, который извлекает пять последних сообщений блога из моего RSS-канала и генерирует окончательный README.md (вдохновленный simonw)
  3. Фиксирует и отправляет изменения в главную ветку этого репозитория.

Скрипт JS довольно прост и состоит всего из ~50 строк кода.

Вывод

Файлы README профиля GitHub — это отличная функция, и с помощью действий GitHub мы можем предоставлять актуальную информацию посетителям профиля.

Но самое главное, мне было очень весело его строить, и это важнее всего остального.

Первоначально опубликовано на https://www.mokkapps.de.