qiita_org manual

\![Mac OS X-10.13.3](<https://img.shields.io/badge/MacOSX-10.13.3-brightgreen>) \![ruby-2.7.0p0](<https://img.shields.io/badge/ruby-2.7.0p0-brightgreen>) 

以下にOrg-modeテキストをQiitaに投稿するためのgem qiita\_orgのインストールから設定，コマンドの使用方法のmanualを書きます．


# 使用方法


## インストール

terminalにて，gemを使うことでインストールすることができる．

```bash
> gem install qiita_org
```

インストール後，動作確認を行う.

```bash
    > qiita
Commands:
  qiita all [teams/public/private] [options]    # post all org files in the d...
  qiita config [global/local] [option] [input]  # set config
  qiita get [qiita/teams] [ITEM_ID]             # get qiita report
  qiita help [COMMAND]                          # Describe available commands...
  qiita list [qiita/teams]                      # view qiita report list
  qiita post [FILE] [private/public/teams]      # post to qiita from org
  qiita say_hello                               # say_hello
  qiita template                                # make template.org
  qiita upload [FILE] [teams/public/private]    # upload about image to qiita
  qiita version                                 # show version
```

このようにコマンド一覧が表示されていれば,インストール完了である．


## 設定方法

Qiitaへ記事を投稿するにはqiita\_orgのインストールだけでなく，コマンドで設定ファイルを作成し，以下のような設定をする必要がある．

-   pandocのインストール．
-   名前，emailアドレスの登録．
-   Qiitaのアクセストークンを取得して登録.
-   Qiita:TeamのURLを登録（所属するTeamがある場合）.

まず,pandocというmarkdownのテキストをOrg-modeのテキストに変換するパッケージを使用しているので，これをインストールする． 

```bash
//macの場合//
> brew install pandoc

//ubuntuの場合//
> sudo apt update
> sudo apt install pandoc
```

次に設定ファイルをHOMEディレクトリに作成する．

```bash
> qiita config global
```

もう一度同じように実行し，コピーされた設定ファイルの雛形を確認する．

```bash
> qiita config global
/Users/kentayamamoto/Github/yamatoken/.qiita.conf

"name": ""
"email": ""
"access_token": ""
"teams_url": ""
"display": "open"
"ox_qmd_load_path": "~/.emacs.d/site_lisp/ox-qmd"
```

次に，名前とemailアドレスの登録を行う．

```bash
> qiita config global name 'Your Name'
> qiita config global email 'your_email@example.com'
```

![access_token_set.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/56d71747-fe72-d73a-0d74-3c588038798c.png)

Qiitaのwebサイト上で上記画像のように操作し，必要な「スコープ」にチェックを入れ発行する．ページを移動すると個人用のアクセストークン欄に発行されたアクセストークンが表示される．これをコピーし以下のように実行する．

```bash
> qiita config global access_token 'コピーしたアクセストークン'
```

最後に，Qiita:Taemに所属いているのではれば，

```bash
> qiita config global teams_url 'https://hoge.qiita.com/'
```

と実行し登録する．

また，複数のTeamに所属している場合や，ディレクトリごとにメールアドレスを設定したい場合があればlocalの設定ファイルを指定できる．設定ファイルを作りたいディレクトリにて，

```bash
> qiita config local set
```

と実行し，その後は上記の設定と同様に書き込んでいくことでlocalの投稿設定ができる．


## コマンドの使用方法


### post

Qiitaへ記事を投稿するためのコマンドである．

コマンドは'qiita post [投稿したいfile] [option]'.

例えば，hoge.orgというファイルを公開記事として投稿するには以下のように実行する．

```bash
> qiita post hoge.org public
```

optionには'public','private','teams'があり，それぞれ公開記事，限定共有記事，Qiita:Teamへの投稿を表している．

また，すでに投稿済みの記事でOrg-modeテキスト上に記事のIDが記載されているものに関しては，optionを省略することができ，一番上に記載されているIDへ投稿される．

アスタリスクやxargsなどを用いた複数のファイルの投稿にも対応しており，

```bash
> qiita post hoge*.org private
> ls -1 hoge*.org | xargs qiita post
```

などと実行するとhogeとついたファイルを一度に投稿することができる．


### upload

Org-modeテキスト上に記載された図や写真をQiitaに表示させるためのコマンドである．

コマンドは'qiita upload [投稿したいfile] [option]'

optionについてはpostコマンドと同様である．

![upload_example1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/70645f39-4928-5682-940f-362bac87ef17.png)

Webページ上に表示されている'編集する'をクリックし，編集画面に移動する．

![upload_example2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/070f9276-8933-174c-294a-b717a51e620c.png)

上記の作業を終えた後，ターミナル上に

```bash
Overwrite file URL's on test2.org? (y/n)
```

と表示されているので，'y'を押すとOrg-modeテキスト上にURLが記載され，これ以降記事を投稿した際uploadを行わなくても表示するようにできる．


### template

Qiita投稿用のヘッダーが記載されたOrg-modeテキストテンプレートを取得するためのコマンドである．

コマンドは'qiita template [ファイル名]'.

実行すると，OS情報やRubyのバージョンを記載するか聞かれる.'y'を入力で記載，'n'で記載しないことを指定できる．

ファイル名を指定すれば，そのファイル名通りのOrg-modeテキストが作成される．指定しなければ'template.org'が作成される．


### get

コマンドを実行したディレクトリ内にQiita上の記事をOrg-modeテキストとして保存するためのコマンドである．

コマンドは'qiita get [qiita/teams] [記事のID]'.

optionはqiitaかteamsで，それぞれQiita上の記事，Qiita:Team上の記事の取得を指定できる．

記事のIDを指定すれば，そのID通りの記事が取得できる．

IDとはQiitaのWebページURLの一番最後に記載されている文字列のことである．

例えば，'https://qiita.com/yamatoken/private/hogehogehoge'の'hogehogehoge'の部分のことである．

IDの指定がなければ，optionで指定した方の記事のタイトルを順次表示し，取得するかしないかを選択できる．'y'が取得，'n'は次へ,'e'は終了を表している．

取得した記事は'id.org'としてディレクトリ内に作成される．


### list

qiita上の記事のタイトルやURLを表示するためのコマンドである．

コマンドは'qiita list [qiita/teams]'.

optionを'qiita'と指定すれば，Qiita上の自分の記事を最新から100件表示し，teamsとすれば，Qiita:Team上の全ての記事を最新から100件表示する．


### all

ディレクトリ内の全てのOrgファイルをQiitaへ投稿するためのコマンドである．

'qiita all'と実行すると全てのOrgファイルをファイル内のIDの記載通りに投稿する．ID記載の無いファイルは限定共有記事として新規投稿される．

optionの指定も可能で，post,upload同様public,private,teamsを選択でき，選択した場合指定の場所にしか投稿しない．

また，'&#x2013;exclude'と引数を使いファイルを指定するとそのファイルを除外してそれ以外を全て投稿する．例えば，数あるOrgファイルの中から'hoge.org'だけは投稿したく無い場合は，

```bash
> qiita all --exclude hoge.org
```

と実行することで除外できる．アスタリスクなどを用いて複数のファイルを除外することも可能．


### config

'qiita\_org'を使用するための設定ファイルを設定するためのコマンド．設定方法は上記の'設定方法'の通りである．

```bash
> qiita config [global/local]
```

と実行すると，現在設定されている内容を確認できる．



------
 - **source** ~/Github/yamatoken/qiita_org_manual/qiita_org_manual_final.org