Автоматическое обновление списка публикаций Инфостарт для Readme профиля. Реализовано при помощи Github Actions.
Это пока предрелиз - в нем могут быть баги. Он был проверен на ~20 профилей из топа Инфостарта, но все равно:
а) Рекомендуется сначала попробовать не в профиле, а в приватном репозитории
б) Будет очень хорошо, если при нахождении бага вы напишите в Issues
- В файл Readme добавить блок следующего вида. Этот блок всегда должен быть пустой - при обновлении публикаций он будет затираться.
<div id="infostart_posts">
</div>
- Создать новый Action в репозитории профиля. Пример yml файла ниже
name: Infostart
on:
schedule: [{cron: "0 0 * * *"}] # Расписание выполнения. В данном примере - каждый день в 0.00
workflow_dispatch:
jobs:
Update:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: bayselonarrend/[email protected]
with:
profile-id: '1793672' # ID профиля Infostart
count: '3' # Количество выводимых публикаций. Необязательно, по умолчанию - 3, Максимум - 10
readme-file: './README.md' # Путь к Readme файлу. Необязательно, по умолчанию - ./README.md (Регистр важен!)
- Готово, можно запустить вручную Action
Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.
⭐ +37 📆 25.03.2024 💬 3 👀 1393
Для вывода публикаций используется текстовый шаблон по умолчанию, но вы можете использовать и свой. Для использования своего шаблона необходимо:
- Создать любой текстовый файл, где будет хранится шаблон. В нем могут содержаться следующие параметры:
- %1 - URL изображения
- %2 - Заголовок публикации
- %3 - Ссылка на публикацию
- %4 - Число звезд
- %5 - Описание публикации
- %6 - Дата публикации
- %7 - Комментарии
- %8 - Просмотры
Например, шаблон по умолчанию
> <img src="%1" width="96" align="left">
> <h4 style="color: white;"><a href="%3">%2</a></h4>
> <small>%5</small>
> <br clear="left">
>
> | :star: %4 | :calendar: %6 | :speech_balloon: %7 | :eyes: %8 |
> |-|-|-|-|
- Прописать путь к этому файлу в параметр template
- uses: bayselonarrend/[email protected]
with:
profile-id: '1793672'
count: '3'
readme-file: './README.md'
template: ./tm.html # Тут - tm.html в корне репозитория
По умолчанию в список публикаций выводится лучшие из профиля.
Также можно использовать другие фильтры:
- 'Top' - Лучшие публикации по звездам
- 'Download' - Топ-загрузок
- 'Sale' - Топ-продаж
- 'Comment' - Топ-комментариев
- 'Show' -Топ-просмотров
- '' - Последние
Для этого измените yml файл и параметр filter
- uses: bayselonarrend/[email protected]
with:
profile-id: '1793672'
count: '3'
readme-file: './README.md' # Путь к Readme файлу. Необязательно, по умолчанию - ./README.md (Регистр важен!)
filter: 'Download' # Какие публикации выводить. Необязательно, по умолчанию - лучшие. Другие варианты: Top - Лучшие, Download - Топ-загрузок, Sale - Топ-продаж, Comment - Топ-комментариев, Show - Топ-просмотров, "" - Последние
В основе данного Action лежит скрипт на OneScript - вы легко можете доработать его под свои нужды, если вам так захочется. Шаблон вывода разметки для Readme тоже находится там.
Статья на Инфостарте: Обновляемый список последних статей Инфостарт для профиля Github