qiita_org 0.1.24 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff5afe51529883ef3f843cc85608ea5eb112c97d9bee65ad71eee130e93ee3d1
4
- data.tar.gz: b5945826738b2719a6dc861d60c920edc012db5d49e5c55d8cd464e608c9aab5
3
+ metadata.gz: c58fb11dfd57ea6232e6e98e928d8d27f794f6f6ad87ecdf1fdcffb2ce1a6dbf
4
+ data.tar.gz: 1b882620532dfbc2f74e3ce758f9ff4b73bac938454c534918a927a1f66ec08a
5
5
  SHA512:
6
- metadata.gz: 8c7513a96480af4381e23b729a4308265d91721f3d75984cc7d3f28a756f8a386d5aa3d49fffbd00a8f946e2fbc6c77759bb8f61df9544d415315709c1d6dfb3
7
- data.tar.gz: 96eb5ad3f7334dd0a14fa481fd33864f03fafc6739d2f6b3ae73b60a6c98d0a07c1a7614684cd7747e0216988052a567c96b6268a387d3085fd31e568a9d8417
6
+ metadata.gz: 778ca2f40420b1436bdc851602b5a7ba97ec6f22e7e8ea5992779e18d793e7ac9070615e02e0dd67411a09ce7768d9be0992738808918e497ee472bc9de1fdfb
7
+ data.tar.gz: e847a505b58de91a61004d8a00bae41689c1197ba4d6b317717eb84a81f1a3afe899bab7e92954ffaca92414612794df68c74de721662c52be673112e58a8759
data/.gitignore CHANGED
@@ -6,6 +6,10 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /gems/
10
+ /gems/*
11
+ /doc/*
12
+ !/doc/.keep
9
13
 
10
14
  # rspec failure tracking
11
15
  .rspec_status
@@ -0,0 +1,4 @@
1
+ --protected
2
+ --no-private
3
+ --markup markdown
4
+ --plugin activesupport-concern
data/Gemfile CHANGED
@@ -5,3 +5,10 @@ gemspec
5
5
 
6
6
  gem "rake", "~> 12.0"
7
7
  gem "rspec", "~> 3.0"
8
+
9
+ group :development do
10
+ gem 'yard'
11
+ gem 'guard-yard'
12
+ gem 'yard-activesupport-concern'
13
+ gem 'redcarpet'
14
+ end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qiita_org (0.1.24)
4
+ qiita_org (0.1.28)
5
5
  colorize
6
6
  command_line (> 2.0.0)
7
7
  fileutils
@@ -10,11 +10,42 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
+ coderay (1.1.3)
13
14
  colorize (0.8.1)
14
15
  command_line (2.0.1)
15
16
  diff-lcs (1.4.4)
17
+ ffi (1.13.1)
16
18
  fileutils (1.4.1)
19
+ formatador (0.2.5)
20
+ guard (2.16.2)
21
+ formatador (>= 0.2.4)
22
+ listen (>= 2.7, < 4.0)
23
+ lumberjack (>= 1.0.12, < 2.0)
24
+ nenv (~> 0.1)
25
+ notiffany (~> 0.0)
26
+ pry (>= 0.9.12)
27
+ shellany (~> 0.0)
28
+ thor (>= 0.18.1)
29
+ guard-yard (2.2.1)
30
+ guard (>= 1.1.0)
31
+ yard (>= 0.7.0)
32
+ listen (3.3.1)
33
+ rb-fsevent (~> 0.10, >= 0.10.3)
34
+ rb-inotify (~> 0.9, >= 0.9.10)
35
+ lumberjack (1.2.8)
36
+ method_source (1.0.0)
37
+ nenv (0.3.0)
38
+ notiffany (0.1.3)
39
+ nenv (~> 0.1)
40
+ shellany (~> 0.0)
41
+ pry (0.13.1)
42
+ coderay (~> 1.1)
43
+ method_source (~> 1.0)
17
44
  rake (12.3.3)
45
+ rb-fsevent (0.10.4)
46
+ rb-inotify (0.10.1)
47
+ ffi (~> 1.0)
48
+ redcarpet (3.5.0)
18
49
  rspec (3.9.0)
19
50
  rspec-core (~> 3.9.0)
20
51
  rspec-expectations (~> 3.9.0)
@@ -28,16 +59,24 @@ GEM
28
59
  diff-lcs (>= 1.2.0, < 2.0)
29
60
  rspec-support (~> 3.9.0)
30
61
  rspec-support (3.9.3)
62
+ shellany (0.0.1)
31
63
  thor (1.0.1)
64
+ yard (0.9.25)
65
+ yard-activesupport-concern (0.0.1)
66
+ yard (>= 0.8)
32
67
 
33
68
  PLATFORMS
34
69
  ruby
35
70
 
36
71
  DEPENDENCIES
37
72
  bundler (> 1.16)
73
+ guard-yard
38
74
  qiita_org!
39
75
  rake (~> 12.0)
76
+ redcarpet
40
77
  rspec (~> 3.0)
78
+ yard
79
+ yard-activesupport-concern
41
80
 
42
81
  BUNDLED WITH
43
82
  2.1.4
@@ -7,6 +7,7 @@ require "qiita_org/post"
7
7
  require "qiita_org/config"
8
8
  require "qiita_org/get"
9
9
  require "qiita_org/list"
10
+ require "qiita_org/all"
10
11
  require "qiita_org/get_template"
11
12
  require "qiita_org/check_pc_os"
12
13
  require "qiita_org/upload"
@@ -72,7 +73,7 @@ module QiitaOrg
72
73
  p file = argv[0] || "README.org"
73
74
  p mode = argv[1] || DecideOption.new(file).decide_option()
74
75
 
75
- qiita = UpLoad.new(file, mode, os).upload()
76
+ qiita = QiitaUpLoad.new(file, mode, os).upload()
76
77
  end
77
78
  =begin
78
79
  getpath = GetFilePath.new(file)
@@ -121,18 +122,12 @@ module QiitaOrg
121
122
  end
122
123
 
123
124
  desc "all", "post all org files in the directory"
124
-
125
+ method_options hoge: :string
125
126
  def all(*argv)
126
- Dir.glob("*.org").each do |org|
127
- puts org.blue
128
- if File.read(org).match(/#\+qiita_(.+)/)
129
- system ("qiita post #{org} open") if File.read(org).match(/#\+(.+)_public/)
130
- system ("qiita post #{org} teams") if File.read(org).match(/#\+(.+)_teams/)
131
- system ("qiita post #{org} private") if File.read(org).match(/#\+(.+)_private/)
132
- else
133
- system ("qiita post #{org}")
134
- end
135
- end
127
+ mode = argv[0] || false
128
+ # p [argv[0], argv[1]]
129
+ puts options[:hoge]
130
+ QiitaAll.new(mode).run()
136
131
  end
137
132
 
138
133
  desc "list [qiita/teams]", "view qiita report list"
@@ -3,5 +3,6 @@
3
3
  "email": "",
4
4
  "access_token": "",
5
5
  "teams_url": "",
6
+ "display": "open",
6
7
  "ox_qmd_load_path": "~/.emacs.d/site_lisp/ox-qmd"
7
8
  }
@@ -0,0 +1,31 @@
1
+ require "colorize"
2
+
3
+ class QiitaAll
4
+ def initialize(mode)
5
+ @mode = mode
6
+ @files = Dir.glob("*.org")
7
+ p @files
8
+ end
9
+
10
+ def run()
11
+ @files.each do |file|
12
+ if file == "template.org"
13
+ next
14
+ end
15
+
16
+ unless @mode
17
+ puts file.blue
18
+ if File.read(file).match(/#\+qiita_(.+)/)
19
+ system ("qiita post #{file} open") if File.read(file).match(/#\+(.+)_public/)
20
+ system ("qiita post #{file} teams") if File.read(file).match(/#\+(.+)_teams/)
21
+ system ("qiita post #{file} private") if File.read(file).match(/#\+(.+)_private/)
22
+ else
23
+ system ("qiita post #{file}")
24
+ end
25
+ else
26
+ puts "qiita post #{file} #{@mode}".blue
27
+ system "qiita post #{file} #{@mode}"
28
+ end
29
+ end
30
+ end
31
+ end
@@ -3,5 +3,6 @@
3
3
  "email": "",
4
4
  "access_token": "",
5
5
  "teams_url": "",
6
+ "display": "open",
6
7
  "ox_qmd_load_path": "~/.emacs.d/site_lisp/ox-qmd"
7
8
  }
@@ -159,7 +159,7 @@ EOS
159
159
  end
160
160
 
161
161
  def run()
162
- @access_token, @teams_url, @ox_qmd_load_path = SetConfig.new().set_config()
162
+ @access_token, @teams_url, @display, @ox_qmd_load_path = SetConfig.new().set_config()
163
163
  if @mode == "teams"
164
164
  ErrorMessage.new().teams_url_error(@teams_url)
165
165
  end
@@ -12,7 +12,7 @@ class GetFileUrl
12
12
  @id = id
13
13
  @file = file
14
14
  @mode = (mode == "qiita" || mode == "open")? "public" : mode
15
- @access_token, @teams_url, @ox_qmd_load_path = SetConfig.new().set_config()
15
+ @access_token, @teams_url, @display, @ox_qmd_load_path = SetConfig.new().set_config()
16
16
  if @mode == "teams"
17
17
  ErrorMessage.new().teams_url_error(@teams_url)
18
18
  end
@@ -10,7 +10,7 @@ require "qiita_org/access_qiita.rb"
10
10
  class QiitaList
11
11
  def initialize(mode)
12
12
  @mode = mode
13
- @access_token, @teams_url, @ox_qmd_load_path = SetConfig.new().set_config()
13
+ @access_token, @teams_url, @display, @ox_qmd_load_path = SetConfig.new().set_config()
14
14
  if @mode == "teams"
15
15
  ErrorMessage.new().teams_url_error(@teams_url)
16
16
  end
@@ -64,6 +64,11 @@ class QiitaPost
64
64
  return qiita_id, patch
65
65
  end
66
66
 
67
+ # check twitter post
68
+ def select_twitter(conts, option)
69
+ option == "public" && conts.match?(/^\#\+twitter:\s*on$/i)
70
+ end
71
+
67
72
  def select_option(option)
68
73
  qiita = (option == "teams")? @teams_url : "https://qiita.com/"
69
74
  #qiita = (option == "teams")? "https://nishitani.qiita.com/" :
@@ -86,6 +91,7 @@ class QiitaPost
86
91
  "private": @private,
87
92
  "title": @title,
88
93
  "tags": @tags,
94
+ "tweet": @twitter,
89
95
  }
90
96
 
91
97
  if @patch
@@ -127,6 +133,9 @@ class QiitaPost
127
133
  end
128
134
  print "%20s %s\n" % [key, cont]
129
135
  end
136
+ #if @display == "suppress"
137
+ # puts @res_body["url"].green
138
+ #end
130
139
  end
131
140
 
132
141
  # add qiita_id on src.org
@@ -154,7 +163,7 @@ class QiitaPost
154
163
  def run()
155
164
  @conts = File.read(@src)
156
165
  @title, @tags = get_title_tags(@conts)
157
- @access_token, @teams_url, @ox_qmd_load_path = SetConfig.new().set_config()
166
+ @access_token, @teams_url, @display, @ox_qmd_load_path = SetConfig.new().set_config()
158
167
 
159
168
  if @option == "teams"
160
169
  ErrorMessage.new().teams_url_error(@teams_url)
@@ -164,12 +173,13 @@ class QiitaPost
164
173
  add_source_path_in_md()
165
174
  @lines = MdConverter.new().convert_for_image(@lines)
166
175
  @qiita_id, @patch = select_patch_or_post(@conts, @option)
176
+ @twitter = select_twitter(@conts, @option)
167
177
  @qiita, @private = select_option(@option)
168
178
  @res = qiita_post()
169
179
  get_and_print_qiita_return()
170
180
 
171
181
  #open_qiita()
172
- FileOpen.new(@os).file_open(@res_body["url"])
182
+ FileOpen.new(@os).file_open(@res_body["url"]) if @display != "suppress"
173
183
 
174
184
  add_qiita_id_on_org()
175
185
 
@@ -18,12 +18,13 @@ class SetConfig
18
18
  conf = JSON.load(File.read(conf_path))
19
19
  access_token = conf["access_token"]
20
20
  teams_url = conf["teams_url"]
21
+ display = conf["display"]
21
22
  ox_qmd_load_path = File.join(@lib, "qiita_org", "ox-qmd", "ox-qmd")
22
23
 
23
24
  ErrorMessage.new().access_token_error(access_token) #== false
24
25
  # puts "Please setting ACCESS_TOKEN".red
25
26
  # exit
26
27
 
27
- return access_token, teams_url, ox_qmd_load_path
28
+ return access_token, teams_url, display, ox_qmd_load_path
28
29
  end
29
30
  end
@@ -3,6 +3,7 @@ require "qiita_org/get_file_url.rb"
3
3
  require "qiita_org/set_config.rb"
4
4
  require "qiita_org/access_qiita.rb"
5
5
  require "qiita_org/file_open.rb"
6
+ require "qiita_org/error_message.rb"
6
7
 
7
8
  class ShowFile
8
9
  def initialize(paths, src, mode, os)
@@ -50,9 +51,9 @@ class ShowFile
50
51
  conts = File.read(@src)
51
52
  id = conts.match(/\#\+qiita_#{@mode}: (.+)/)[1]
52
53
 
53
- @access_token, @teams_url, @ox_qmd_load_path = SetConfig.new().set_config()
54
+ @access_token, @teams_url, @display, @ox_qmd_load_path = SetConfig.new().set_config()
54
55
  if @mode == "teams"
55
- ErrorMassage.new().teams_url_error(@teams_url)
56
+ ErrorMessage.new().teams_url_error(@teams_url)
56
57
  end
57
58
 
58
59
  qiita = (@mode == "teams") ? @teams_url : "https://qiita.com/"
@@ -7,5 +7,6 @@
7
7
  # +OPTIONS: H:4 toc:t num:2
8
8
  #+OPTIONS: toc:nil
9
9
  #+TAG: tag1, tag2
10
+ #+TWITTER: off
10
11
  # +SETUPFILE: ~/.emacs.d/org-mode/theme-readtheorg.setup
11
12
 
@@ -2,20 +2,25 @@ require "colorize"
2
2
  require "io/console"
3
3
  require "qiita_org/get_file_path.rb"
4
4
  require "qiita_org/show_file_and_url.rb"
5
+ require "qiita_org/file_open.rb"
6
+ require "qiita_org/set_config.rb"
7
+ require "qiita_org/access_qiita.rb"
5
8
 
6
- class UpLoad
9
+ class QiitaUpLoad
7
10
  def initialize(src, option, os)
8
11
  @src = src
9
12
  @option = (option == "qiita" || option == "open")? "public" : option
10
13
  @os = os
14
+ @fileopen = FileOpen.new(@os)
11
15
  end
12
16
 
13
17
  def upload()
14
18
  paths = GetFilePath.new(@src).get_file_path()
19
+ #paths = get_file_path(@src)
15
20
  unless paths.empty?
16
21
  showfile = ShowFile.new(paths, @src, @option, @os)
17
- showfile.open_file_dir()
18
- showfile.open_qiita()
22
+ showfile.open_file_dir() #open_file_dir(paths)
23
+ showfile.open_qiita() #open_qiita()
19
24
 
20
25
  puts "Overwrite file URL's on #{@src}? (y/n)".green
21
26
  ans = STDIN.getch
@@ -23,6 +28,73 @@ class UpLoad
23
28
  if ans == "y"
24
29
  showfile.input_url_to_org()
25
30
  end
31
+ else
32
+ puts "file path is empty.".red
26
33
  end
27
34
  end
35
+
36
+ def get_file_path(src)
37
+ lines = File.readlines(src)
38
+ files = []
39
+ lines.each do |line|
40
+ if path = line.match(/\[\[(.+)\]\[file:(.+)\]\]/) || line.match(/\[\[file:(.+)\]\]/)
41
+ if path[2] == nil
42
+ files << path[1]
43
+ else
44
+ files << path[2]
45
+ end
46
+ end
47
+ end
48
+
49
+ return files
50
+ end
51
+
52
+ def open_file_dir(paths)
53
+ previous_paths = []
54
+ previous_paths << File.join(paths[0].split("/")[0..-2])
55
+ @fileopen.file_open(File.join(paths[0].split("/")[0..-2]))
56
+
57
+ paths.each do |path|
58
+ dir_path = File.join(path.split("/")[0..-2])
59
+ unless previous_paths.include?(dir_path)
60
+ previous_paths << dir_path
61
+ @fileopen.file_open(dir_path)
62
+ end
63
+ end
64
+ end
65
+
66
+ def open_qiita()
67
+ conts = File.read(@src)
68
+ id = conts.match(/\#\+qiita_#{option}: (.+)/)[1]
69
+
70
+ @access_token, @teams_url, @display, @ox_qmd_load_path = SetConfig.new().set_config()
71
+ if @option == "teams"
72
+ ErrorMassage.new().teams_url_error(@teams_url)
73
+ end
74
+
75
+ qiita = (@option == "teams") ? @teams_url : "https://qiita.com/"
76
+ path = "api/v2/items/#{id}"
77
+
78
+ items = AccessQiita.new(@access_token, qiita, path).access_qiita()
79
+
80
+ @fileopen.file_open(items["url"])
81
+ end
82
+
83
+ def input_url_to_org(paths)
84
+ lines = File.readlines(@src)
85
+ conts = File.read(@src)
86
+ id = conts.match(/\#\+qiita_#{@option}: (.+)/)[1]
87
+
88
+ paths.each do |path|
89
+ file_name = File.basename(path).strip
90
+ url = get_file_url(id, file_name)
91
+ lines.each_with_index do |line, i|
92
+ if line.match(/\[\[file:#{path}\]\]/)
93
+ lines[i] = "[[#{url}][file:#{path}]]\n"
94
+ end
95
+ end
96
+ end
97
+
98
+ File.write(@src, lines.join)
99
+ end
28
100
  end
@@ -1,3 +1,3 @@
1
1
  module QiitaOrg
2
- VERSION = "0.1.24"
2
+ VERSION = "0.1.29"
3
3
  end
@@ -0,0 +1,13 @@
1
+ #+OPTIONS: ^:{}
2
+ #+STARTUP: indent nolineimages
3
+ #+TITLE: title
4
+ #+AUTHOR: Kenta Yamamoto
5
+ #+EMAIL: (concat "doi35077@kwansei.ac.jp")
6
+ #+LANGUAGE: jp
7
+ # +OPTIONS: H:4 toc:t num:2
8
+ #+OPTIONS: toc:nil
9
+ #+TAG: tag1, tag2
10
+ #+TWITTER: off
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)