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

08.04.24

Разработка - Групповая разработка (Git, хранилище)

Не знаете, чем бы таким заполнить свой профиль Github? Заполните его своими статьями на Инфостарт! Этот простой workflow сам соберет список ваших последних статей и будет периодически обновлять его для актуализации данных.

Идея была подсмотрена у пакета Metrics. Его довольно часто можно встретить в Readme файлах профиля, в том числе и у 1Сников - если вы видели когда нибудь 3D модель графика активности, то это оно
 

Там есть много разных метрик и блоков, одним из которых является блок с последними статьями из dev.to. Мне показалось интересным сделать что-нибудь подобное для статей Инфостарт
 

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

 

Данный проект называется infometrics-articlesЭто Action для Github Actions, который вы можете просто добавить в workflow репозитория вашего профиля:

  1. Если у вас еще нет Readme профиля - его нужно создать. Сделать это можно в репозитории профиля https://github.com/[Ваше имя пользователя]/[Ваше имя пользователя]
     
  2. В созданный Readme необходимо добавить блок следующего вида
    <div id="infostart_posts">
    
    </div>

    Внутри этого блока ничего не должно быть - он будет очищаться при обновлении списка статей
     

  3. Далее необходимо создать новый Action - делается это все в том же репозитории профиля. Необходимо перейти на вкладку Actions и нажать New workflow


     

  4. Нажать set up a workflow yourself


     

  5. В открывшемся редакторе вставить следующий код:
     

    name: Infostat
    on:
      schedule: [{cron: "0 0 * * *"}] # Расписание выполнения. В данном примере - каждый день в 0.00
      workflow_dispatch:
    jobs:
      Update:
        runs-on: ubuntu-latest 
        permissions:
            contents: write
        steps:
    
          - uses: bayselonarrend/infometrics-articles@1.1
            with:
              profile-id: '1793672'                 # ID профиля Infostart
              count: '3'                            # Количество выводимых статей. Необязательно, по умолчанию - 3, Максимум - 10
              # readme-file: './README.md'            # Путь к Readme файлу. Необязательно, по умолчанию - ./README.md (Регистр важен!)
              # template: './tm.html'                 # Путь к шаблону. См. далее. Необязательно, по умолчанию - стандартный шаблон

 

 

Прежде чем сохранять наш файл, рассмотрим и настроим параметры, которые он предлагает. Параметры идут после ключевого слова with:

  • profile-id - id профиля Инфостарт
  • count - количество выводимых постов. Максимум доступно 10 постов, по умолчанию установлено 3
  • readme-file - если ваш Readme файл имеет путь, отличный от ./README.md (регистр важен), этот параметр необходимо заполнить актуальным путем
  • template - пользовательский макет вывода статьи. Об этом мы поговорим далее
     


В самом начале вы также можете найти schedule - это расписание выполнения нашего workflow. В данном случае это 0.00 каждого дня. Вы можете поставить свое расписание, если хотите обновлять данные чаще или реже

 

 

 

Теперь данный yml-файл можно сохранить и worflow начнет работать

 

Вывод статей и пользовательские макеты

 

Вернемся к параметру template. По умолчанию, если данный параметр не указан, статьи в Readme файл выводятся следующим образом:

 

Используется стандартный макет подобного вида:

> <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
 

template: './tm.html'

 

Внутри самого шаблона вы можете создавать необходимую структуру (MD/HTML) и использовать в ней следующие параметры

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

Важно! Вам не обязательно использовать все параметры - можно только необходимые. Сам макет создается на одну статью и единственное его ограничение - нельзя использовать <div>

 

Немного про Action

 

Немного про внутренности данного экшена

Основной обработчик infometrics-articles - os скрипт. Он запускается после установки OneScript и, при помощи http-запроса, функций работы со строками и такой то матери ТекстовогоДокумента, парсит html-страницу профиля Инфостарт, после чего записывает полученные данные в Readme на основе макета

Конечно, парсить страницу не очень надежно, но API для этого нет. Сам скрипт был проверен на ~20 профилей из топа Инфостарта - все отрабатывало правильно. Но ошибки все равно возможны и будет очень хорошо, если вы напишите о них в Issue при возникновении

Помимо прочего, использование os скрипта как основного обработчика подразумевает, что вы без проблем можете сами доработать Action под себя (или создать что-нибудь на его основе) - язык-то 1С. Достаточно лишь сделать форк

Ну, а пока это все


Спасибо за внимание!

 

 

 Мой GitHub:     https://gitub.com/Bayselonarrend 
 Лицензия MIT:   https://mit-license.org

github actions гитхаб workflow metrics

См. также

SALE! 50%

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Программист Стажер Платформа 1С v8.3 Платные (руб)

Использования систем контроля версий — стандарт современной разработки. На курсе научимся использованию Хранилища 1С и GIT при разработке на 1С:Предприятие 8. Разберем подходы и приемы коллективной разработки, научимся самостоятельно настраивать системы и ориентироваться в них.

4900 2450 руб.

29.06.2022    11929    99    4    

131

Групповая разработка (Git, хранилище) Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Когда в хранилище одновременно разрабатывают несколько команд, сортировка сделанного и несделанного при формировании релиза и проведение code review по задачам превращаются в непроходимый квест. В таких случаях нужен бранчинг. Расскажем об опыте перехода на новую схему хранения кода для ИТ-департамента.

23.09.2024    2827    kraynev-navi    2    

25

Групповая разработка (Git, хранилище) Программист Бесплатно (free)

Называть Git новой технологией – уже смешно, но для многих 1С-ников это действительно «новое и неизведанное». Расскажем о плюсах и минусах двух главных систем контроля версий в мире 1С: Git и хранилища.

17.09.2024    7244    Golovanoff    69    

26

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Во многих командах незаслуженно забывают о том, что в базе меняются расширения (как от вендора, так и собственные) и внешние отчеты и обработки. Вплоть до того, что релиз происходит каждый день – меняются печатные формы, отчеты, обработки. Расскажем о том, как выгружать в Git не только изменения конфигурации рабочего контура, но и файлы внешних обработок и расширений.

05.09.2024    2166    ardn    12    

15

EDT Групповая разработка (Git, хранилище) Программист Платформа 1С v8.3 Бесплатно (free)

Заказчики любят EDT+Git за прозрачность и контроль качества. А у разработчиков есть две основные причины не любить EDT – это тормоза и глюки. Расскажем о том, что нужно учесть команде при переходе на EDT+Git.

14.08.2024    7619    lekot    34    

8

Групповая разработка (Git, хранилище) Программист Платформа 1С v8.3 Бесплатно (free)

В «долгоиграющих» проектах стандартный захват объектов 1С в хранилище может привести к длительным простоям других разработчиков. Но и создавать под каждую доработку отдельное хранилище, чтобы использовать технологию разветвленной разработки конфигураций от фирмы «1С» – избыточно. Расскажем о том, как разрабатывать в отдельной базе без ожиданий, а потом с легкостью перенести изменения в хранилище, используя основную идею технологии 1С – конфигурацию на поддержке хранилища.

05.08.2024    4223    sinichenko_alex    16    

25

Групповая разработка (Git, хранилище) Программист Руководитель проекта Стажер Бесплатно (free)

Про изменения и новинки в агрегаторе открытых проектов OpenYellow, которые появились с момента его создания: про портал, Github и Telegram

15.07.2024    3223    bayselonarrend    8    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. YA_418728146 584 08.04.24 13:25 Сейчас в теме
Прикольная штука, спасибо!
2. ardn 657 09.04.24 09:52 Сейчас в теме
Однозначно - статья в закладки!
Оставьте свое сообщение