Open8

Qiita CLIを触る(のをZennスクラップに書く)

やぼやぼ

事前準備でQiitaのトークンを発行。

  • https://qiita.com/settings/applications へログインした状態でアクセスします。
  • 設定 > アプリーケーション > 個人用アクセストークン からトークンを発行します。
    • トークンの権限には「read_qiita」と「write_qiita」を設定します。
やぼやぼ

qiita-cliのインストールとバージョン、ヘルプの確認。

pnpm install @qiita/qiita-cli
pnpm exec qiita version
0.1.0
pnpm exec qiita help
USAGE:
qiita <COMMAND> [<OPTIONS>]

COMMAND:
  init                    記事をGitHubで管理するための初期設定
  login                   Qiita APIの認証認可
  new [<basename>] ...    新しい記事を追加
  preview                 コンテンツをブラウザでプレビュー
  publish <basename> ...  記事を投稿、更新
  publish --all           全ての記事を投稿、更新
  pull                    記事ファイルをQiitaと同期
  version                 qiita-cliのバージョンを表示
  help                    ヘルプを表示

OPTIONS:
  --config <config_dir>
    qiita-cliの設定情報を配置するディレクトリを指定

  --root <root_dir>
    記事ファイルをダウンロードするディレクトリを指定

  --verbose
    詳細表示オプションを有効

詳細についてはReadme(https://github.com/increments/qiita-cli)をご覧ください
やぼやぼ

ひとまずログインして記事を取得してみる。

pnpm exec qiita login
Enter your token: 
Hi yaboxi_!
pnpm exec qiita pull
Sync local articles from Qiita
Successful!ls public
0cdc2818bf8acf6f00de.md  70249bd5a977d614aa4c.md  b31f4f7832305cf7d7f3.md
266b5ce18e57aa1faca1.md  7ab393f7eccee0382aef.md  b4750a4f9d90115e0975.md
284ae777f25001920b6c.md  869f8741e0978d9d84fe.md  b8d63235e00e14063606.md
...

どうやらWeb版Qiitaで作成した記事のファイル名はデフォルトではUUIDになる模様。

やぼやぼ

テスト記事を作成して手元で表示してみる。

まずはテスト記事(test.md)の作成。

pnpm exec qiita new test
created: test.md

続いてtest.mdのフロントマターと本文を編集。
フロントマターはtitleprivate(trueにすると限定共有になる)を修正。

test.md
---
title: Qiita CLI Upload Test
tags:
  - ""
private: true
updated_at: ""
id: null
organization_url_name: null
---

# Qiita CLI Upload Test

hogehoge

この状態で手元で動かしてみる。

pnpm exec qiita preview
Preview: http://localhost:8888

おお、これはいい感じ。

やぼやぼ

続いてtest.mdをそのままQiitaに投稿してみる。

❯ pnpm exec qiita publish test
Validation error:
test [ 'タグを入力してください' ]
Nothing to publish

どうやらタグを設定しないとアップロードできない制約がある模様。適当にタグを設定して再度実行。

❯ pnpm exec qiita publish test
Posted: test -> 309dd424e9242d1e1f48
Successful!

Qiita Webを見ると無事アップロードされていた。やったぜ。

test.mdを見直すとupdated_at, id部分が更新されている。
また、qiita publishした時点でpublic/.remote内に{UUID}.mdが作成されていたようだ。

test.md
---
title: Qiita CLI Upload Test
tags:
  - Qiita
private: true
updated_at: '2023-07-01T05:01:24+09:00'
id: 309dd424e9242d1e1f48
organization_url_name: null
---

# Qiita CLI Upload Test

hogehoge