qiita_org 0.1.25 → 0.1.30

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: bec18f10d67c5b4e15954e7a65d522a5f8589685eb46c84be8d6290907e2f3d8
4
- data.tar.gz: 2493eeaa0feeab8f860452fb0e319af3aa62253aa6263f23bf0e1325f0834e95
3
+ metadata.gz: 0f288634b1ce2de7e2a34ddc3fd7399cdb2a1b9e63e6d4b2523ec7cf3fc84601
4
+ data.tar.gz: a08fb2191f4e6cc80e3c40701df53bae8ae983cfaa225dfba57ede608d846c97
5
5
  SHA512:
6
- metadata.gz: 252c5def2f9fa174a3f5f169126c514d93988254b1359d5751ee0dc2e0daebdac147df440463c5ce5854e7c2c493f8f288b5cb528659e78e4db59335c046862f
7
- data.tar.gz: dd92e34ea3e7277c1bda082d1ab61e3a73850aae660271691c357094b96d32714347a3a30180411ec7c0dc606c79535a7bbb1d32f1f324c0243b36f5498a0152
6
+ metadata.gz: 0d01c3f1937f7033f7e4a7e2989492251bc53e18e1717ba394a0385afefc217df08a756c61a3cb580e24139199de80ef065d34019d122f00443359879b3cc865
7
+ data.tar.gz: afd6c322d5d5de441b55b5784e630ca9c401b5f028ce7636d68a8b12dfec8a3b0feb07dd8d458043077e1d3130a65a617f946784be87266a8044c26db18595b7
data/.gitignore CHANGED
@@ -6,6 +6,8 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /gems/
10
+ /gems/*
9
11
  /doc/*
10
12
  !/doc/.keep
11
13
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- qiita_org (0.1.24)
4
+ qiita_org (0.1.29)
5
5
  colorize
6
6
  command_line (> 2.0.0)
7
7
  fileutils
@@ -73,7 +73,7 @@ module QiitaOrg
73
73
  p file = argv[0] || "README.org"
74
74
  p mode = argv[1] || DecideOption.new(file).decide_option()
75
75
 
76
- qiita = UpLoad.new(file, mode, os).upload()
76
+ qiita = QiitaUpLoad.new(file, mode, os).upload()
77
77
  end
78
78
  =begin
79
79
  getpath = GetFilePath.new(file)
@@ -121,11 +121,11 @@ module QiitaOrg
121
121
  template = QiitaGetTemplate.new(os).run()
122
122
  end
123
123
 
124
- desc "all", "post all org files in the directory"
124
+ desc "all [teams/public/private] [options]", "post all org files in the directory"
125
125
 
126
126
  def all(*argv)
127
- mode = argv[0] || false
128
- All.new(mode).run()
127
+ #mode = argv[0] || false
128
+ QiitaAll.new(argv).run()
129
129
  end
130
130
 
131
131
  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
  }
@@ -1,14 +1,21 @@
1
1
  require "colorize"
2
2
 
3
- class All
4
- def initialize(mode)
5
- @mode = mode
3
+ class QiitaAll
4
+ def initialize(argv)
5
+ # @mode = mode
6
+ check_options(argv)
6
7
  @files = Dir.glob("*.org")
7
8
  p @files
8
9
  end
9
10
 
10
11
  def run()
11
12
  @files.each do |file|
13
+ unless @exclude_files.empty?
14
+ if @exclude_files.include?(file)
15
+ next
16
+ end
17
+ end
18
+
12
19
  unless @mode
13
20
  puts file.blue
14
21
  if File.read(file).match(/#\+qiita_(.+)/)
@@ -24,4 +31,20 @@ class All
24
31
  end
25
32
  end
26
33
  end
34
+
35
+ def check_options(string)
36
+ ["teams", "private", "public"].each do |i|
37
+ if string.include?(i)
38
+ @mode = i
39
+ break
40
+ else
41
+ @mode = false
42
+ end
43
+ end
44
+
45
+ @exclude_files = []
46
+ if string.include?("--exclude")
47
+ @exclude_files = string.grep(/.org/)
48
+ end
49
+ end
27
50
  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
@@ -66,18 +66,7 @@ class QiitaPost
66
66
 
67
67
  # check twitter post
68
68
  def select_twitter(conts, option)
69
- m = []
70
- twitter = false
71
- if option == "public"
72
- m = conts.match(/\#\+(twitter|Twitter|TWITTER): (.+)/)
73
- if m[2] == 'on' || m[2] == 'On' || m[2] == 'ON'
74
- twitter = true
75
- else
76
- twitter = false
77
- end
78
- end
79
- twitter
80
- return twitter
69
+ option == "public" && conts.match?(/^\#\+twitter:\s*on$/i)
81
70
  end
82
71
 
83
72
  def select_option(option)
@@ -144,6 +133,9 @@ class QiitaPost
144
133
  end
145
134
  print "%20s %s\n" % [key, cont]
146
135
  end
136
+ #if @display == "suppress"
137
+ # puts @res_body["url"].green
138
+ #end
147
139
  end
148
140
 
149
141
  # add qiita_id on src.org
@@ -171,7 +163,7 @@ class QiitaPost
171
163
  def run()
172
164
  @conts = File.read(@src)
173
165
  @title, @tags = get_title_tags(@conts)
174
- @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()
175
167
 
176
168
  if @option == "teams"
177
169
  ErrorMessage.new().teams_url_error(@teams_url)
@@ -187,7 +179,7 @@ class QiitaPost
187
179
  get_and_print_qiita_return()
188
180
 
189
181
  #open_qiita()
190
- FileOpen.new(@os).file_open(@res_body["url"])
182
+ FileOpen.new(@os).file_open(@res_body["url"]) if @display != "suppress"
191
183
 
192
184
  add_qiita_id_on_org()
193
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/"
@@ -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.25"
2
+ VERSION = "0.1.30"
3
3
  end
@@ -0,0 +1,14 @@
1
+ #+qiita_private: baededc5aa906407da33
2
+ #+OPTIONS: ^:{}
3
+ #+STARTUP: indent nolineimages
4
+ #+TITLE: title
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: tag1, tag2
11
+ #+TWITTER: off
12
+ # +SETUPFILE: ~/.emacs.d/org-mode/theme-readtheorg.setup
13
+
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)
@@ -1,4 +1,4 @@
1
- #+qiita_private: d786bc76ea7a4ad09fb0
1
+ #+qiita_private: e87e38157a72b4c2e839
2
2
  # +qiita_private: 5f8c73e8007e52ef3f40
3
3
  # +qiita_private: 4decbf7a81ef2327643f
4
4
  #+OPTIONS: ^:{}
@@ -1,3 +1,4 @@
1
+ #+qiita_teams: 7e95d62ebdbedd022256
1
2
  #+qiita_private: 6ce39fa8ae7f7a472cf2
2
3
  #+OPTIONS: ^:{}
3
4
  #+STARTUP: indent nolineimages
@@ -1,3 +1,4 @@
1
+ #+qiita_private: c42df227a81e18c05b9d
1
2
  #+OPTIONS: ^:{}
2
3
  #+STARTUP: indent nolineimages
3
4
  #+TITLE: title
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.25
4
+ version: 0.1.30
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-11-17 00:00:00.000000000 Z
11
+ date: 2020-11-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -2583,6 +2583,7 @@ files:
2583
2583
  - lib/qiita_org/version.rb
2584
2584
  - qiita_org.gemspec
2585
2585
  - tests/hoge.rb
2586
+ - tests/template.org
2586
2587
  - tests/test.html
2587
2588
  - tests/test.org
2588
2589
  - tests/test2.org