Обновляемый список последних статей Инфостарт для профиля 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

См. также

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

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

4900 руб.

29.06.2022    10509    85    4    

117

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

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

15.07.2024    2430    bayselonarrend    8    

22

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

О проблемах новых 1С-проектов в общем океане открытого программного обеспечения.

07.07.2024    2859    bayselonarrend    57    

35

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

Скрипт для работы с SonarQube и локальным репозиторием Git.<br> Цель проекта – возможность выполнить быструю проверку качества кода перед тем, как помещать доработки в рабочее хранилище. В Sonar и Git выгружается не вся конфигурация, а только объекты из заданного списка.<br> https://github.com/vkrivov/go/

02.07.2024    2480    vkrivov@yandex.ru    8    

18

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

Столкнулся с проблемой при загрузке метаданных в СППР из GitLab на сервере 1С под Linux (РЭД ОС 7.3). При загрузке метаданных конфигурации, процесс загрузки длился несколько секунд и "благополучно" (без сообщений об ошибке) завершался. При этом метаданные не загружались.

1 стартмани

02.07.2024    488    0    Live    2    

3

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

Доработки 1С:ERP на крупных проектах можно организовать, не внося изменения в саму типовую конфигурацию, а используя только расширения и отдельные «микроконфигурации». Расскажем о том, как это сделать без EDT, используя процесс разработки GitHub Flow.

02.04.2024    6912    Begemoth80    24    

51

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

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

25.03.2024    2073    bayselonarrend    3    

41

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

GitFlic – первая в России полностью самостоятельная реализация сервиса для хранения репозиториев с исходным кодом. За три года разработки сервис GitFlic стал полноценным инструментом, которым можно заменить GitLab, GitHub и BitBucket. Расскажем о том, как выстроить в GitFlic процесс автоматического тестирования, статического анализа кода и сборки приложений.

05.03.2024    2976    user1989937    6    

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