Рубрики
Без рубрики

Действие GitHub для программистов MEMES XD

TLDR; Я создал небольшое действие Github, чтобы приветствовать вкладчиков со случайным программистом MEMES … Теги с Python, Showdev, Github.

TLDR;

Я создал небольшое действие GitHub, чтобы приветствовать вкладчиков со случайным программистом MEMES

Bhupesh-V/Memer-Action

Действие GitHub для программистов MEMES XD

✨ демонстрация

❓ Использование

Пример рабочего процесса

  • Вы можете использовать следующий рабочий процесс, как есть, просто скопируйте/вставить в файл с именем приветствия.мль Внутри вашего рабочие процессы папка.
  • Ответ действий выполняется Create-или-update-комментарий
name: Memer Workflow
on: [pull_request]

jobs:
  greeting:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: Run Memer Action
        id: memer

        uses: Bhupesh-V/memer-action@master
        with:
          filter: "new"

      - name: Check Outputs
        run: |
          echo "${{ steps.memer.outputs.meme }}"
          echo "${{ steps.memer.outputs.title }}"
          echo "${{ steps.memer.outputs.source }}"

      - name: Create comment
        uses: peter-evans/create-or-update-comment@v1.3.0
        id: couc
        with:
          issue-number: ${{ github.event.number }}
          body: |
            🎉🎉 Thanks for opening this PR/Issue 🤗
            Please wait while the maintainer(s) review it

            Meanwhile have a look at this 😝 :

            > **${{ steps.memer.outputs.title }}**
            ![meme](${{ steps.memer.outputs.meme }})
            ℹ️ Source [

Вид на рынок Github

Вы можете сказать благодаря участникам, приветствуя их с каким-либо программистым юмором и кстати, почти всем нравится MEMES, так что повеселитесь, вносясь, что вклад в OpenSource, будет здорово:)

Вот образец мем-действия в действии

Действие было построено с помощью Python, вот как происходит волшебство

import feedparser
import random
import os
import sys

HOST_URL = "https://www.reddit.com/r/ProgrammerHumor"


def getMeme(filter_posts="hot"):
    memelist = []
    memedict = {}
    f = feedparser.parse(f"{HOST_URL}/{filter_posts}.rss")
    for entry in f.entries:
        x = entry['content'][0]['value']
        img = x[x.find("https://i.redd.it"): x.find("link") - 3]
        if img != "":
            memedict["title"] = entry["title"]
            memedict["src"] = str(entry["link"])
            memedict["meme"] = img
            memelist.append(memedict)
        random.shuffle(memelist)
        return memelist[0]


def main():
    filter_by = os.environ["INPUT_FILTER"]
    if filter_by not in ["hot", "top", "new", "rising"]:
        sys.exit(0)
    meme = getMeme(filter_by)
    print(f"::set-output name=meme::{meme['meme']}")
    print(f"::set-output name=title::{meme['title']}")
    print(f"::set-output name=source::{meme['src']}")


if __name__ == "__main__":
    main()

Вышеуказанный скрипт проходит внутри контейнера докера. Ниже приведены некоторые ресурсы, которые (которые я использовал) вы можете использовать для создания собственных действий, использующих Python

Оригинал: “https://dev.to/bhupesh/a-github-action-for-programmer-memes-xd-nn8”