51
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

GitHubプロフィールにブログやQiitaの最新記事を表示する

こんにちは.

皆様, GitHub Profile README は使っていますか? GitHub のプロフィールページに任意の Markdown 文章を表示できるアレです.

私も最初は名前とリンクだけを適当に貼ったページを用意していましたが, GitHub Readme Stats を見つけてから, README のカスタマイズが楽しくなってしまいました.

ブログの新着記事を表示したい

本題です.

GitHub で, 生やした草やリポジトリに加え, README でアピールできるようになった今, プロフィールを見に来てくださった人に最新のブログ記事や Qiita 記事更新をアピールしたくないですか?

というわけで, RSS フィードから最新記事を取得して Markdown を自動更新する GitHub Actions アクションを作りました1:

Actions Readme Feed - GitHub Marketplace

使い方

基本的にはマーケットプレイスのページに書いてある通りです.

README.md の記事一覧を挿入したい箇所にフラグコメントを突っ込みます:

### Recent Blog Posts
<!-- feed start -->
<!-- feed end -->

.github/workflows/ 以下のワークフローにステップを追加します. コミットまではやらないので気合で頑張ります. この辺のアクションを使うと楽かもしれません...:

steps:
  - uses: actions/checkout@v2
  - uses: sarisia/actions-readme-feed@v1
    with:
      url: 'https://note.sarisia.cc/index.xml'
      file: 'README.md'
  - run: |
      git config --global user.name "${{ github.actor }}"
      git config --global user.email "${{ github.actor }}@users.noreply.github.com"
      git add .
      git commit -m "docs: update feed" || true
      git push

プロフィールページにブログの投稿が追加されます!

actions-readme-feed.png

応用編

Qiita の表示

https://qiita.com/[username]/feed でRSSフィードが取れるので2, これを url として渡します:

- uses: sarisia/actions-readme-feed@v1
  with:
    url: 'https://qiita.com/sarisia/feed'
    file: 'README.md'

自動更新

Workflow を schedule で回してあげれば自動更新できます:

on:
  schedule:
    - cron: '0 */6 * * *'

jobs:
  readme:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: sarisia/actions-readme-feed@v1

まとめ

出力のテンプレート機能やフラグ変更など, もっと高度なカスタマイズも出来るようになっているので, リポジトリページも参考に是非使ってみてください!


  1. 実は一週間先を越されていた: README the RSS が, 多分カスタマイズできるオプションはこっちのほうが多いはず… 

  2. 公式のドキュメントが無いのでいつか急に消滅するかもしれません 

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
51
Help us understand the problem. What are the problem?