github.io 페이지에서 기사 섹션 자동화

오늘 저는 github page을 업데이트하여 내 목록을 표시하고 싶었습니다.
마지막 매체articles . 나는 그것을 자동화했다.

첫 번째 접근법



첫 번째 시도는 URLmedium.com/feed/@username을 사용하여 RSS 피드를 가져오고 구문 분석하는 것이었습니다.xml 문서. 그러나 나는 매력적인 CORS 오류에 맞았습니다.
이제 뭐?

내 github profile 에서 유사한 섹션을 업데이트하기 위해 github 작업을 사용하고 있다는 것을 기억했습니다.
따라서 이 작업에 README 파일의 이름을 지정하면 어떻게 됩니까index.html?

블로그-포스트-워크플로우



github action은 readme_path 매개변수를 지원합니다. 후에
소스 코드를 빠르게 살펴보니 이 파일이 반드시 마크다운 파일이 아니라 무엇이든 될 수 있다는 것을 알았습니다. 문제 해결됨!

html에 기사 섹션을 추가해 보겠습니다.

<section class="content__articles">
  <p>&gt; last published articles:</p>

  <ul>
    <!-- BLOG-POST-LIST:START -->
    <!-- BLOG-POST-LIST:END -->
  </ul>
</section>


작업은 마크다운 파일용이므로 게시물 링크의 기본 템플릿은 [title](url)이지만 html 코드가 필요합니다.
운 좋게도 github 작업은 template 매개 변수도 제공합니다. 이제 템플릿을 변경하여 목록 항목을 생성해 보겠습니다.

<li><a href="$url" target="_blank">$title</a></li>$newline


그게 다야!

워크플로 구성은 다음과 같아야 합니다.

name: Update Medium articles
on:
  schedule:
    - cron: '0 0 * * 0' # Runs once a week
  workflow_dispatch:

jobs:
  update-articles-section:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: gautamkrishnar/blog-post-workflow@master
        env:
          GITHUB_TOKEN: $
        with:
          feed_list: "https://medium.com/feed/@protiumx"
          readme_path: "https://raw.githubusercontent.com/protiumx/blog/main/articles/004/index.html"
          template: '<li><a href="$url" target="_blank">$title</a></li>$newline'


파일을 확인하십시오here.
참고: github UI에서 작업을 트리거할 수 있도록 workflow_dispatch 트리거를 추가했습니다.

그게 다야. 몇 줄의 코드를 작성하고 github 페이지(또는 모든 페이지)에 대한 자동화 섹션을 추가했습니다.

관련 기사:


  • 👽

    좋은 웹페이지 즐겨찾기