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

مدتی پیش من یک اکشن GitHub نوشتم که به شما امکان می دهد حامیان مالی GitHub خود را به پروژه README خود اضافه کنید. من مدتی است که از آن استفاده می کنم
و می خواستم به اشتراک بگذارم که چگونه می توانید از آن برای افزودن ارزش به سطوح حمایت مالی خود نیز استفاده کنید. اگر می خواهید از این کار صرف نظر کنید و مستقیماً به مستندات بروید اینجا را کلیک کنید.
آماده سازی مخزن
برای اینکه اکشن از طرف شما در مخزن شما تغییراتی ایجاد کند، باید چند مورد را در اختیار آن قرار دهید.
-
یک رمز دسترسی شخصی جدید ایجاد کنید. رمز دسترسی اساساً مانند یک رمز عبور برای حساب شما عمل می کند، بنابراین تحت هیچ شرایطی نباید این را در جایی که خارج از عملیات قابل دسترسی است پست کنید.
-
آن را با
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> '
جداسازی بر اساس ردیف حمایت
اگر چندین لایه حمایت مالی دارید، می توانید با استفاده از آن، آنها را از هم جدا کنید 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 باز کنید.