Skip to content

About

公式CLIに便利機能を付け足したフォークです。

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Qiita CLI

Qiita CLI、Qiita Preview へようこそ!

Qiita CLI とは、手元の環境で記事の執筆・プレビュー・投稿ができるツールです。 Qiita CLI を使うことで、普段お使いのエディタなどを使って記事の執筆・投稿がしやすくなります。

ご利用の前に

Qiita CLI、Qiita Preview を利用されたら、利用規約、プライバシーポリシーに同意したものとみなします。

こちらの記事リンクもご覧ください

⭐ スターのお願い

少しでも興味が湧いたり、実際に使用してみてQiita CLIが便利だと感じたら、ぜひGitHubリポジトリにスターをつけていただけると嬉しいです。 スターをいただけると、開発のモチベーションが上がり、さらに良いツールをみなさんにお届けする力になります。

📝 記事投稿のお願い

Qiita CLIを使って記事が書けたら、ぜひQiitaに投稿してみてください。 投稿された記事は、多くの人々に役立ち、知識が共有されることに繋がります。 どんな些細な内容でも大丈夫ですので、ぜひ気軽にご投稿ください🙇‍♂️

Qiita CLIに関する記事

👉🏻 ご質問・フィードバックについて

より多くのフィードバックが集まることで、みなさんのお役に立てる機能をどんどん追加することができます。

  • よくあるお問い合わせ等を記載しております → FAQ
  • 不具合やご意見などございましたらQiita Discussionsへご投稿ください。

Qiita CLI の導入方法について

1. 事前準備

Qiita CLI を使うには Node.js 22.22.1 以上が必要です。 Node.js をはじめて使う場合はインストールする必要があります。

2. Qiita CLI をインストールする

Warning

Qiita公式で提供している Qiita CLI の npm package 名は @qiita/qiita-cli となります。 その他は異なるパッケージがインストールされてしまいます。必ずご確認の上、インストールしてください。

Qiita のコンテンツを管理したいディレクトリで、以下のコマンドを実行します。

npm install @qiita/qiita-cli --save-dev

以下のコマンドでバージョンが表示されればインストール完了です。

npx qiita version

3. Qiita CLI をアップデートする

Qiita CLI をアップデートする場合は以下のコマンドを実行します。

npm install @qiita/qiita-cli@latest

Qiita CLI のセットアップ方法について

init コマンドを実行する

以下のコマンドを実行することで、

  • .gitignore
  • GitHub Actions のワークフローファイル
    • 「GitHub で記事を管理する」の項目を参照
  • ユーザー設定ファイル(qiita.config.json)
    • 「ユーザー設定ファイルについて」の項目を参照

が生成されます。

npx qiita init

Qiita のトークンを発行する

以下の流れでトークンを発行してください。

発行したトークンはQiita CLIのログイン、GitHubで記事を管理するで利用します。

Qiita CLI のログイン

以下のコマンドより発行したトークンの登録を行います。

npx qiita login
発行したトークンを入力: トークンを入力しEnterキーを押す
Hi ユーザー名!

トークンを登録することで、Qiita のアカウントと紐付けがされ、記事の取得や投稿、更新が行えるようになります。

Qiita Preview の起動(プレビュー画面の表示)

本文の執筆は、ブラウザでプレビューしながら確認できます。
ブラウザでプレビューするためには以下のコマンドを実行します。コマンド実行時に、Qiita に投稿している記事がダウンロードされます。

npx qiita preview

コマンド実行すると、Qiita Preview(プレビュー画面)にアクセスすることが可能になります。
プレビュー画面のデフォルトの URL は http://localhost:8888 です。

記事ファイルの配置について

1 つの記事の内容は、1 つの markdown ファイル(◯◯.md)で管理します。
記事ファイルはpublicディレクトリ内に含める必要があります。

.
└─ public
   ├── newArticle001.md
   └── newArticle002.md

Qiita CLI で記事を管理する

記事の作成

Qiita Preview 上の「新規記事作成」ボタン、または以下のコマンドで新規記事を作成できます。

npx qiita new 記事のファイルのベース名

記事のファイルのベース名は自由に変更が可能です。

記事のファイル名をnewArticle001.mdにしたい場合はnewArticle001にします。

例): $ npx qiita new newArticle001

作成された記事ファイルの中身は次のようになっています。

---
title: newArticle001 # 記事のタイトル
tags:
  - "" # タグ(ブロックスタイルで複数タグを追加できます。記述した順番で投稿されます)
private: false # true: 限定共有記事 / false: 公開記事
updated_at: "" # 記事を投稿した際に自動的に記事の更新日時に変わります
id: null # 記事を投稿した際に自動的に記事のUUIDに変わります
organization_url_name: null # 関連付けるOrganizationのURL名
slide: false # true: スライドモードON / false: スライドモードOFF
ignorePublish: false # true: `publish`コマンドにおいて無視されます(Qiitaに投稿されません) / false: `publish`コマンドで処理されます(Qiitaに投稿されます)
posting_campaign_uuid: null # 紐付ける記事投稿キャンペーンのUUID(UUIDは`posting-campaigns`コマンドで確認できます)
agreed_posting_campaign_term: false # true: キャンペーンの規約に同意する(`posting_campaign_uuid`を指定する場合は`true`が必須です)
---
# new article body

ファイルの上部には---に挟まれる形で記事の設定(Front Matter)が含まれています。
ここに記事のタイトル(title)やタグ(tags)などを yaml 形式で指定します。

記事の投稿・更新

Qiita Preview 上の「記事を投稿する」ボタン、または以下のコマンドで投稿・更新ができます。

npx qiita publish 記事のファイルのベース名

以下のコマンドで全ての記事を反映させることができます。

npx qiita publish --all

--forceオプションを用いることで、強制的に記事ファイルの内容を Qiita に反映させます。

npx qiita publish 記事ファイルのベース名 --force
# -f は --force のエイリアスとして使用できます。
npx qiita publish 記事ファイルのベース名 -f

記事の削除

Qiita CLI、Qiita Preview から記事の削除はできません。
publicディレクトリから markdown ファイルを削除しても Qiita 上では削除はされません。

Qiita上で記事の削除を行なえます。

Qiita CLI でスライドを管理する

Qiita CLI では、Marp 形式の markdown ファイルでスライドを作成し、Qiita に投稿できます。

Note

スライド機能は、Qiita のベータ版を利用しているユーザーのみ利用できます。 それ以外のユーザーがpull、preview、publishコマンドを実行した場合、スライドの同期は行われず、previewにもスライドは表示されません。publish --allはスライドを投稿せずに記事だけを投稿し、ファイル名を指定してスライドを投稿しようとした場合はエラーになります。

スライドファイルの配置について

1 つのスライドの内容は、1 つの markdown ファイル(◯◯.md)で管理します。
スライドファイルは記事ファイルと同じくpublicディレクトリ内に含める必要があります。
frontmatter にmarp: trueがあるファイルがスライド、ないファイルが記事として扱われます。

.
└─ public
   ├── newArticle001.md
   └── slides
       ├── newSlide001.md
       └── newSlide002.md

ファイル名を指定せずに作成したスライドと、Qiita 上にだけあるスライドはpublic/slidesディレクトリに保存されます。

スライドの作成

Qiita Preview 上の「新規スライド作成」ボタン、または以下のコマンドで新規スライドを作成できます。

npx qiita new --slide スライドのファイルのベース名

作成されたスライドファイルの中身は次のようになっています。

---
title: newSlide001 # スライドのタイトル
id: null # スライドを投稿した際に自動的にスライドのUUIDに変わります
updated_at: null # スライドを投稿した際に自動的にスライドの更新日時に変わります
description: "" # スライドの説明
ignorePublish: false # true: `publish`コマンドにおいて無視されます(Qiitaに投稿されません) / false: `publish`コマンドで処理されます(Qiitaに投稿されます)
visibility:
  type: public # スライドの公開範囲(下記参照)
marp: true
theme: default # Marp のテーマ
---

# Title

---

# Page 2

title、id、updated_at、description、ignorePublish、visibility以外の項目(theme、paginateなど)は、Marp のディレクティブとしてそのままスライドに反映されます。
本文は---でページを区切ります。

visibility.typeにはスライドの公開範囲を次のいずれかで指定します。

type 公開範囲
public 全体公開
only_me 自分のみ
url リンク限定
members_only メンバー限定

members_onlyの場合は、スライドを共有するユーザーまたは Organization の URL 名をurl_namesに指定します。

visibility:
  type: members_only
  url_names:
    - alice
    - increments

一度全体公開したスライドは、他の公開範囲に戻せません。

スライドの投稿・更新

Qiita Preview 上の「スライドを投稿する」ボタン、または記事と同じpublishコマンドで投稿・更新ができます。

npx qiita publish スライドのファイルのベース名

npx qiita publish --allを実行すると、記事とあわせて全てのスライドを反映させます。ignorePublish: trueのスライドは対象外です。

スライドの同期

pull、previewコマンドを実行すると、記事とあわせて Qiita 上のスライドもpublicディレクトリに同期されます。

GitHub で記事を管理する

GitHub の設定について

以下の流れで設定を行うことで、GitHub の特定のブランチにコミットしたタイミングで記事の投稿や更新を行うことが可能になります。

  1. GitHub にリポジトリを作成します。
  2. https://github.com/[ユーザー名]/[リポジトリ名]/settings/secrets/actions から、シークレットにQIITA_TOKENという名前で発行した Qiita のトークンを保存します。
  3. qiita init を実行したディレクトリ全体を作成したリポジトリにプッシュします。

デフォルトはmainまたはmasterブランチにコミットがあった場合、自動で Qiita へ記事の投稿・更新がされます。
処理の実行の条件は.github/workflows/publish.ymlから変更することが可能です。

Qiita CLI のコマンド、オプションについて

help

簡単なヘルプが見れます。

npx qiita help

pull

記事ファイル、スライドファイルを Qiita と同期します。
Qiita 上で更新を行い、手元で変更を行っていない記事ファイル、スライドファイルのみ同期されます。

npx qiita pull

--forceオプションを用いることで、強制的に Qiita 上の内容を記事ファイル、スライドファイルに反映させます。

npx qiita pull --force
# -f は --force のエイリアスとして使用できます。
npx qiita pull -f

posting-campaigns

開催中の記事投稿キャンペーンの一覧を表示します。(最大100件)
記事を紐付ける際に frontmatter へ指定する UUID や、規約 URL を確認できます。

npx qiita posting-campaigns

version

Qiita CLI のバージョンを確認できます。

npx qiita version

ユーザー設定ファイルについて

npx qiita initコマンドで生成されるqiita.config.jsonについて説明します。
このファイルを用いて、Qiita CLI の設定を行うことができます。
設定できるオプションは以下の通りです。

  • includePrivate: qiita.com からダウンロードして保存する記事に限定共有記事を含めるかどうかを選べます。デフォルトはfalseです。
  • host: qiita previewコマンドで利用するホストを指定できます。デフォルトはlocalhostです。
  • port: qiita previewコマンドで利用するポートを指定できます。デフォルトは8888です。

オプション

--credential <credential_dir>

Qiita CLI の認証情報(credentials.json)を配置する・しているディレクトリを指定できます。 デフォルトでは$XDG_CONFIG_HOME/qiita-cliもしくは$HOME/.config/qiita-cliになっています。

npx qiita login --credential ./my_conf/
npx qiita preview --credential ./my_conf/

--config <config_dir>

Qiita CLI の設定情報(qiita.config.json)を配置する・しているディレクトリを指定できます。

デフォルトでは、カレントディレクトリになります。

例)

npx qiita login --config ./my_conf/
npx qiita preview --config ./my_conf/

--root <root_dir>

記事ファイルがダウンロードされるディレクトリを指定できます。
デフォルトでは、カレントディレクトリになります。

例)

npx qiita preview --root ./my_articles/
npx qiita publish c732657828b83976db47 --root ./my_articles/

--verbose

詳細なログを出力できます。

npx qiita login --verbose
npx qiita preview --verbose

FAQ

限定共有投稿をする方法がわからない

ユーザー設定ファイルで下記指定をします。
includePrivate: true (デフォルトはfalseです。)
qiita.com からダウンロードして保存する記事に限定共有記事を含めるかどうかを選べます。

記事ファイルで下記指定をします。
private: true(private: false # true: 限定共有記事 / false: 公開記事)

エラーが出て解決しない

現在、エラー内容が適切に表示できていない場合がございます。

エラーを解決できない場合は、こちらのDiscussions も参考にしてみてください🙇
increments/qiita-discussions#561

不具合・ご意見は Discussions へ

不具合・ご意見等ございましたらQiita Discussionsへお寄せください。

About

公式CLIに便利機能を付け足したフォークです。

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages