Bayselonarrend / infometrics-articles

Автоматическое обновление списка последних статей Инфостарт для Readme профиля
MIT License
7 stars 1 forks source link
1c 1c-enterprise actions hacktoberfest infostart onescript readme readme-profile

image infometrics-articles

Автоматическое обновление списка публикаций Инфостарт для Readme профиля. Реализовано при помощи Github Actions.

Это пока предрелиз - в нем могут быть баги. Он был проверен на ~20 профилей из топа Инфостарта, но все равно:
а) Рекомендуется сначала попробовать не в профиле, а в приватном репозитории
б) Будет очень хорошо, если при нахождении бага вы напишите в Issues

Как добавить себе?

  1. В файл Readme добавить блок следующего вида. Этот блок всегда должен быть пустой - при обновлении публикаций он будет затираться.

    <div id="infostart_posts">
    
    </div>
  2. Создать новый 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/infometrics-articles@1.2
        with:
          profile-id: '1793672'                 # ID профиля Infostart
          count: '3'                            # Количество выводимых публикаций. Необязательно, по умолчанию - 3, Максимум - 10
          readme-file: './README.md'            # Путь к Readme файлу. Необязательно, по умолчанию - ./README.md (Регистр важен!)
  1. Готово, можно запустить вручную Action


Пример вывода публикации в Readme

Особенности национального Workflow: Github Actions и OneScript

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

:star: +37 :calendar: 25.03.2024 :speech_balloon: 3 :eyes: 1393

Дополнительные возможности

Шаблоны вывода публикаций

Для вывода публикаций используется текстовый шаблон по умолчанию, но вы можете использовать и свой. Для использования своего шаблона необходимо:

  1. Создать любой текстовый файл, где будет хранится шаблон. В нем могут содержаться следующие параметры:

    • %1 - URL изображения
    • %2 - Заголовок публикации
    • %3 - Ссылка на публикацию
    • %4 - Число звезд
    • %5 - Описание публикации
    • %6 - Дата публикации
    • %7 - Комментарии
    • %8 - Просмотры

    Например, шаблон по умолчанию

    > <img src="https://github.com/Bayselonarrend/infometrics-articles/raw/main/%1" width="96" align="left">
    > <h4 style="color: white;"><a href="https://github.com/Bayselonarrend/infometrics-articles/blob/main/%3">%2</a></h4>
    > <small>%5</small>
    > <br clear="left">
    > 
    > | :star: %4 |  :calendar: %6 |  :speech_balloon: %7 |  :eyes: %8 |
    > |-|-|-|-|
    1. Прописать путь к этому файлу в параметр template
      - uses: bayselonarrend/infometrics-articles@1.2
        with:
          profile-id: '1793672'
          count: '3'
          readme-file: './README.md'
          template: ./tm.html  # Тут - tm.html в корне репозитория


Фильтр публикаций

По умолчанию в список публикаций выводится лучшие из профиля.

Также можно использовать другие фильтры:

Для этого измените yml файл и параметр filter

      - uses: bayselonarrend/infometrics-articles@1.2
        with:
          profile-id: '1793672'
          count: '3'
          readme-file: './README.md' # Путь к Readme файлу. Необязательно, по умолчанию - ./README.md (Регистр важен!)
          filter: 'Download'         # Какие публикации выводить. Необязательно, по умолчанию - лучшие. Другие варианты: Top - Лучшие, Download - Топ-загрузок, Sale - Топ-продаж, Comment - Топ-комментариев, Show - Топ-просмотров, "" - Последние


О составе проекта

В основе данного Action лежит скрипт на OneScript - вы легко можете доработать его под свои нужды, если вам так захочется. Шаблон вывода разметки для Readme тоже находится там.



Infostart
Статья на Инфостарте: Обновляемый список последних статей Инфостарт для профиля Github