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

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

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    9692    79    4    

113

Процесс разработки с использованием GIT и расширений для 1С:ERP. Без EDT

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

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

02.04.2024    5676    Begemoth80    24    

49

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

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

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

25.03.2024    1757    bayselonarrend    3    

39

Автоматизация процесса разработки с помощью сервиса GitFlic

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

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

05.03.2024    2330    user1989937    6    

17

OpenYellow - рейтинг открытых GitHub репозиториев для платформы 1С:Предприятие

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

Обновляемый топ GitHub репозиториев для 1С по всем языкам программирования и еще немного рассуждений про open-source.

05.02.2024    4258    bayselonarrend    15    

64

Насколько глубок 1С-ный GitHub?

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

Open-source проекты - важная часть мира программного обеспечения. 1С привычно держится немного в стороне от глобальных трендов, но бросить холодный статистический взгляд на положение дел мне показалось небезынтересным.

22.01.2024    8334    bayselonarrend    50    

87

TCP прокси-сервер хранилища конфигурации 1С

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

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    3371    kamisov    19    

61

Отдай корень! Библиотека OneScript для получения информации о захваченных объектах в хранилище

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

Хранилище конфигурации 1С - это инструмент групповой разработки. Работают с хранилищем следующим образом: захватывают какой-либо объект, редактируют, потом отдают его в хранилище. Хранилище помечает уже захваченные объекты и не дает возможности захватить их другим пользователям. Это рождает и самый большой недостаток хранилища - невозможность работы с одним объектом нескольких пользователей, например в случае доработки разных методов в одном большом модуле. Корень конфигурации - это самый верхний ее узел. Только захватив корень, мы можем добавить в конфигурацию новые общие модули, документы, справочники, регистры и подобное. Только захватив корень можно изменить настройки поддержки конфигурации. Соответственно, если корень захвачен одним программистом, другой программист не может добавить новые объекты или снять что-то с поддержки. Потому то и всплывает эта фраза - отдай корень, мне нужно тоже что-то добавить.

26.12.2023    1663    ardn    1    

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