برنامه نویسی

حامیان GitHub خود را با Actions به پروژه خود README اضافه کنید

مدتی پیش من یک اکشن GitHub نوشتم که به شما امکان می دهد حامیان مالی GitHub خود را به پروژه README خود اضافه کنید. من مدتی است که از آن استفاده می کنم
و می خواستم به اشتراک بگذارم که چگونه می توانید از آن برای افزودن ارزش به سطوح حمایت مالی خود نیز استفاده کنید. اگر می خواهید از این کار صرف نظر کنید و مستقیماً به مستندات بروید اینجا را کلیک کنید.

دیوار آواتار GitHub

آماده سازی مخزن

برای اینکه اکشن از طرف شما در مخزن شما تغییراتی ایجاد کند، باید چند مورد را در اختیار آن قرار دهید.

  • یک رمز دسترسی شخصی جدید ایجاد کنید. رمز دسترسی اساساً مانند یک رمز عبور برای حساب شما عمل می کند، بنابراین تحت هیچ شرایطی نباید این را در جایی که خارج از عملیات قابل دسترسی است پست کنید.

  • آن را با read:user اگر از این در یک مخزن میزبان کاربر استفاده می کنید، و read:org اگر از یک مخزن میزبانی شده در یک سازمان استفاده می کنید.

  • رمز را به عنوان مخزن مخزن اضافه کنید، این کار با رفتن به تنظیمات مخزن خود و مکان یابی منوی اسرار انجام می شود. به نام مخفی توجه داشته باشید، در مراحل بعدی از آن استفاده خواهیم کرد.

با انجام کارهای فوق، مخزن شما باید دسترسی لازم را داشته باشد تا داده های حمایت مالی خود را از API GitHub استخراج کند و تغییرات را در پروژه شما بنویسد.

افزودن عمل

برای ایجاد یک گردش کار اکشن جدید، باید یک فایل درون آن ایجاد کنید .github/workflows دایرکتوری در ریشه مخزن شما، اگر از قبل وجود ندارد، آن را ایجاد کنید. درون آن یک فایل به نام ایجاد کنید sponsors.yml، جایی که عمل زندگی خواهد کرد. درون آن موارد زیر را اضافه کنید.

name: Generate Sponsors README
on:
  workflow_dispatch:
  schedule:
    # This is a cron schedule, it will run every day at 15:30. You can change this to whatever you want.x
    - cron: 30 15 * * 0-6
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      # Checkout the repository
      - name: Checkout 🛎️
        uses: actions/checkout@v2

      # Generate the sponsors
      - name: Generate Sponsors 💖
        uses: JamesIves/github-sponsors-readme-action@v1
        with:
          # The name of this should correspond with the name you gave your secret, in my example this is 'PAT'.
          token: ${{ secrets.PAT }}

          # This should point to your project's readme, or any other type of markdown file you want to add sponsorship information to.
          file: 'README.md'

      # Deploy the changes back to the main branch of the repository
      - name: Deploy to GitHub Pages 🚀
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          # Typically this should be the name of the base branch, in many cases this is 'main'.
          branch: main

          # As we're deploying changes to our markdown files, this needs to be . to push the root directory back to the repository.
          folder: '.'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مراقب چیزهایی در مثال بالا باشید که ممکن است مختص پروژه شما باشد. من نظراتی را به آن قسمت ها اضافه کرده ام تا به شما کمک کنم بهتر در آنها پیمایش کنید!

آخرین کاری که باید انجام دهید این است که فایل README خود را ویرایش کنید تا نشانگرهای مورد نیاز را اضافه کنید. این اقدام به دنبال این نشانگرها می‌گردد و با استفاده از الگوی پیش‌فرض، اطلاعات حمایت مالی مناسب را جایگزین آن‌ها می‌کند. با افزودن a می توانید الگو را تغییر دهید template پارامتر عمل، اما بعداً به آن خواهیم رسید.

# lab 🧪

Random experiments and projects.

## Sponsors ❤️

Check out our awesome sponsors!

<!-- sponsors -->
<!-- sponsors -->
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

گردش کار را از برگه گردش کار مخازن فعال کنید و پس از اتمام اجرا، اگر حامیانی دارید، باید محتوای پر شده در README را ببینید!

نمونه ای از اکشن در حال اجرا

سفارشی کردن قالب

اگر می خواهید قالب را سفارشی کنید، می توانید این کار را با استفاده از template ورودی در شما sponsors.yml فایل. را template ورودی می تواند هر آنچه شما می خواهید باشد. می توانید آن را HTML یا Markdown کنید، این به شما بستگی دارد، برای هر حامی که دارید تکرار می شود. تعدادی متغیر در دسترس است که عمل با داده های مناسب جایگزین می شود که می توانید برای سفارشی کردن خروجی از آنها استفاده کنید. متغیرهایی برای نام کامل کاربر، نام کاربری، URL نمایه و URL وب سایت (در صورت ارائه) وجود دارد، برای لیست کامل متغیرهای موجود اینجا را کلیک کنید.

به عنوان مثال، گردش کار زیر حامیان مالی را در یک لیست نشانه گذاری نشان می دهد.

- name: Generate Sponsors 💖
  uses: JamesIves/github-sponsors-readme-action@v1
  with:
    token: ${{ secrets.PAT }}
    file: 'README.md'
    template: '* [{{{ name }}}]({{{ url }}}) - {{{ login }}}'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

یا می توانید خلاق باشید و از HTML پشتیبانی شده توسط GitHub نیز استفاده کنید!

- name: Generate Sponsors 💖
  uses: JamesIves/github-sponsors-readme-action@v1
  with:
    token: ${{ secrets.PAT }}
    file: 'README.md'
    template: template: '<a href="https://github.com/{{{ login }}}"><img src="https://github.com/{{{ login }}}.png" width="80px" alt="{{{ login }}}" /></a>&nbsp;&nbsp;'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

جداسازی بر اساس ردیف حمایت

اگر چندین لایه حمایت مالی دارید، می توانید با استفاده از آن، آنها را از هم جدا کنید minimum و maximum ورودی هایی که به دلار آمریکا بر حسب سنت ترجمه می شود. این اقدام فقط حامیانی را ارائه می دهد که در محدوده قرار دارند. به عنوان مثال، اگر شما یک bronze لایه ای که 1 تا 4 دلار است silver ردیفی که 5 تا 9 دلار و یک gold لایه ای که بیش از 10 دلار است، می توانید با اجرای چندین بار عمل در یک گردش کار، آنها را از هم جدا کنید. حتی می توانید این را با template ورودی برای سفارشی کردن خروجی برای هر لایه.

name: Generate Sponsors README
on:
  workflow_dispatch:
  schedule:
    - cron: 30 15 * * 0-6
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout 🛎️
        uses: actions/checkout@v2

      - name: Generate Bronze Sponsors 🤎
        uses: JamesIves/github-sponsors-readme-action@v1
        with:
          token: ${{ secrets.PAT }}
          file: 'README.md'
          maximum: 499
          marker: bronze

      - name: Generate Silver Sponsors 🤍
        uses: JamesIves/github-sponsors-readme-action@v1
        with:
          token: ${{ secrets.PAT }}
          file: 'README.md'
          minimum: 500
          maximum: 999
          marker: silver

      - name: Generate Gold Sponsors 💛
        uses: JamesIves/github-sponsors-readme-action@v1
        with:
          token: ${{ secrets.PAT }}
          file: 'README.md'
          minimum: 1000
          marker: gold

      - name: Deploy to GitHub Pages 🚀
        uses: JamesIves/github-pages-deploy-action@v4
        with:
          branch: main
          folder: '.'
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای هر بار اجرای اکشن باید a را ارائه دهید marker ورودی که مربوط به نشانگری است که به فایل README خود اضافه کرده اید. این برای آن است که بداند محتوا را کجا قرار دهد.

# lab 🧪

Random experiments and projects.

## Gold Sponsors 💛

<!-- gold -->
<!-- gold -->

## Silver Sponsors 🤍

<!-- silver -->
<!-- silver -->

## Bronze Sponsors 🤎

<!-- bronze -->
<!-- bronze -->
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در نتیجه با چیزی شبیه به زیر مواجه خواهید شد.

مثالی از اکشنی که با چند لایه اجرا می شود.

نتیجه

و بس! اکنون باید یک گردش کاری داشته باشید که به طور خودکار README شما را روزانه با حامیان مالی خود به روز می کند. به این ترتیب اگر قبلاً این لیست را به صورت دستی نگهداری می کردید، به طور تصادفی کسی را کنار نمی گذارید. اگر سؤال یا مشکلی دارید، می توانید یک موضوع یا پست بحث را در GitHub باز کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا