برنامه نویسی

نحوه استفاده از اکشن‌های GitHub برای نمایش پست‌های وبلاگ Dev.to در README.md

در این آموزش، نحوه استفاده از GitHub Actions برای به روز رسانی خودکار مخزن GitHub خود را خواهید آموخت. README.md با آخرین پست های وبلاگ از فید Dev.to خود فایل کنید. این اتوماسیون به نمایش نوشته های اخیر شما به طور مستقیم در نمایه یا صفحه پروژه GitHub شما کمک می کند و آن را به صورت پویا به روز نگه می دارد.
نمایش نسخه ی نمایشی

اسکرین شات از نسخه ی نمایشی

پیش نیازها

  • یک حساب GitHub
  • یک حساب Dev.to و یک وبلاگ فعال با فید RSS
  • دانش اولیه Git و GitHub

مرحله 1: URL Dev.to Feed خود را شناسایی کنید

URL فید RSS وبلاگ Dev.to شما معمولاً در قالب است https://dev.to/feed/username. جایگزین کردن username با نام کاربری Dev.to خودتان.

مرحله 2: مخزن GitHub خود را راه اندازی کنید

اگر قبلاً این کار را نکرده اید، یک مخزن جدید ایجاد کنید یا یک مخزن موجود را انتخاب کنید که می خواهید پست های وبلاگ خود را در آن نمایش دهید.

مرحله 3: یک گردش کار GitHub Actions ایجاد کنید

  1. به مخزن خود بروید در GitHub.
  2. کلیک کنید روی اقدامات برگه، سپس انتخاب کنید گردش کار جدید.
  3. با انتخاب از ابتدا شروع کنید “خودتان یک گردش کار تنظیم کنید”.

محتوای فایل گردش کار را با موارد زیر جایگزین کنید:

name: Update README with Latest Blog Posts

# Controls when the action will run. 
on:
  schedule:
    - cron: '0 * * * *'  # Runs every hour, can be adjusted to your preference
  push:
    branches:
      - main  # Runs on pushes to the main branch; adjust if your default branch has a different name

jobs:
  update-readme:
    runs-on: ubuntu-latest  # The type of runner that the job will run on

    steps:
    - name: Checkout Repository
      uses: actions/checkout@v3  # Checks out your repository under $GITHUB_WORKSPACE, so your job can access it

    - name: Setup Node.js
      uses: actions/setup-node@v3
      with:
        node-version: '18'  # Sets up a specific version of Node.js

    - name: Install dependencies
      run: |
        npm install rss-parser  # Installs the rss-parser package to parse the RSS feed

    - name: Run script to update README
      run: node .github/scripts/update-readme.js  # Executes a Node.js script to update README.md

    - name: Commit changes
      run: |
        git config --local user.email "action@github.com"
        git config --local user.name "GitHub Action"
        git add README.md
        git commit -m "Update README with latest blog posts" -a || echo "No changes to commit"
        git push
وارد حالت تمام صفحه شوید

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

مرحله 4: اسکریپت Node.js را ایجاد کنید

  1. در مخزن خود یک دایرکتوری جدید به نام ایجاد کنید .github/scripts.
  2. در داخل این دایرکتوری، یک فایل به نام ایجاد کنید update-readme.js.
  3. اسکریپت Node.js زیر را به این فایل اضافه کنید:
const fs = require('fs');
const Parser = require('rss-parser');
const parser = new Parser();

(async () => {
  const feed = await parser.parseURL('https://dev.to/feed/yourusername');  // Your Dev.to feed
  let readmeContent = fs.readFileSync('README.md', 'utf8');
  let newBlogContent = '';
  feed.items.slice(0, 5).forEach(item => {
    const formattedDate = new Date(item.pubDate).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });
    newBlogContent += `### [${item.title}](${item.link})\n`;
    newBlogContent += `📅 ${formattedDate}\n\n`;  // Adds formatted date with a calendar emoji
  });

  const newReadme = readmeContent.replace(/.*/s, `\n${newBlogContent}`);
  fs.writeFileSync('README.md', newReadme);
})();
وارد حالت تمام صفحه شوید

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

مرحله 5: README.md خود را به‌روزرسانی کنید تا Placeholders را نیز در بر گیرد

در شما README.md، مکان‌های زیر را در جایی که می‌خواهید پست‌های وبلاگ نشان داده شوند را شامل کنید:



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

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

نتیجه

اکنون، هر بار که GitHub Action اجرا می‌شود، آخرین پست‌های وبلاگ را از فید Dev.to شما دریافت می‌کند، شما را به‌روزرسانی می‌کند. README.md بر این اساس، و تغییرات را انجام دهید. این اتوماسیون نمایه GitHub شما را با تازه نگه داشتن و جذاب نگه داشتن آن برای بازدیدکنندگان بهبود می بخشد و آخرین نوشته شما را بدون به روز رسانی دستی به نمایش می گذارد.

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

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

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

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