Open8
Qiita CLIを触る(のをZennスクラップに書く)
Qiita CLIが出ていたので触ってみようと思う。
Zennも使い始めたのでせっかくなのでスクラップにログを残しながら。
インストールは上記に準じて。
npm
の代わりにpnpm
でやってみる(特に意味はない)
事前準備で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
のフロントマターと本文を編集。
フロントマターはtitle
とprivate
(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
GitHub Actionsを使ってGitHubに記事をPushした時点で、Qiitaに自動でアップロードすることもできるようだが検証は一旦ここまで。
QiitaとZennの記事をまとめて1リポジトリで管理したいので、以下のActionをちょこっと書き換える必要がありそう。