qiita_org 0.1.11 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 742401dcbd4870451b8a3d3fa2db0a2cf973043aaa75da2d9732b2f8b6ac9d67
4
- data.tar.gz: 1764449a6d54c06e1543ed1153514933e19ef03d10cc5889d23f8f4adba447cd
3
+ metadata.gz: 5486363fde020c10fbd5fa617a3188b0d77596510b83177711026d9a17d13f78
4
+ data.tar.gz: e5f88669168b58df15df34325d0d6083bf4ff743e03d518ffc3bd028658c59da
5
5
  SHA512:
6
- metadata.gz: '09571c9ee55def24345f54203d86ede06a75a258c92775c47a7b5cf0e3df5662dca99e11039d76a37493b5b5655da67ca5460bcff13fcddf9297c79597b2ca41'
7
- data.tar.gz: 0d3fe77479cabff025a276650567ee4311f5cde91363692973728c959bf25e996f787e74867fc47197ad4e44f89824cb07b1f7759cdeaf2cbf7a38f74adcd9a9
6
+ metadata.gz: f537c52acfdbb2bcb1d3354b5b69e2ff719ea518e98ddd932e290695ff49c60a7b0403355adcd8f22ab53fb77ba9d3c3000d37a61304e8377c8846ee1c626847
7
+ data.tar.gz: 37658438bf93d3a0ec4a25887e84a0ec525bdf9357621b2ea9330eeaa12228884190100668890eba4b4ae05c2c32ddf8cf20224b931e78b7ad7ddf5944345f31
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qiita_org (0.1.10)
4
+ qiita_org (0.1.15)
5
5
  colorize
6
6
  command_line (> 2.0.0)
7
7
  fileutils
data/README.md CHANGED
@@ -1,42 +1,199 @@
1
+
2
+
1
3
  # QiitaOrg
2
4
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file \`lib/qiita\_org\\\`. To experiment with that code, run \`bin/console\` for an interactive prompt.
5
+ \![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>) \![qiita\_org version](<https://img.shields.io/badge/qiitaorg-0.1.8-brightgreen>)
6
+
7
+
8
+ ## 概要
9
+
10
+ qiita\_orgはqiitaへの投稿にあたって,テキストの作成から投稿までをterminal上で一括で行いたいというコンセプトでできたgemです.
11
+
12
+ emacs org-modeで作成したテキストをCUIでqiitaに投稿します.
13
+
14
+ 注意点:command\_lineを使用しているのでrubyのバージョンは2.4.0以上にしてください.また,emacsのバージョンは26.3以上をお勧めします.
15
+
16
+
17
+ ## 使用例
18
+
19
+ まず,org-modeの投稿用テンプレートを取得します.'qiita template'とコマンドを打ち,環境を書き込むかを決めtemplate.orgを作成します.![img](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/76dc9d92-3a77-5523-7a21-571f691402bb.png)
20
+
21
+ すると,このようなorgが作成されます.![img](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/4a38e62f-9cae-1bf1-ee51-080706c64f6f.png)
22
+
23
+ ここのtitle,tagをqiitaに載せる用のものに変更してあとは従来通り本文を書くだけ.
24
+
25
+ 本文が作成できたら,あとは投稿用のコマンドを実行するだけ.試しに限定共有投稿へ投稿してみるとこんな感じ.![img](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/3f7179f4-e150-7a63-b8ba-e936b925d7be.png)
26
+
27
+ ズラズラーっと出ますが,設定がちゃんとできていれば投稿が完了し,Safariで投稿したページが開きます.
28
+
29
+ 投稿した記事にはSouceとしてどこのディレクトリに元のorgテキストがあるか表示されるので,少し前の記事を編集したい時でも便利なはず...
30
+
31
+
32
+ ## インストール
33
+
34
+ ```bash
35
+ gem install qiita_org
36
+ ```
37
+
38
+ get commandにpandocを使っているのでインストールしてください.macなら
39
+
40
+ ```bash
41
+ brew install pandoc
42
+ ```
43
+
44
+ ubuntuなら
45
+
46
+ ```bash
47
+ sudo apt update
48
+ sudo apt install pandoc
49
+ ```
50
+
51
+
52
+ ## 設定ファイルの作成
53
+
54
+ ```bash
55
+ qiita config global
56
+ ```
57
+
58
+ とし,設定ファイルをホームディレクトリに作成する.
59
+
60
+
61
+ ### Qiitaのアクセストークンの作成方法と設定ファイルへの書き込み
62
+
63
+ [<https://qiita.com/settings/applications>](<https://qiita.com/settings/applications>)にて
64
+
65
+ 個人用アクセストークンの'新しくトークンを発行する'をクリック.![img](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/de93b61e-b42d-8364-7282-ee1bdbd572ad.png)
66
+
67
+ アクセストークンの説明を書き,スコープのところは画像のように全てにチェックを入れる.その後発行をおす.![img](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/7012077d-fba8-e823-d29c-dc93939b4d6b.png)
68
+
69
+ ページが移動すると個人用アクセストークンのところにアクセストークンが表示されているので,コピーしてください.(この文字列はページを移動すると再表示できなくなるので注意してください.)
70
+
71
+ ターミナルに戻り,以下のように実行.
72
+
73
+ ```bash
74
+ qiita config global access_token 'your accesstoken'
75
+ ```
76
+
77
+ 'your accesstoken'のところには先ほどコピーしたアクセストークンをペーストしてください.
78
+
79
+
80
+ ### 名前の登録
81
+
82
+ ```bash
83
+ qiita config global name 'your name'
84
+ ```
85
+
86
+
87
+ ### メールアドレスの登録
88
+
89
+ ```bash
90
+ qiita config global email 'your email'
91
+ ```
92
+
93
+
94
+ ### QiitaTeamURLの登録
95
+
96
+ 'teams'というoptionを使うために必要なので,所属しているQiitaTeamがあるのならこの設定を行なってください.なければ設定しなくて大丈夫です.
97
+
98
+ ```bash
99
+ qiita config global teams_url 'https://foge.qiita.com/'
100
+ ```
101
+
102
+ URLは最後に'/'をつけるのを忘れないように注意してください.
103
+
4
104
 
5
- TODO: Delete this and the text above, and describe your gem
105
+ ### localの設定ファイルを作る方法
6
106
 
7
- ## Installation
107
+ 複数のTeamに所属している場合や,ディレクトリごとにメールアドレスを設定したい場合があればlocalの設定ファイルを指定できます.
8
108
 
9
- Add this line to your application's Gemfile:
109
+ 設定ファイルを作りたいディレクトリにて,
10
110
 
11
- ```ruby
12
- gem 'qiita_org'
111
+ ```bash
112
+ qiita config local set
13
113
  ```
14
114
 
15
- And then execute:
115
+ とし,上記の初期設定のglobalをlocalに変えてそのほかを同じように書き込んでいくとできます.
116
+
117
+
118
+ # コマンド一覧
119
+
120
+ - qiita all
121
+ - qiita config [global/local] [option] [input]
122
+ - qiita get [qiita/teams] [記事のID]
123
+ - qiita list [qiita/teams]
124
+ - qiita post [FILE] [private/public/teams]
125
+ - qiita template
126
+
127
+
128
+ ## qiita all
129
+
130
+ カレントディレクトリ内の全てのorgファイルをqiitaに投稿するコマンドです.
131
+
132
+ orgファイル内にidの記載のあるものは記事の更新,id記載のないものに関しては全て限定共有投稿に投稿されます.
133
+
134
+
135
+ ## qiita config
136
+
137
+ qiita\_orgの設定ファイルの作成と確認を行うコマンドです.
138
+
139
+ 設定方法については上記の通りです.
16
140
 
17
- $ bundle install
18
141
 
19
- Or install it yourself as:
142
+ ## qiita get
20
143
 
21
- $ gem install qiita_org
144
+ Qiitaの記事を取得するためのコマンドです.
22
145
 
23
- ## Usage
24
146
 
25
- TODO: Write usage instructions here
147
+ ## 特定記事の取得方法
26
148
 
27
- ## Development
149
+ qiita get [qiita/teams] [記事のID]
28
150
 
29
- After checking out the repo, run \`bin/setup\` to install dependencies. Then, run \`rake spec\` to run the tests. You can also run \`bin/console\` for an interactive prompt that will allow you to experiment.
151
+ 実行することで指定した記事をid.orgとしてディレクトリ内に作成します.
30
152
 
31
- To install this gem onto your local machine, run \`bundle exec rake install\`. To release a new version, update the version number in \`version.rb\`, and then run \`bundle exec rake release\`, which will create a git tag for the version, push git commits and tags, and push the \`.gem\` file to [rubygems.org](<https://rubygems.org>).
32
153
 
33
- ## Contributing
154
+ ## 複数記事の取得方法
34
155
 
35
- Bug reports and pull requests are welcome on GitHub at <https://github.com/[USERNAME]/qiita_org>.
156
+ 自分のQiitaもしくはQiitaTeamの記事を最新から100個まで表示し取得できます.
36
157
 
37
- ## License
158
+ qiita get [qiita/teams]
159
+
160
+ 実行するとタイトルが表示されるので,保存したければ'y'いらなければ'n'を入力する.終了は'e'
161
+
162
+
163
+ ## qiita list
164
+
165
+ 自分のQiitaもしくはQiitaTeamの記事を最新から100個までterminal上に表示するコマンドです.
166
+
167
+ qiita list [qiita/teams]
168
+
169
+ 実行するとオプションがqiitaならtitle, URL, 記事の元となったorgファイルの場所が表示されます.
170
+
171
+ teamsの方ではさらに誰の記事かが表示されます.
172
+
173
+
174
+ ## qiita post
175
+
176
+ Qiitaにorg-modeで書いたテキストを投稿するためのコマンドです.
177
+
178
+ qiita post [FILE] [private/public/teams]
179
+
180
+ FILEには投稿したいorgファイルを,privateは限定共有投稿,publicは公開記事,teamsはQiitaTeamに投稿されます.
181
+
182
+ 例:
183
+
184
+ ```
185
+ qiita post example.org private
186
+ ```
187
+
188
+ と実行すると限定共有記事にexample.orgの内容が投稿されます.
189
+
190
+
191
+ ## qiita template
192
+
193
+ qiita\_orgで投稿するためのヘッダーがついたorgファイルを取得するコマンドです.
194
+
195
+ カレントディレクトリにtemplate.orgを作成します.すでにtemplate.orgがある場合は作成されません.
38
196
 
39
- The gem is available as open source under the terms of the [MIT License](<https://opensource.org/licenses/MIT>).
40
197
 
41
198
  # future features
42
199
 
@@ -48,4 +205,5 @@ The gem is available as open source under the terms of the [MIT License](<https:
48
205
  - giita config => configを表示
49
206
 
50
207
  - cui, 変数名を適切に選ぶ,teams\_path -> teams\_url
51
- - qiita getの実装,
208
+ - qiita getの実装,
209
+
data/README.org CHANGED
@@ -11,46 +11,175 @@
11
11
 
12
12
 
13
13
  * QiitaOrg
14
+ ![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) ![qiita_org version](https://img.shields.io/badge/qiitaorg-0.1.8-brightgreen)
15
+ ** 概要
16
+ qiita_orgはqiitaへの投稿にあたって,テキストの作成から投稿までを
17
+ terminal上で一括で行いたいというコンセプトでできたgemです.
14
18
 
15
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/qiita_org`. To experiment with that code, run `bin/console` for an interactive prompt.
19
+ emacs org-modeで作成したテキストをCUIでqiitaに投稿します.
16
20
 
17
- TODO: Delete this and the text above, and describe your gem
21
+ 注意点:command_lineを使用しているのでrubyのバージョンは2.4.0以上にしてください.
22
+ また,emacsのバージョンは26.3以上をお勧めします.
23
+ ** 使用例
18
24
 
19
- ** Installation
25
+ まず,org-modeの投稿用テンプレートを取得します.
26
+ 'qiita template'とコマンドを打ち,環境を書き込むかを決めtemplate.orgを作成します.
27
+ https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/76dc9d92-3a77-5523-7a21-571f691402bb.png
20
28
 
21
- Add this line to your application's Gemfile:
29
+ すると,このようなorgが作成されます.
30
+ https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/4a38e62f-9cae-1bf1-ee51-080706c64f6f.png
22
31
 
23
- #+begin_src ruby
24
- gem 'qiita_org'
32
+ ここのtitle,tagをqiitaに載せる用のものに変更してあとは従来通り本文を書くだけ.
33
+
34
+ 本文が作成できたら,あとは投稿用のコマンドを実行するだけ.
35
+ 試しに限定共有投稿へ投稿してみるとこんな感じ.
36
+ https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/3f7179f4-e150-7a63-b8ba-e936b925d7be.png
37
+
38
+ ズラズラーっと出ますが,設定がちゃんとできていれば投稿が完了し,
39
+ Safariで投稿したページが開きます.
40
+
41
+ 投稿した記事にはSouceとしてどこのディレクトリに元のorgテキストがあるか
42
+ 表示されるので,少し前の記事を編集したい時でも便利なはず...
43
+
44
+ ** インストール
45
+ #+begin_src bash
46
+ gem install qiita_org
47
+ #+end_src
48
+
49
+ get commandにpandocを使っているのでインストールしてください.
50
+ macなら
51
+ #+begin_src bash
52
+ brew install pandoc
53
+ #+end_src
54
+
55
+ ubuntuなら
56
+ #+begin_src bash
57
+ sudo apt update
58
+ sudo apt install pandoc
59
+ #+end_src
60
+ ** 設定ファイルの作成
61
+ #+begin_src bash
62
+ qiita config global
25
63
  #+end_src
26
64
 
27
- And then execute:
65
+ とし,設定ファイルをホームディレクトリに作成する.
28
66
 
29
- : $ bundle install
67
+ *** Qiitaのアクセストークンの作成方法と設定ファイルへの書き込み
68
+ [https://qiita.com/settings/applications](https://qiita.com/settings/applications)にて
30
69
 
31
- Or install it yourself as:
70
+ 個人用アクセストークンの'新しくトークンを発行する'をクリック.
71
+ https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/de93b61e-b42d-8364-7282-ee1bdbd572ad.png
32
72
 
33
- : $ gem install qiita_org
73
+ アクセストークンの説明を書き,スコープのところは画像のように全てにチェックを入れる.その後発行をおす.
74
+ https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/7012077d-fba8-e823-d29c-dc93939b4d6b.png
34
75
 
35
- ** Usage
76
+ ページが移動すると個人用アクセストークンのところにアクセストークンが表示されているので,
77
+ コピーしてください.(この文字列はページを移動すると再表示できなくなるので注意してください.)
36
78
 
37
- TODO: Write usage instructions here
79
+ ターミナルに戻り,以下のように実行.
80
+ #+begin_src bash
81
+ qiita config global access_token 'your accesstoken'
82
+ #+end_src
83
+ 'your accesstoken'のところには先ほどコピーしたアクセストークンをペーストしてください.
38
84
 
39
- ** Development
85
+ *** 名前の登録
86
+ #+begin_src bash
87
+ qiita config global name 'your name'
88
+ #+end_src
40
89
 
41
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
90
+ *** メールアドレスの登録
91
+ #+begin_src bash
92
+ qiita config global email 'your email'
93
+ #+end_src
42
94
 
43
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
95
+ *** QiitaTeamURLの登録
96
+ 'teams'というoptionを使うために必要なので,
97
+ 所属しているQiitaTeamがあるのならこの設定を行なってください.
98
+ なければ設定しなくて大丈夫です.
99
+
100
+ #+begin_src bash
101
+ qiita config global teams_url 'https://foge.qiita.com/'
102
+ #+end_src
103
+
104
+ URLは最後に'/'をつけるのを忘れないように注意してください.
105
+
106
+ *** localの設定ファイルを作る方法
107
+ 複数のTeamに所属している場合や,ディレクトリごとにメールアドレスを設定したい場合が
108
+ あればlocalの設定ファイルを指定できます.
109
+
110
+ 設定ファイルを作りたいディレクトリにて,
111
+ #+begin_src bash
112
+ qiita config local set
113
+ #+end_src
44
114
 
45
- ** Contributing
115
+ とし,上記の初期設定のglobalをlocalに変えて
116
+ そのほかを同じように書き込んでいくとできます.
117
+ * コマンド一覧
118
+ - qiita all
119
+ - qiita config [global/local] [option] [input]
120
+ - qiita get [qiita/teams] [記事のID]
121
+ - qiita list [qiita/teams]
122
+ - qiita post [FILE] [private/public/teams]
123
+ - qiita template
46
124
 
47
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/qiita_org.
125
+ ** qiita all
126
+ カレントディレクトリ内の全てのorgファイルをqiitaに投稿するコマンドです.
48
127
 
128
+ orgファイル内にidの記載のあるものは記事の更新,id記載のないものに関しては
129
+ 全て限定共有投稿に投稿されます.
130
+
131
+ ** qiita config
132
+ qiita_orgの設定ファイルの作成と確認を行うコマンドです.
133
+
134
+ 設定方法については上記の通りです.
135
+
136
+ ** qiita get
137
+ Qiitaの記事を取得するためのコマンドです.
138
+
139
+ ** 特定記事の取得方法
140
+ qiita get [qiita/teams] [記事のID]
141
+
142
+ 実行することで指定した記事をid.orgとしてディレクトリ内に作成します.
143
+
144
+ ** 複数記事の取得方法
145
+ 自分のQiitaもしくはQiitaTeamの記事を最新から100個まで表示し取得できます.
146
+
147
+ qiita get [qiita/teams]
148
+
149
+ 実行するとタイトルが表示されるので,保存したければ'y'いらなければ'n'を入力する.
150
+ 終了は'e'
151
+
152
+ ** qiita list
153
+ 自分のQiitaもしくはQiitaTeamの記事を最新から100個まで
154
+ terminal上に表示するコマンドです.
155
+
156
+ qiita list [qiita/teams]
157
+
158
+ 実行するとオプションがqiitaならtitle, URL, 記事の元となったorgファイルの場所
159
+ が表示されます.
160
+
161
+ teamsの方ではさらに誰の記事かが表示されます.
162
+
163
+ ** qiita post
164
+ Qiitaにorg-modeで書いたテキストを投稿するためのコマンドです.
165
+
166
+ qiita post [FILE] [private/public/teams]
167
+
168
+ FILEには投稿したいorgファイルを,
169
+ privateは限定共有投稿,publicは公開記事,teamsはQiitaTeamに投稿されます.
170
+
171
+ 例:
172
+ #+begin_src
173
+ qiita post example.org private
174
+ #+end_src
49
175
 
50
- ** License
176
+ と実行すると限定共有記事にexample.orgの内容が投稿されます.
51
177
 
52
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
178
+ ** qiita template
179
+ qiita_orgで投稿するためのヘッダーがついたorgファイルを取得するコマンドです.
53
180
 
181
+ カレントディレクトリにtemplate.orgを作成します.
182
+ すでにtemplate.orgがある場合は作成されません.
54
183
  * future features
55
184
  - qiita post => refactoring
56
185
 
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,5 +1,7 @@
1
+ # -*- coding: utf-8 -*-
1
2
  require "thor"
2
3
  require "colorize"
4
+ require "io/console"
3
5
  require "qiita_org/version"
4
6
  require "qiita_org/post"
5
7
  require "qiita_org/config"
@@ -7,6 +9,8 @@ require "qiita_org/get"
7
9
  require "qiita_org/list"
8
10
  require "qiita_org/get_template"
9
11
  require "qiita_org/check_pc_os"
12
+ require "qiita_org/get_file_path"
13
+ require "qiita_org/show_file_and_url"
10
14
  #require "qiita_org/qiita_org_thor"
11
15
 
12
16
  module QiitaOrg
@@ -17,8 +21,6 @@ module QiitaOrg
17
21
  #
18
22
  def initialize(*argv)
19
23
  super(*argv)
20
- checkos = CheckPcOs.new
21
- @os = checkos.return_os()
22
24
  end
23
25
 
24
26
  desc "say_hello", "say_hello"
@@ -28,13 +30,16 @@ module QiitaOrg
28
30
  puts "Hello #{name}."
29
31
  end
30
32
 
31
- desc "post", "post to qiita from org"
33
+ desc "post [FILE] [private/public/teams]", "post to qiita from org"
32
34
 
33
35
  def post(*argv)
36
+ checkos = CheckPcOs.new
37
+ os = checkos.return_os()
38
+
34
39
  p ["in qiita_org.rb", argv]
35
40
  p file = argv[0] || "README.org"
36
41
  p mode = argv[1] || "private"
37
- qiita = QiitaPost.new(file, mode, @os)
42
+ qiita = QiitaPost.new(file, mode, os)
38
43
  begin
39
44
  qiita.select_option(mode)
40
45
  rescue RuntimeError => e
@@ -42,9 +47,24 @@ module QiitaOrg
42
47
  else
43
48
  qiita.run
44
49
  end
50
+
51
+ =begin
52
+ getpath = GetFilePath.new(file)
53
+ paths = getpath.get_file_path()
54
+ unless paths.empty?
55
+ showfile = ShowFile.new(paths, file, mode)
56
+ showfile.open_file_dir()
57
+ puts "Do you show file URL? (y/n)".green
58
+ ans = STDIN.getch
59
+
60
+ if ans == "y"
61
+ showfile.show_file_url()
62
+ end
63
+ end
64
+ =end
45
65
  end
46
66
 
47
- desc "config", "set config"
67
+ desc "config [global/local] [option] [input]", "set config"
48
68
 
49
69
  def config(*argv)
50
70
  status = argv[0] || "local"
@@ -54,7 +74,7 @@ module QiitaOrg
54
74
  config.run
55
75
  end
56
76
 
57
- desc "get", "get qiita report"
77
+ desc "get [qiita/teams] [記事のID]", "get qiita report"
58
78
 
59
79
  def get(*argv)
60
80
  p mode = argv[0] || "qiita"
@@ -66,7 +86,10 @@ module QiitaOrg
66
86
  desc "template", "make template.org"
67
87
 
68
88
  def template(*argv)
69
- template = QiitaGetTemplate.new(@os)
89
+ checkos = CheckPcOs.new
90
+ os = checkos.return_os()
91
+
92
+ template = QiitaGetTemplate.new(os)
70
93
  end
71
94
 
72
95
  desc "all", "post all org file in the directory"
@@ -84,11 +107,17 @@ module QiitaOrg
84
107
  end
85
108
  end
86
109
 
87
- desc "list", "view qiita report list"
110
+ desc "list [qiita/teams]", "view qiita report list"
88
111
 
89
112
  def list(*argv)
90
113
  p mode = argv[0] || "qiita"
91
114
  QiitaList.new(mode)
92
115
  end
116
+
117
+ desc "version", "show version"
118
+
119
+ def version
120
+ puts QiitaOrg::VERSION
121
+ end
93
122
  end
94
123
  end
@@ -9,7 +9,7 @@ class QiitaConfig
9
9
  if status == "local"
10
10
  search = SearchConfPath.new(Dir.pwd, Dir.home)
11
11
  conf_dir = search.search_conf_path()
12
- if conf_dir == Dir.home || @option == "set"
12
+ if @option == "set"
13
13
  @setup = File.join(Dir.pwd, ".qiita.conf")
14
14
  else
15
15
  @setup = File.join(conf_dir, ".qiita.conf")
@@ -0,0 +1,23 @@
1
+ class GetFilePath
2
+ def initialize(src)
3
+ @src = src
4
+ end
5
+
6
+ def get_file_path()
7
+ lines = File.readlines(@src.gsub(".org", ".md"))
8
+ files = []
9
+ lines.each do |line|
10
+ if path2 = line.match(/\!\[img\]\(((.+))"(.+)"\)/)
11
+ files << path2[2]
12
+ end
13
+ end
14
+
15
+ paths = []
16
+ files.each do |file|
17
+ paths << File.join(Dir.pwd, file)
18
+ end
19
+ return paths
20
+ end
21
+ end
22
+
23
+ #GetFilePath.new("thesis.org")
@@ -0,0 +1,50 @@
1
+ require "net/https"
2
+ require "json"
3
+ require "open-uri"
4
+ require "io/console"
5
+ require "colorize"
6
+ require "qiita_org/search_conf_path.rb"
7
+
8
+ class GetFileUrl
9
+ def initialize(id, file, mode)
10
+ @id = id
11
+ @file = file
12
+ @mode = (mode == "qiita" || mode == "open")? "public" : mode
13
+ search = SearchConfPath.new(Dir.pwd, Dir.home)
14
+ @conf_dir = search.search_conf_path()
15
+ set_config()
16
+ end
17
+
18
+ def set_config()
19
+ conf_path = File.join(@conf_dir, ".qiita.conf")
20
+ @conf = JSON.load(File.read(conf_path))
21
+ @access_token = @conf["access_token"]
22
+ @teams_url = @conf["teams_url"]
23
+ end
24
+
25
+ def get_file_url()
26
+ qiita = (@mode == "teams")? @teams_url : "https://qiita.com/"
27
+ path = "api/v2/items/#{@id}"
28
+
29
+ items = access_qiita(@access_token, qiita, path)
30
+
31
+ file_url = items["body"].match(/\!\[#{@file}\]\(((.+))\)/)[2]
32
+ return file_url
33
+
34
+ #File.write("url_text.md", items["body"])
35
+ end
36
+
37
+ def access_qiita(access_token, qiita, path)
38
+ uri = URI.parse(qiita + path)
39
+
40
+ headers = { "Authorization" => "Bearer #{access_token}",
41
+ "Content-Type" => "application/json" }
42
+
43
+ response = URI.open(
44
+ "#{uri}",
45
+ "Authorization" => "#{headers["Authorization"]}",
46
+ )
47
+ items = JSON.parse(response.read)
48
+ return items
49
+ end
50
+ end
@@ -1,5 +1,6 @@
1
1
  require "fileutils"
2
2
  require "colorize"
3
+ require "kconv"
3
4
  require "qiita_org/search_conf_path"
4
5
 
5
6
  class QiitaGetTemplate
@@ -27,8 +28,8 @@ class QiitaGetTemplate
27
28
  def get_windowsos_version()
28
29
  system 'wmic.exe os get caption > hoge1.txt'
29
30
  system 'wmic.exe os get osarchitecture > hoge2.txt'
30
- version1 = File.read("hoge1.txt")
31
- version2 = File.read("hoge2.txt")
31
+ version1 = Kconv.tosjis(File.read("hoge1.txt"))
32
+ version2 = Kconv.tosjis(File.read("hoge2.txt"))
32
33
  m1, m2 = [], []
33
34
  m1 = version1.match(/Caption\nMicrosoft (.+) (.+)/)
34
35
  m2 = version2.match(/OSArchitecture\n(.+)-bit/)
@@ -85,7 +86,7 @@ class QiitaGetTemplate
85
86
  end
86
87
  end
87
88
  elsif @os == "windows"
88
- ["WindowsOS", "Ubuntu", "ruby"].each do |src|
89
+ ["Ubuntu", "ruby"].each do |src|
89
90
  print "Write #{src} version?(y/n) "
90
91
  ans = STDIN.gets.chomp
91
92
  next if ans == "n"
@@ -19,19 +19,19 @@ class QiitaPost
19
19
  public
20
20
  def get_title_tags()
21
21
  @conts = File.read(@src)
22
- @title = @conts.match(/\#\+(TITLE|title|Title): (.+)/)[2] || "テスト"
23
- m = []
22
+ m = @conts.match(/\#\+(TITLE|title|Title): (.+)/)
23
+ @title = m ? m[2] : "テスト"
24
24
  @tags = if m = @conts.match(/\#\+(TAG|tag|Tag|tags|TAGS|Tags): (.+)/)
25
- if m[2].count(",") >= 5
26
- puts "The maximum number of tag is five. Please delete some tags.".red
27
- exit
28
- end
29
- m[2].split(",").inject([]) do |l, c|
30
- l << { name: c.strip } #, versions: []}
31
- end
32
- else
33
- [{ name: "hoge" }] #, versions: [] }]
34
- end
25
+ if m[2].count(",") >= 5
26
+ puts "The maximum number of tag is five. Please delete some tags.".red
27
+ exit
28
+ end
29
+ m[2].split(",").inject([]) do |l, c|
30
+ l << { name: c.strip } #, versions: []}
31
+ end
32
+ else
33
+ [{ name: "hoge" }] #, versions: [] }]
34
+ end
35
35
  p @tags
36
36
  end
37
37
 
@@ -146,6 +146,7 @@ class QiitaPost
146
146
  system "explorer.exe #{@res_body["url"]}"
147
147
  else
148
148
  system "open #{@res_body["url"]}"
149
+ system "xdg-open #{@res_body["url"]}"
149
150
  end
150
151
  end
151
152
 
@@ -0,0 +1,36 @@
1
+ require "colorize"
2
+ require "qiita_org/get_file_url.rb"
3
+
4
+ class ShowFile
5
+ def initialize(paths, src, mode)
6
+ @paths = paths
7
+ @src = src
8
+ @mode = (mode == "qiita" || mode == "open")? "public" : mode
9
+ end
10
+
11
+ def open_file_dir()
12
+ previous_paths = []
13
+ previous_paths << File.join(@paths[0].split("/")[0..-2])
14
+ system "open #{File.join(@paths[0].split("/")[0..-2])}"
15
+ @paths.each do |path|
16
+ dir_path = File.join(path.split("/")[0..-2])
17
+ unless previous_paths.include?(dir_path)
18
+ previous_paths << dir_path
19
+ system "open #{dir_path}"
20
+ end
21
+ end
22
+ end
23
+
24
+ def show_file_url()
25
+ conts = File.read(@src)
26
+ id = conts.match(/\#\+qiita_#{@mode}: (.+)/)[1]
27
+
28
+ @paths.each do |path|
29
+ file_name = File.basename(path).strip
30
+ geturl = GetFileUrl.new(id, file_name, @mode)
31
+ url = geturl.get_file_url()
32
+ puts "#{file_name}'s URL".green
33
+ puts url
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module QiitaOrg
2
- VERSION = "0.1.11"
2
+ VERSION = "0.1.16"
3
3
  end
data/test.md ADDED
@@ -0,0 +1,8 @@
1
+ \![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>)
2
+
3
+ fogefoge
4
+
5
+ [![img](figs/fig1.png)](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/a3b2ab02-f903-f5d6-d8b9-5407e8db5a2a.png)
6
+
7
+ ![img](figs/fig0.png)
8
+
@@ -0,0 +1,22 @@
1
+ #+qiita_private: 5f8c73e8007e52ef3f40
2
+ #+OPTIONS: ^:{}
3
+ #+STARTUP: indent nolineimages
4
+ #+TITLE: test
5
+ #+AUTHOR: Kenta Yamamoto
6
+ #+EMAIL: (concat "doi35077@kwansei.ac.jp")
7
+ #+LANGUAGE: jp
8
+ # +OPTIONS: H:4 toc:t num:2
9
+ #+OPTIONS: toc:nil
10
+ #+TAG: test
11
+ # +SETUPFILE: ~/.emacs.d/org-mode/theme-readtheorg.setup
12
+
13
+ ![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)
14
+
15
+ fogefoge
16
+ # +caption: example qiita template command
17
+ # +name: fig:fig1
18
+ #+ATTR_LATEX: :width 8cm
19
+ [[https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/612049/a3b2ab02-f903-f5d6-d8b9-5407e8db5a2a.png][file:figs/fig1.png]]
20
+
21
+ file:figs/fig0.png
22
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qiita_org
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenta Yamamoto
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-13 00:00:00.000000000 Z
11
+ date: 2020-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -510,6 +510,11 @@ files:
510
510
  - bin/setup
511
511
  - exe/qiita
512
512
  - exe/qiita_org
513
+ - figs/fig1.png
514
+ - figs/fig2.png
515
+ - figs/fig3.png
516
+ - figs/fig4.png
517
+ - figs/fig5.png
513
518
  - gems/ruby/2.7.0/bin/htmldiff
514
519
  - gems/ruby/2.7.0/bin/ldiff
515
520
  - gems/ruby/2.7.0/bin/qiita
@@ -957,15 +962,20 @@ files:
957
962
  - lib/qiita_org/config.json
958
963
  - lib/qiita_org/config.rb
959
964
  - lib/qiita_org/get.rb
965
+ - lib/qiita_org/get_file_path.rb
966
+ - lib/qiita_org/get_file_url.rb
960
967
  - lib/qiita_org/get_template.rb
961
968
  - lib/qiita_org/hoge.txt
962
969
  - lib/qiita_org/list.rb
963
970
  - lib/qiita_org/ox-qmd/ox-qmd.el
964
971
  - lib/qiita_org/post.rb
965
972
  - lib/qiita_org/search_conf_path.rb
973
+ - lib/qiita_org/show_file_and_url.rb
966
974
  - lib/qiita_org/template.org
967
975
  - lib/qiita_org/version.rb
968
976
  - qiita_org.gemspec
977
+ - test.md
978
+ - test.org
969
979
  homepage: https://github.com/yamatoken/qiita_org
970
980
  licenses:
971
981
  - MIT