htot_conv 0.0.1 → 0.1.0

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
  SHA1:
3
- metadata.gz: db822ef12503c3c67ad25292d6843071c98ace01
4
- data.tar.gz: 8bf51fe9de74f2ab6d135dd7a65f212df9d3a4dc
3
+ metadata.gz: 2aec83d272692c2e5e421fa83871202a6658f6f0
4
+ data.tar.gz: 2e36a66a3309075cb170a1e587e18d83fc3a1c97
5
5
  SHA512:
6
- metadata.gz: 5d7e7917107721f317b69f02d18eacf268241e4fdee0bc601b927781fccd1e8cdf0faddb4dd99581bf75ed5e1e56ec744c58d2f7cad5ca601bb93d1cfa4db6e1
7
- data.tar.gz: f3065da8d0f122319037639cc1934296a804d8080241bd5b611aa6f0372a2fbe7ff91e9c234e4f31a825c7f9c51a8ad8ce2684e20e6a31e2a27ae6386288b00e
6
+ metadata.gz: aea65eb03fa27f1d475448e8bf560a387e36c564d8af92b6e68e99701569d10544496841458c840eff89e815ba2e3857140d0d7e1b43e932f6c5a3c616be53b9
7
+ data.tar.gz: fefabfb0d96991003bb55d53590fc26bbbc1c2a1947d5ba92a7188852ad8491408ff7f5b4399d3f179bbd8fb8b4e586139cc55a8576e8cdb9d3d538b270ce31e
data/.travis.yml CHANGED
@@ -2,8 +2,10 @@ sudo: false
2
2
  language: ruby
3
3
  cache: bundler
4
4
  rvm:
5
+ - 2.4.1
5
6
  - 2.3.4
6
- before_install: gem install bundler -v 1.12.5
7
+ - 2.2.7
8
+ before_install: gem install bundler
7
9
  notifications:
8
10
  email: false
9
11
  slack:
data/README.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  Convert from a simple hierarchical-tree outline text into ugly xlsx file
4
4
 
5
+ [![Gem Version](https://badge.fury.io/rb/htot_conv.svg)](https://badge.fury.io/rb/htot_conv)
6
+ [![Build Status](https://travis-ci.org/cat-in-136/htot_conv.svg?branch=master)](https://travis-ci.org/cat-in-136/htot_conv)
7
+
5
8
  ## Installation
6
9
 
7
10
  Install `htot_conv` via RubyGems. Simply run the following command to install:
@@ -83,10 +86,6 @@ Not implemented (TODO):
83
86
  | | 1.2 | | 1.2(1) | 1.2(2) |
84
87
  | | | 1.2.1 | 1.2.1(1) | 1.2.1(2) |
85
88
 
86
- Not implemented (TODO):
87
-
88
- * Cell integration over row.
89
-
90
89
  #### `xlsx_type3`
91
90
 
92
91
  Not supported (implemented) as of now.
@@ -98,7 +97,7 @@ Not supported (implemented) as of now.
98
97
  | | 1.2 | 1.2(1) | | 1.2(2) |
99
98
  | | | 1.2.1 | 1.2.1(1) | 1.2.1(2) |
100
99
 
101
- TODO: Github Flavored Markdown does not support for column span.
100
+ TODO: Github Flavored Markdown does not support for row span.
102
101
  So, this document does not correctly represent type-3 xlsx spread sheet.
103
102
 
104
103
  #### `xlsx_type4`
@@ -108,10 +107,6 @@ So, this document does not correctly represent type-3 xlsx spread sheet.
108
107
  | 1 | 1.1 | | 1.1(1) | 1.1(2) |
109
108
  | | 1.2 | 1.2.1 | 1.2.1(1) | 1.2.1(2) |
110
109
 
111
- Not implemented (TODO):
112
-
113
- * Cell integration over column.
114
-
115
110
  #### `xlsx_type5`
116
111
 
117
112
  | H1 | H2 | H3 | H(1) | H(2) |
@@ -119,11 +114,6 @@ Not implemented (TODO):
119
114
  | 1 | 1.1 | | 1.1(1) | 1.1(2) |
120
115
  | 1 | 1.2 | 1.2.1 | 1.2.1(1) | 1.2.1(2) |
121
116
 
122
- Not implemented (TODO):
123
-
124
- * Cell integration over column.
125
- * Apply auto filter to the first (header) row.
126
-
127
117
  ## Development
128
118
 
129
119
  $ bundle install --path=vendor/bundle --with development test
data/exe/htot_conv CHANGED
@@ -1,111 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- require 'optparse'
3
-
2
+ # frozen_string_literal: true
3
+ #
4
4
  require 'rubygems'
5
- require 'rinne'
6
5
  require 'htot_conv'
6
+ require 'htot_conv/cli'
7
7
 
8
- module HTOTConv
9
- module CLI
10
- class ScriptOptions
11
- def initialize
12
- @options = {
13
- :from_type => :simple_text,
14
- :to_type => :xlsx_type2,
15
- }
16
- @from_options = {}
17
- @to_options = {}
18
- end
19
- attr_accessor :options, :from_options, :to_options
20
-
21
- def define_options(opts)
22
- opts.banner = %q{Hierarchical-Tree Outline Text Converter}
23
- opts.define_head %q{Usage: htot_conv [options] [input] [output]}
24
- opts.separator %q{}
25
- opts.separator %q{Options:}
26
-
27
- from_types = HTOTConv::Parser.types.map { |v| [v, v.to_s.tr("_", "-")] }.flatten
28
- to_types = HTOTConv::Generator.types.map { |v| [v, v.to_s.tr("_", "-")] }.flatten
29
-
30
- opts.on("-f", "--from-type=TYPE", from_types, "type of input (default: #{options[:from_type]})") do |v|
31
- options[:from_type] = v.to_s.tr("-", "_")
32
- end
33
- opts.on("-t", "--to-type=TYPE", to_types, "type of output (default: #{options[:to_type]})") do |v|
34
- options[:to_type] = v.to_s.tr("-", "_")
35
- end
36
- opts.on("-l", "--list-type", "list input/output type") do
37
- $stdout << "type of input:\n"
38
- $stdout << HTOTConv::Parser.types.join(" ") << "\n"
39
- $stdout << "\n"
40
- $stdout << "type of output:\n"
41
- $stdout << HTOTConv::Generator.types.join(" ") << "\n"
42
- $stdout << "\n"
43
- exit
44
- end
45
-
46
- opts.separator ""
47
- opts.on("-h", "-?", "--help", "Show this message") do
48
- puts opts
49
- exit
50
- end
51
- opts.on("--version", "Show version") do
52
- $stdout << "htot_conv #{HTOTConv::VERSION}\n"
53
- exit
54
- end
55
-
56
- opts.separator ""
57
- opts.separator "I/O Options:"
58
- define_sub_options(opts, HTOTConv::Parser, "from") do |key, v|
59
- @from_options[key] = v
60
- end
61
- define_sub_options(opts, HTOTConv::Generator, "to") do |key, v|
62
- @to_options[key] = v
63
- end
64
- end
65
-
66
- private
67
- def define_sub_options(opts, klass, prefix) # :yields: key, v
68
- klass.types.each do |type|
69
- type_klass = klass.const_get(Rinne.camelize(type.to_s))
70
- type_klass.option_help.each do |key,v|
71
- long_option = "--#{prefix}-#{key.to_s.tr('_','-')}=VAL"
72
- cmd_switch = opts.top.list.find { |v| v.kind_of?(OptionParser::Switch) && v.long.include?(long_option) }
73
- if cmd_switch
74
- cmd_switch.desc << "For #{type}, #{v[:desc]}"
75
- else
76
- opts.on(long_option, v[:pat], "For #{type}, #{v[:desc]}") do |v|
77
- yield key, v
78
- end
79
- end
80
- end
81
- end
82
- end
83
- end
84
-
85
- def optparse(args)
86
- script_opts = ScriptOptions.new
87
- OptionParser.new do |opts|
88
- script_opts.define_options(opts)
89
-
90
- begin
91
- opts.parse!(args)
92
- rescue OptionParser::ParseError => ex
93
- $stderr << ex.message << "\n"
94
- exit 1
95
- end
96
- end
97
- script_opts
98
- end
99
- module_function :optparse
100
- end
101
- end
102
-
103
- script_opts = HTOTConv::CLI.optparse(ARGV)
104
- options = script_opts.options
105
- from_options = script_opts.from_options
106
- to_options = script_opts.to_options
107
-
108
- inio = ((ARGV.length > 0) && (ARGV[0] != "-"))? File.open(ARGV[0], "rb") : $stdin
109
- outio = ((ARGV.length > 1) && (ARGV[1] != "-"))? File.open(ARGV[1], "wb") : $stdout
110
-
111
- HTOTConv.convert(inio, options[:from_type], outio, options[:to_type], from_options, to_options)
8
+ HTOTConv::CLI.main(ARGV)
@@ -0,0 +1,129 @@
1
+ # frozen_string_literal: true
2
+ require 'optparse'
3
+
4
+ require 'rinne'
5
+
6
+ module HTOTConv
7
+ module CLI
8
+ class ScriptOptions
9
+ def initialize
10
+ @options = {
11
+ :from_type => :simple_text,
12
+ :to_type => :xlsx_type2,
13
+ }
14
+ @from_options = {}
15
+ @to_options = {}
16
+ end
17
+ attr_accessor :options, :from_options, :to_options
18
+
19
+ def define_options(opts)
20
+ opts.banner = %q{Hierarchical-Tree Outline Text Converter}
21
+ opts.define_head %q{Usage: htot_conv [options] [input] [output]}
22
+ opts.separator %q{}
23
+ opts.separator %q{Options:}
24
+
25
+ from_types = HTOTConv::Parser.types.map { |v| [v, v.to_s.tr("_", "-")] }.flatten
26
+ to_types = HTOTConv::Generator.types.map { |v| [v, v.to_s.tr("_", "-")] }.flatten
27
+
28
+ opts.on("-f", "--from-type=TYPE", from_types, "type of input (default: #{options[:from_type]})") do |v|
29
+ options[:from_type] = v.to_s.tr("-", "_")
30
+ end
31
+ opts.on("-t", "--to-type=TYPE", to_types, "type of output (default: #{options[:to_type]})") do |v|
32
+ options[:to_type] = v.to_s.tr("-", "_")
33
+ end
34
+ opts.on("-l", "--list-type", "list input/output type") do
35
+ $stdout << "type of input:\n"
36
+ $stdout << HTOTConv::Parser.types.join(" ") << "\n"
37
+ $stdout << "\n"
38
+ $stdout << "type of output:\n"
39
+ $stdout << HTOTConv::Generator.types.join(" ") << "\n"
40
+ $stdout << "\n"
41
+ exit
42
+ end
43
+
44
+ opts.separator ""
45
+ opts.on("-h", "-?", "--help", "Show this message") do
46
+ puts opts
47
+ exit
48
+ end
49
+ opts.on("--version", "Show version") do
50
+ $stdout << "htot_conv #{HTOTConv::VERSION}\n"
51
+ exit
52
+ end
53
+
54
+ opts.separator ""
55
+ opts.separator "I/O Options:"
56
+ define_sub_options(opts, HTOTConv::Parser, "from") do |key, v|
57
+ @from_options[key] = v
58
+ end
59
+ define_sub_options(opts, HTOTConv::Generator, "to") do |key, v|
60
+ @to_options[key] = v
61
+ end
62
+ end
63
+
64
+ private
65
+ def define_sub_options(opts, klass, prefix) # :yields: key, v
66
+ options = {}
67
+
68
+ klass.types.each do |type|
69
+ type_klass = klass.const_get(Rinne.camelize(type.to_s))
70
+ type_klass.option_help.each do |key,v|
71
+ long_option = "--#{prefix}-#{key.to_s.tr('_','-')}"
72
+
73
+ if options.include?(long_option)
74
+ options[long_option][:desc] << "For #{type}, #{v[:desc]}"
75
+ unless options[long_option][:pattern] == v[:pat]
76
+ if (options[long_option][:pattern].kind_of?(Array) && v[:pat].kind_of?(Array))
77
+ options[long_option][:pattern] = options[long_option][:pattern].concat(v[:pat]).uniq
78
+ else
79
+ raise "pattern registration mismatch around #{long_option}"
80
+ end
81
+ end
82
+ else
83
+ options[long_option] = {
84
+ :key => key,
85
+ :pattern => v[:pat],
86
+ :desc => ["For #{type}, #{v[:desc]}"],
87
+ }
88
+ end
89
+ end
90
+ end
91
+
92
+ options.each do |long_option, value|
93
+ opts.on("#{long_option}=VAL", value[:pattern], *value[:desc]) do |v|
94
+ yield value[:key], v
95
+ end
96
+ end
97
+ end
98
+ end
99
+
100
+ def optparse(args)
101
+ script_opts = ScriptOptions.new
102
+ OptionParser.new do |opts|
103
+ script_opts.define_options(opts)
104
+
105
+ begin
106
+ opts.parse!(args)
107
+ rescue OptionParser::ParseError => ex
108
+ $stderr << ex.message << "\n"
109
+ exit 1
110
+ end
111
+ end
112
+ script_opts
113
+ end
114
+ module_function :optparse
115
+
116
+ def main(args=ARGV)
117
+ script_opts = HTOTConv::CLI.optparse(args)
118
+ options = script_opts.options
119
+ from_options = script_opts.from_options
120
+ to_options = script_opts.to_options
121
+
122
+ inio = ((args.length > 0) && (args[0] != "-"))? File.open(args[0], "rb") : $stdin
123
+ outio = ((args.length > 1) && (args[1] != "-"))? File.open(args[1], "wb") : $stdout
124
+
125
+ HTOTConv.convert(inio, options[:from_type], outio, options[:to_type], from_options, to_options)
126
+ end
127
+ module_function :main
128
+ end
129
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module HTOTConv
2
3
  module Generator
3
4
  class Base
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'axlsx'
2
3
 
3
4
  require 'htot_conv/generator/base'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'axlsx'
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'axlsx'
2
3
 
3
4
  require 'htot_conv/generator/base'
@@ -5,6 +6,16 @@ require 'htot_conv/generator/base'
5
6
  module HTOTConv
6
7
  module Generator
7
8
  class XlsxType2 < XlsxBase
9
+ def self.option_help
10
+ {
11
+ :integrate_cells => {
12
+ :default => nil,
13
+ :pat => [:colspan, :rowspan],
14
+ :desc => "integrate key cells (specify 'colspan' or 'rowspan')",
15
+ },
16
+ }
17
+ end
18
+
8
19
  def output_to_worksheet(ws)
9
20
  max_level = @data.max_level
10
21
  max_value_length = @data.max_value_length
@@ -31,6 +42,25 @@ module HTOTConv
31
42
  :border => { :style => :thin, :color => "00", :edges => edges })
32
43
  end
33
44
  end
45
+
46
+ case @option[:integrate_cells]
47
+ when :colspan
48
+ @data.item.each_with_index do |item, item_index|
49
+ if item.level < max_level
50
+ ws.merge_cells(ws.rows[item_index + 1].cells[((item.level - 1)..(max_level - 1))])
51
+ end
52
+ end
53
+ when :rowspan
54
+ @data.item.each_with_index do |item, item_index|
55
+ cells = [ws.rows[item_index + 1].cells[item.level - 1]]
56
+ ((item_index + 1)..(@data.item.length - 1)).each do |i|
57
+ break if @data.item[i].level <= item.level
58
+ cells << ws.rows[i + 1].cells[item.level - 1]
59
+ end
60
+
61
+ ws.merge_cells(cells) if cells.length > 1
62
+ end
63
+ end
34
64
  end
35
65
  end
36
66
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'axlsx'
2
3
 
3
4
  require 'htot_conv/generator/base'
@@ -5,6 +6,16 @@ require 'htot_conv/generator/base'
5
6
  module HTOTConv
6
7
  module Generator
7
8
  class XlsxType4 < XlsxBase
9
+ def self.option_help
10
+ {
11
+ :integrate_cells => {
12
+ :default => nil,
13
+ :pat => [:colspan, :rowspan, :both],
14
+ :desc => "integrate key cells (specify 'colspan', 'rowspan' or 'all')",
15
+ },
16
+ }
17
+ end
18
+
8
19
  def output_to_worksheet(ws)
9
20
  max_level = @data.max_level
10
21
  max_value_length = @data.max_value_length
@@ -13,13 +24,14 @@ module HTOTConv
13
24
  HTOTConv::Util.pad_array(@data.value_header, max_value_length)),
14
25
  :style => Axlsx::STYLE_THIN_BORDER)
15
26
 
27
+ rowspan_cells = Array.new(max_level) { [] }
16
28
  @data.to_tree.descendants.each do |node|
17
29
  if node.leaf?
18
30
  item = node.item
19
31
 
20
32
  key_cell = Array.new(max_level, nil)
21
33
  key_cell[node.item.level - 1] = item.key
22
- node.ancestors do |ancestor|
34
+ node.ancestors.each do |ancestor|
23
35
  key_cell[ancestor.item.level - 1] = ancestor.item.key if ancestor.item
24
36
  break if ancestor.prev
25
37
  end
@@ -29,7 +41,7 @@ module HTOTConv
29
41
  ws.add_row(key_cell.concat(value_cell),
30
42
  :style => Axlsx::STYLE_THIN_BORDER)
31
43
 
32
- [node].concat(node.ancestors).each do |ancestor|
44
+ [node].concat(node.ancestors.to_a).each do |ancestor|
33
45
  if (ancestor.parent && ancestor.parent.item && ancestor.parent.item.level)
34
46
  edges = [:left, :right]
35
47
  edges << :top unless ancestor.prev
@@ -45,6 +57,25 @@ module HTOTConv
45
57
  ws.rows.last.cells[level - 1].style = ws.styles.add_style(
46
58
  :border => { :style => :thin, :color => "00", :edges => edges })
47
59
  end
60
+
61
+ if [:colspan, :both].include?(@option[:integrate_cells])
62
+ if item.level < max_level
63
+ ws.merge_cells(ws.rows.last.cells[((item.level - 1)..(max_level - 1))])
64
+ end
65
+ end
66
+
67
+ node.ancestors.inject(node) do |c_node, a_node|
68
+ rowspan_cells[a_node.item.level - 1] << ws.rows.last.cells[a_node.item.level - 1]
69
+ unless c_node.next # if c_node is last?
70
+ if [:rowspan, :both].include?(@option[:integrate_cells])
71
+ if rowspan_cells[a_node.item.level - 1].length > 1
72
+ ws.merge_cells(rowspan_cells[a_node.item.level - 1])
73
+ end
74
+ end
75
+ rowspan_cells[a_node.item.level - 1].clear
76
+ end
77
+ a_node
78
+ end
48
79
  end
49
80
  end
50
81
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'axlsx'
2
3
 
3
4
  require 'htot_conv/generator/base'
@@ -5,6 +6,16 @@ require 'htot_conv/generator/base'
5
6
  module HTOTConv
6
7
  module Generator
7
8
  class XlsxType5 < XlsxBase
9
+ def self.option_help
10
+ {
11
+ :integrate_cells => {
12
+ :default => nil,
13
+ :pat => [:colspan],
14
+ :desc => "integrate key cells (specify 'colspan')",
15
+ },
16
+ }
17
+ end
18
+
8
19
  def output_to_worksheet(ws)
9
20
  max_level = @data.max_level
10
21
  max_value_length = @data.max_value_length
@@ -19,7 +30,7 @@ module HTOTConv
19
30
 
20
31
  key_cell = Array.new(max_level, nil)
21
32
  key_cell[node.item.level - 1] = item.key
22
- node.ancestors do |ancestor|
33
+ node.ancestors.each do |ancestor|
23
34
  key_cell[ancestor.item.level - 1] = ancestor.item.key if ancestor.item
24
35
  end
25
36
 
@@ -35,6 +46,12 @@ module HTOTConv
35
46
  ws.rows.last.cells[level - 1].style = ws.styles.add_style(
36
47
  :border => { :style => :thin, :color => "00", :edges => edges })
37
48
  end
49
+
50
+ if [:colspan].include?(@option[:integrate_cells])
51
+ if item.level < max_level
52
+ ws.merge_cells(ws.rows.last.cells[((item.level - 1)..(max_level - 1))])
53
+ end
54
+ end
38
55
  end
39
56
  end
40
57
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'htot_conv/generator/xlsx_type0.rb'
2
3
  require 'htot_conv/generator/xlsx_type1.rb'
3
4
  require 'htot_conv/generator/xlsx_type2.rb'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module HTOTConv
2
3
  class Outline
3
4
  def initialize
@@ -96,7 +97,7 @@ module HTOTConv
96
97
  end
97
98
  alias :<< :add
98
99
 
99
- def each # :yields: child
100
+ def each # :yield: child
100
101
  @children.each do |v|
101
102
  yield v if block_given?
102
103
  end
@@ -129,28 +130,25 @@ module HTOTConv
129
130
  end
130
131
  end
131
132
 
132
- def ancestors # :yields: ancestor
133
- ancestors = []
134
- node = self.parent
135
- until (node.nil? || node.root?)
136
- ancestors << node
137
- yield node if block_given?
138
- node = node.parent
133
+ def ancestors
134
+ Enumerator.new do |y|
135
+ node = self.parent
136
+ until (node.nil? || node.root?)
137
+ y << node
138
+ node = node.parent
139
+ end
139
140
  end
140
- ancestors
141
141
  end
142
142
 
143
- def descendants # :yields: descendant
144
- descendants = []
145
- @children.each do |child|
146
- descendants << child
147
- yield child if block_given?
148
- child.descendants do |descendant|
149
- descendants << descendant
150
- yield descendant if block_given?
143
+ def descendants
144
+ Enumerator.new do |y|
145
+ @children.each do |child|
146
+ y << child
147
+ child.descendants.each do |descendant|
148
+ y << descendant
149
+ end
151
150
  end
152
151
  end
153
- descendants
154
152
  end
155
153
  end
156
154
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module HTOTConv
2
3
  module Parser
3
4
  class Base
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'htot_conv/parser/base'
2
3
 
3
4
  module HTOTConv
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'htot_conv/parser/base'
2
3
 
3
4
  module HTOTConv
@@ -13,7 +14,17 @@ module HTOTConv
13
14
  :delimiter => {
14
15
  :default => nil,
15
16
  :pat => String,
16
- :desc => "separator character of additional data"
17
+ :desc => "separator character of additional data",
18
+ },
19
+ :preserve_empty_line => {
20
+ :defalut => false,
21
+ :pat => FalseClass,
22
+ :desc => "preserve empty line as a level-1 item (default: no)",
23
+ },
24
+ :value_header => {
25
+ :default => [],
26
+ :pat => Array,
27
+ :desc => "value header",
17
28
  },
18
29
  }
19
30
  end
@@ -23,9 +34,11 @@ module HTOTConv
23
34
  delimiter_regexp = (option[:delimiter].kind_of?(String))? Regexp.new(Regexp.escape(option[:delimiter])) : option[:delimiter]
24
35
  outline = HTOTConv::Outline.new
25
36
  outline.key_header = []
26
- outline.value_header = []
37
+ outline.value_header = option[:value_header]
27
38
 
28
39
  input.each_line do |line|
40
+ next if ((line.chomp == "") && (!option[:preserve_empty_line]))
41
+
29
42
  level = 1
30
43
  value = []
31
44
  if (option[:indent] || '').length > 0
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require 'htot_conv/parser/base.rb'
2
3
  require 'htot_conv/parser/simple_text.rb'
3
4
  require 'htot_conv/parser/html_list.rb'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module HTOTConv
3
4
  module Util
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module HTOTConv
2
- VERSION = "0.0.1"
3
+ VERSION = "0.1.0"
3
4
  end
data/lib/htot_conv.rb CHANGED
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  require 'htot_conv/version'
2
3
 
3
4
  require 'htot_conv/util'
4
5
  require 'htot_conv/outline'
5
6
  require 'htot_conv/generator'
6
7
  require 'htot_conv/parser'
8
+ # require 'htot_conv/cli'
7
9
 
8
10
  module HTOTConv
9
11
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: htot_conv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - "@cat_in_136"
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-26 00:00:00.000000000 Z
11
+ date: 2017-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: axlsx
@@ -99,6 +99,7 @@ files:
99
99
  - exe/htot_conv
100
100
  - htot_conv.gemspec
101
101
  - lib/htot_conv.rb
102
+ - lib/htot_conv/cli.rb
102
103
  - lib/htot_conv/generator.rb
103
104
  - lib/htot_conv/generator/base.rb
104
105
  - lib/htot_conv/generator/xlsx_type0.rb