Qiita 記事のURLの最後に.mdをつけることで、記事の markdown を表示させることができます。

たとえば、以下の記事の markdown は以下のリンクになります。

上記を利用して、自分が投稿した記事の markdown を一括で取得したいと思います。

目次

前提条件

  • markdown ファイル名は 記事タイトル.md
  • 記事のタイトルに/が入っていないこと
  • 以下のコマンドがインストールされていること

    • jq
    • nkf

コマンド

  • USERNAMEに Qiita ユーザー名を指定します。
  • 投稿記事が 100 個以上の場合は、&page=2を使って繰り返し実行すれば全記事が取得できそうです。
USERNAME=yumenomatayume # ユーザー名を指定
articles=$(curl -s "https://qiita.com/api/v2//users/${USERNAME}/items?per_page=100" | jq -r ".[].url")

for article in $articles;do
  file=$(echo "$(curl -s $article.md | grep '^title:' | sed -E 's/^title: //g').md" | nkf -w --url-input)
  curl -s $article.md > "$file"
done

GitHub Actions に設定する

以上を踏まえて、Qiita 記事を自動で取得できるリポジトリを作りました。

ymmmtym/qiita: Qiita Articles

GitHub Actions で、1 時間ごとにコマンドを実行するようにしています。

Reference