htot_conv 0.3.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +135 -135
- data/.travis.yml +12 -12
- data/Gemfile +4 -4
- data/LICENSE.txt +21 -21
- data/README.md +46 -138
- data/Rakefile +10 -10
- data/bin/console +14 -14
- data/bin/setup +8 -8
- data/docs/image/output_xlsx_type0.png +0 -0
- data/docs/image/output_xlsx_type1.png +0 -0
- data/docs/image/output_xlsx_type1_outline_rows_yes.png +0 -0
- data/docs/image/output_xlsx_type2.png +0 -0
- data/docs/image/output_xlsx_type2_integrate_cells_colspan.png +0 -0
- data/docs/image/output_xlsx_type2_outline_rows_yes.png +0 -0
- data/docs/image/output_xlsx_type3.png +0 -0
- data/docs/image/output_xlsx_type3_integrate_cells_both.png +0 -0
- data/docs/image/output_xlsx_type4.png +0 -0
- data/docs/image/output_xlsx_type4_integrate_cells_both.png +0 -0
- data/docs/image/output_xlsx_type5.png +0 -0
- data/docs/image/output_xlsx_type5_integrate_cells_colspan.png +0 -0
- data/docs/index.md +88 -0
- data/exe/htot_conv +8 -8
- data/htot_conv.gemspec +37 -37
- data/lib/htot_conv.rb +20 -20
- data/lib/htot_conv/cli.rb +174 -174
- data/lib/htot_conv/generator.rb +30 -30
- data/lib/htot_conv/generator/base.rb +34 -35
- data/lib/htot_conv/generator/xlsx_type0.rb +36 -24
- data/lib/htot_conv/generator/xlsx_type1.rb +57 -69
- data/lib/htot_conv/generator/xlsx_type2.rb +100 -104
- data/lib/htot_conv/generator/xlsx_type3.rb +99 -85
- data/lib/htot_conv/generator/xlsx_type4.rb +109 -84
- data/lib/htot_conv/generator/xlsx_type5.rb +75 -62
- data/lib/htot_conv/outline.rb +176 -176
- data/lib/htot_conv/parser.rb +27 -27
- data/lib/htot_conv/parser/base.rb +15 -15
- data/lib/htot_conv/parser/dir_tree.rb +54 -54
- data/lib/htot_conv/parser/html_list.rb +71 -71
- data/lib/htot_conv/parser/opml.rb +70 -70
- data/lib/htot_conv/parser/simple_text.rb +70 -70
- data/lib/htot_conv/util.rb +13 -13
- data/lib/htot_conv/version.rb +4 -4
- metadata +19 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82aa21a70b04d057c215d61118c86979a1ecbbf1
|
4
|
+
data.tar.gz: 4e6a5c0134486792ac5b008feb7c10726d9883c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd4a0afbc095573d0ff9a1b4f3d928308f40ed865708bffdf467f767ec4d80b4f640bb29b5542f3319242f79b06e16c1dfc0515d2d1496d36fa8072cd77126ae
|
7
|
+
data.tar.gz: 93c995abaee53bdb8a428c05bd57c57e48dc936ebd5a93bf7c5b04e6541b70f10c67d287dfc434d9d0ee2ff0f94d23bb244729b453cfe8f09fdcf76f4fe7815d
|
data/.gitignore
CHANGED
@@ -1,135 +1,135 @@
|
|
1
|
-
|
2
|
-
# Created by https://www.gitignore.io/api/vim,emacs,ruby
|
3
|
-
|
4
|
-
### Emacs ###
|
5
|
-
# -*- mode: gitignore; -*-
|
6
|
-
*~
|
7
|
-
\#*\#
|
8
|
-
/.emacs.desktop
|
9
|
-
/.emacs.desktop.lock
|
10
|
-
*.elc
|
11
|
-
auto-save-list
|
12
|
-
tramp
|
13
|
-
.\#*
|
14
|
-
|
15
|
-
# Org-mode
|
16
|
-
.org-id-locations
|
17
|
-
*_archive
|
18
|
-
|
19
|
-
# flymake-mode
|
20
|
-
*_flymake.*
|
21
|
-
|
22
|
-
# eshell files
|
23
|
-
/eshell/history
|
24
|
-
/eshell/lastdir
|
25
|
-
|
26
|
-
# elpa packages
|
27
|
-
/elpa/
|
28
|
-
|
29
|
-
# reftex files
|
30
|
-
*.rel
|
31
|
-
|
32
|
-
# AUCTeX auto folder
|
33
|
-
/auto/
|
34
|
-
|
35
|
-
# cask packages
|
36
|
-
.cask/
|
37
|
-
dist/
|
38
|
-
|
39
|
-
# Flycheck
|
40
|
-
flycheck_*.el
|
41
|
-
|
42
|
-
# server auth directory
|
43
|
-
/server/
|
44
|
-
|
45
|
-
# projectiles files
|
46
|
-
.projectile
|
47
|
-
projectile-bookmarks.eld
|
48
|
-
|
49
|
-
# directory configuration
|
50
|
-
.dir-locals.el
|
51
|
-
|
52
|
-
# saveplace
|
53
|
-
places
|
54
|
-
|
55
|
-
# url cache
|
56
|
-
url/cache/
|
57
|
-
|
58
|
-
# cedet
|
59
|
-
ede-projects.el
|
60
|
-
|
61
|
-
# smex
|
62
|
-
smex-items
|
63
|
-
|
64
|
-
# company-statistics
|
65
|
-
company-statistics-cache.el
|
66
|
-
|
67
|
-
# anaconda-mode
|
68
|
-
anaconda-mode/
|
69
|
-
|
70
|
-
### Ruby ###
|
71
|
-
*.gem
|
72
|
-
*.rbc
|
73
|
-
/.config
|
74
|
-
/coverage/
|
75
|
-
/InstalledFiles
|
76
|
-
/pkg/
|
77
|
-
/spec/reports/
|
78
|
-
/spec/examples.txt
|
79
|
-
/test/tmp/
|
80
|
-
/test/version_tmp/
|
81
|
-
/tmp/
|
82
|
-
|
83
|
-
# Used by dotenv library to load environment variables.
|
84
|
-
# .env
|
85
|
-
|
86
|
-
## Specific to RubyMotion:
|
87
|
-
.dat*
|
88
|
-
.repl_history
|
89
|
-
build/
|
90
|
-
*.bridgesupport
|
91
|
-
build-iPhoneOS/
|
92
|
-
build-iPhoneSimulator/
|
93
|
-
|
94
|
-
## Specific to RubyMotion (use of CocoaPods):
|
95
|
-
#
|
96
|
-
# We recommend against adding the Pods directory to your .gitignore. However
|
97
|
-
# you should judge for yourself, the pros and cons are mentioned at:
|
98
|
-
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
99
|
-
#
|
100
|
-
# vendor/Pods/
|
101
|
-
|
102
|
-
## Documentation cache and generated files:
|
103
|
-
/.yardoc/
|
104
|
-
/_yardoc/
|
105
|
-
/doc/
|
106
|
-
/rdoc/
|
107
|
-
|
108
|
-
## Environment normalization:
|
109
|
-
/.bundle/
|
110
|
-
/vendor/bundle
|
111
|
-
/lib/bundler/man/
|
112
|
-
|
113
|
-
# for a library or gem, you might want to ignore these files since the code is
|
114
|
-
# intended to run in multiple environments; otherwise, check them in:
|
115
|
-
Gemfile.lock
|
116
|
-
# .ruby-version
|
117
|
-
# .ruby-gemset
|
118
|
-
|
119
|
-
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
120
|
-
.rvmrc
|
121
|
-
|
122
|
-
### Vim ###
|
123
|
-
# swap
|
124
|
-
[._]*.s[a-v][a-z]
|
125
|
-
[._]*.sw[a-p]
|
126
|
-
[._]s[a-v][a-z]
|
127
|
-
[._]sw[a-p]
|
128
|
-
# session
|
129
|
-
Session.vim
|
130
|
-
# temporary
|
131
|
-
.netrwhist
|
132
|
-
# auto-generated tag files
|
133
|
-
tags
|
134
|
-
|
135
|
-
# End of https://www.gitignore.io/api/vim,emacs,ruby
|
1
|
+
|
2
|
+
# Created by https://www.gitignore.io/api/vim,emacs,ruby
|
3
|
+
|
4
|
+
### Emacs ###
|
5
|
+
# -*- mode: gitignore; -*-
|
6
|
+
*~
|
7
|
+
\#*\#
|
8
|
+
/.emacs.desktop
|
9
|
+
/.emacs.desktop.lock
|
10
|
+
*.elc
|
11
|
+
auto-save-list
|
12
|
+
tramp
|
13
|
+
.\#*
|
14
|
+
|
15
|
+
# Org-mode
|
16
|
+
.org-id-locations
|
17
|
+
*_archive
|
18
|
+
|
19
|
+
# flymake-mode
|
20
|
+
*_flymake.*
|
21
|
+
|
22
|
+
# eshell files
|
23
|
+
/eshell/history
|
24
|
+
/eshell/lastdir
|
25
|
+
|
26
|
+
# elpa packages
|
27
|
+
/elpa/
|
28
|
+
|
29
|
+
# reftex files
|
30
|
+
*.rel
|
31
|
+
|
32
|
+
# AUCTeX auto folder
|
33
|
+
/auto/
|
34
|
+
|
35
|
+
# cask packages
|
36
|
+
.cask/
|
37
|
+
dist/
|
38
|
+
|
39
|
+
# Flycheck
|
40
|
+
flycheck_*.el
|
41
|
+
|
42
|
+
# server auth directory
|
43
|
+
/server/
|
44
|
+
|
45
|
+
# projectiles files
|
46
|
+
.projectile
|
47
|
+
projectile-bookmarks.eld
|
48
|
+
|
49
|
+
# directory configuration
|
50
|
+
.dir-locals.el
|
51
|
+
|
52
|
+
# saveplace
|
53
|
+
places
|
54
|
+
|
55
|
+
# url cache
|
56
|
+
url/cache/
|
57
|
+
|
58
|
+
# cedet
|
59
|
+
ede-projects.el
|
60
|
+
|
61
|
+
# smex
|
62
|
+
smex-items
|
63
|
+
|
64
|
+
# company-statistics
|
65
|
+
company-statistics-cache.el
|
66
|
+
|
67
|
+
# anaconda-mode
|
68
|
+
anaconda-mode/
|
69
|
+
|
70
|
+
### Ruby ###
|
71
|
+
*.gem
|
72
|
+
*.rbc
|
73
|
+
/.config
|
74
|
+
/coverage/
|
75
|
+
/InstalledFiles
|
76
|
+
/pkg/
|
77
|
+
/spec/reports/
|
78
|
+
/spec/examples.txt
|
79
|
+
/test/tmp/
|
80
|
+
/test/version_tmp/
|
81
|
+
/tmp/
|
82
|
+
|
83
|
+
# Used by dotenv library to load environment variables.
|
84
|
+
# .env
|
85
|
+
|
86
|
+
## Specific to RubyMotion:
|
87
|
+
.dat*
|
88
|
+
.repl_history
|
89
|
+
build/
|
90
|
+
*.bridgesupport
|
91
|
+
build-iPhoneOS/
|
92
|
+
build-iPhoneSimulator/
|
93
|
+
|
94
|
+
## Specific to RubyMotion (use of CocoaPods):
|
95
|
+
#
|
96
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
97
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
98
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
99
|
+
#
|
100
|
+
# vendor/Pods/
|
101
|
+
|
102
|
+
## Documentation cache and generated files:
|
103
|
+
/.yardoc/
|
104
|
+
/_yardoc/
|
105
|
+
/doc/
|
106
|
+
/rdoc/
|
107
|
+
|
108
|
+
## Environment normalization:
|
109
|
+
/.bundle/
|
110
|
+
/vendor/bundle
|
111
|
+
/lib/bundler/man/
|
112
|
+
|
113
|
+
# for a library or gem, you might want to ignore these files since the code is
|
114
|
+
# intended to run in multiple environments; otherwise, check them in:
|
115
|
+
Gemfile.lock
|
116
|
+
# .ruby-version
|
117
|
+
# .ruby-gemset
|
118
|
+
|
119
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
120
|
+
.rvmrc
|
121
|
+
|
122
|
+
### Vim ###
|
123
|
+
# swap
|
124
|
+
[._]*.s[a-v][a-z]
|
125
|
+
[._]*.sw[a-p]
|
126
|
+
[._]s[a-v][a-z]
|
127
|
+
[._]sw[a-p]
|
128
|
+
# session
|
129
|
+
Session.vim
|
130
|
+
# temporary
|
131
|
+
.netrwhist
|
132
|
+
# auto-generated tag files
|
133
|
+
tags
|
134
|
+
|
135
|
+
# End of https://www.gitignore.io/api/vim,emacs,ruby
|
data/.travis.yml
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
sudo: false
|
2
|
-
language: ruby
|
3
|
-
cache: bundler
|
4
|
-
rvm:
|
5
|
-
- 2.4.1
|
6
|
-
- 2.3.4
|
7
|
-
- 2.2.7
|
8
|
-
before_install: gem install bundler
|
9
|
-
notifications:
|
10
|
-
email: false
|
11
|
-
slack:
|
12
|
-
secure: "XBa7qrPhwAl3D8C2mnzHHPlFcWj/IDjQ2+ab1P+oaWSzUd6kzFaQeuuBp21omIozfZwZNOLKRLTquN7vrenBL5h9+wtJsIzx5VK9bwPQijm8MAPQ4tWuhYTJfRmEQxhxkT/TKj+OhHLEgf1ZybDdw4PIsSjQEbpGr2Ro6pT13SS6DcmWPBM7eRryd0CN9Y2/bml94nF48LsNh4u5duTDHuB1+CD0dsbN+jtaPb0+rl2VK8+NrEhi4ghr4HKLvNRVyRLfc53aLsJyv5Wehhv5/iAJIeTXV/ys1TLEpt75FIDTTmZDj3zslHCShOuer8O1wXpofOXNOdbHjQ7tGjcg8nit6FezbjBJxPW6ocI3cq7Tl3lVcQqS0Z1s4mtfqgVm6Fw+eRtbFcXVSOu+NyS1ArlEYp624DKsFAb2asELKBD64r18dRSTecdD6LpUe5Dremw5OP4UfVcekbtNs31X/G11WZE6LGidfJjr3Yk9Y16T05ZykGtZDttykhFbDt8dd/YGu5f3rsPsPLVcTYa3ciVk4+e+V8rwNjUZ81o30ChS1PEedUsq7ttZ2QJj4wC6awdaLp+ue+yn7cjJPPZY3cpcgiVTaWjDjqyeGPB/sf0cVhB1nAnkR0d+YIBa+01v7uerfKpZ/UvJSDXCYy1GOFpKuajGgtQ0qd8ceNgcsmE="
|
1
|
+
sudo: false
|
2
|
+
language: ruby
|
3
|
+
cache: bundler
|
4
|
+
rvm:
|
5
|
+
- 2.4.1
|
6
|
+
- 2.3.4
|
7
|
+
- 2.2.7
|
8
|
+
before_install: gem install bundler
|
9
|
+
notifications:
|
10
|
+
email: false
|
11
|
+
slack:
|
12
|
+
secure: "XBa7qrPhwAl3D8C2mnzHHPlFcWj/IDjQ2+ab1P+oaWSzUd6kzFaQeuuBp21omIozfZwZNOLKRLTquN7vrenBL5h9+wtJsIzx5VK9bwPQijm8MAPQ4tWuhYTJfRmEQxhxkT/TKj+OhHLEgf1ZybDdw4PIsSjQEbpGr2Ro6pT13SS6DcmWPBM7eRryd0CN9Y2/bml94nF48LsNh4u5duTDHuB1+CD0dsbN+jtaPb0+rl2VK8+NrEhi4ghr4HKLvNRVyRLfc53aLsJyv5Wehhv5/iAJIeTXV/ys1TLEpt75FIDTTmZDj3zslHCShOuer8O1wXpofOXNOdbHjQ7tGjcg8nit6FezbjBJxPW6ocI3cq7Tl3lVcQqS0Z1s4mtfqgVm6Fw+eRtbFcXVSOu+NyS1ArlEYp624DKsFAb2asELKBD64r18dRSTecdD6LpUe5Dremw5OP4UfVcekbtNs31X/G11WZE6LGidfJjr3Yk9Y16T05ZykGtZDttykhFbDt8dd/YGu5f3rsPsPLVcTYa3ciVk4+e+V8rwNjUZ81o30ChS1PEedUsq7ttZ2QJj4wC6awdaLp+ue+yn7cjJPPZY3cpcgiVTaWjDjqyeGPB/sf0cVhB1nAnkR0d+YIBa+01v7uerfKpZ/UvJSDXCYy1GOFpKuajGgtQ0qd8ceNgcsmE="
|
data/Gemfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
# Specify your gem's dependencies in htot_conv.gemspec
|
4
|
-
gemspec
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in htot_conv.gemspec
|
4
|
+
gemspec
|
data/LICENSE.txt
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2017 cat_in_136
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2017 cat_in_136
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,138 +1,46 @@
|
|
1
|
-
# HTOTConv - Hierarchical-Tree Outline Text Converter
|
2
|
-
|
3
|
-
Convert from a simple hierarchical-tree outline text into ugly xlsx file
|
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
|
-
|
8
|
-
## Installation
|
9
|
-
|
10
|
-
Install `htot_conv` via RubyGems. Simply run the following command to install:
|
11
|
-
|
12
|
-
$ gem install htot_conv
|
13
|
-
|
14
|
-
## Usage
|
15
|
-
|
16
|
-
$ cat outline.txt
|
17
|
-
President
|
18
|
-
.VP Marketing
|
19
|
-
..Manager
|
20
|
-
..Manager
|
21
|
-
.VP Production
|
22
|
-
..Manager
|
23
|
-
..Manager
|
24
|
-
.VP Sales
|
25
|
-
..Manager
|
26
|
-
..Manager
|
27
|
-
$ htot_conv -f simple_text --from-indent=. -t xlsx_type2 outline.txt outline.xlsx
|
28
|
-
$ xdg-open outline.xlsx
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
* HTML `<ul><li>` and/or `<ol><li>` [nesting list](https://www.w3.org/wiki/HTML_lists#Nesting_lists).
|
48
|
-
* All text outside of `<li>` elements is ignored.
|
49
|
-
|
50
|
-
#### `opml`
|
51
|
-
|
52
|
-
* [OPML](http://dev.opml.org/)
|
53
|
-
* Treat the `text` attribute as a key text, the other attributes as values.
|
54
|
-
|
55
|
-
### Types of output
|
56
|
-
|
57
|
-
The sample input used in this section are as follows:
|
58
|
-
|
59
|
-
1,1(1),1(2)
|
60
|
-
1.1,1.1(1),1.1(2)
|
61
|
-
1.2,1.2(1),1.2(2)
|
62
|
-
1.2.1,1.2.1(1),1.2.1(2)
|
63
|
-
|
64
|
-
* key header: H1, H2, H3
|
65
|
-
* value header: H(1), H(2)
|
66
|
-
|
67
|
-
#### `xlsx_type0`
|
68
|
-
|
69
|
-
| H1 | Level | H(1) | H(2) |
|
70
|
-
|-------|-------|----------|----------|
|
71
|
-
| 1 | 1 | 1(1) | 1(2) |
|
72
|
-
| 1.1 | 2 | 1.1(1) | 1.1(2) |
|
73
|
-
| 1.2 | 2 | 1.2(1) | 1.2(2) |
|
74
|
-
| 1.2.1 | 3 | 1.2.1(1) | 1.2.1(2) |
|
75
|
-
|
76
|
-
#### `xlsx_type1`
|
77
|
-
|
78
|
-
| H1 | H(1) | H(2) |
|
79
|
-
|-------|----------|----------|
|
80
|
-
| 1 | 1(1) | 1(2) |
|
81
|
-
| 1.1 | 1.1(1) | 1.1(2) |
|
82
|
-
| 1.2 | 1.2(1) | 1.2(2) |
|
83
|
-
| 1.2.1 | 1.2.1(1) | 1.2.1(2) |
|
84
|
-
|
85
|
-
Not implemented (TODO):
|
86
|
-
|
87
|
-
* Fill with different background color for each level.
|
88
|
-
|
89
|
-
#### `xlsx_type2`
|
90
|
-
|
91
|
-
| H1 | H2 | H3 | H(1) | H(2) |
|
92
|
-
|----|-----|-------|----------|----------|
|
93
|
-
| 1 | | | 1(1) | 1(2) |
|
94
|
-
| | 1.1 | | 1.1(1) | 1.1(2) |
|
95
|
-
| | 1.2 | | 1.2(1) | 1.2(2) |
|
96
|
-
| | | 1.2.1 | 1.2.1(1) | 1.2.1(2) |
|
97
|
-
|
98
|
-
#### `xlsx_type3`
|
99
|
-
|
100
|
-
| H1 | H(1) | | | H(2) |
|
101
|
-
|----|------|--------|----------|----------|
|
102
|
-
| 1 | 1(1) | | | 1(2) |
|
103
|
-
| | 1.1 | 1.1(1) | | 1.1(2) |
|
104
|
-
| | 1.2 | 1.2(1) | | 1.2(2) |
|
105
|
-
| | | 1.2.1 | 1.2.1(1) | 1.2.1(2) |
|
106
|
-
|
107
|
-
TODO: Github Flavored Markdown does not support the column span.
|
108
|
-
So, this document does not correctly represent type-3 xlsx spread sheet.
|
109
|
-
|
110
|
-
#### `xlsx_type4`
|
111
|
-
|
112
|
-
| H1 | H2 | H3 | H(1) | H(2) |
|
113
|
-
|----|-----|-------|----------|----------|
|
114
|
-
| 1 | 1.1 | | 1.1(1) | 1.1(2) |
|
115
|
-
| | 1.2 | 1.2.1 | 1.2.1(1) | 1.2.1(2) |
|
116
|
-
|
117
|
-
#### `xlsx_type5`
|
118
|
-
|
119
|
-
| H1 | H2 | H3 | H(1) | H(2) |
|
120
|
-
|----|-----|-------|----------|----------|
|
121
|
-
| 1 | 1.1 | | 1.1(1) | 1.1(2) |
|
122
|
-
| 1 | 1.2 | 1.2.1 | 1.2.1(1) | 1.2.1(2) |
|
123
|
-
|
124
|
-
## Development
|
125
|
-
|
126
|
-
$ bundle install --path=vendor/bundle --with development test
|
127
|
-
$ bundle exec rake test
|
128
|
-
|
129
|
-
## Contributing
|
130
|
-
|
131
|
-
Bug reports and pull requests are welcome on GitHub at <https://github.com/cat-in-136/htot_conv>.
|
132
|
-
|
133
|
-
|
134
|
-
## License
|
135
|
-
|
136
|
-
[MIT License](http://opensource.org/licenses/MIT).
|
137
|
-
See the `LICENSE.txt` file.
|
138
|
-
|
1
|
+
# HTOTConv - Hierarchical-Tree Outline Text Converter
|
2
|
+
|
3
|
+
Convert from a simple hierarchical-tree outline text into ugly xlsx file
|
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
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
Install `htot_conv` via RubyGems. Simply run the following command to install:
|
11
|
+
|
12
|
+
$ gem install htot_conv
|
13
|
+
|
14
|
+
## Usage
|
15
|
+
|
16
|
+
$ cat outline.txt
|
17
|
+
President
|
18
|
+
.VP Marketing
|
19
|
+
..Manager
|
20
|
+
..Manager
|
21
|
+
.VP Production
|
22
|
+
..Manager
|
23
|
+
..Manager
|
24
|
+
.VP Sales
|
25
|
+
..Manager
|
26
|
+
..Manager
|
27
|
+
$ htot_conv -f simple_text --from-indent=. -t xlsx_type2 outline.txt outline.xlsx
|
28
|
+
$ xdg-open outline.xlsx
|
29
|
+
|
30
|
+
See [docs/index.md](docs/index.md) for detail.
|
31
|
+
|
32
|
+
## Development
|
33
|
+
|
34
|
+
$ bundle install --path=vendor/bundle --with development test
|
35
|
+
$ bundle exec rake test
|
36
|
+
|
37
|
+
## Contributing
|
38
|
+
|
39
|
+
Bug reports and pull requests are welcome on GitHub at <https://github.com/cat-in-136/htot_conv>.
|
40
|
+
|
41
|
+
|
42
|
+
## License
|
43
|
+
|
44
|
+
[MIT License](http://opensource.org/licenses/MIT).
|
45
|
+
See the `LICENSE.txt` file.
|
46
|
+
|