shell2html 0.0.5 → 0.0.6
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 +4 -4
- data/.ruby-version +1 -0
- data/.travis.yml +1 -1
- data/CHANGELOG.md +7 -1
- data/LICENSE.txt +1 -1
- data/README.md +7 -6
- data/bin/shell2css +12 -0
- data/bin/shell2html +12 -1
- data/lib/shell2html.rb +15 -9
- data/shell2html.gemspec +1 -2
- data/spec/files/colors.css +42 -0
- data/spec/files/colors.sass +87 -0
- data/spec/lib/shell2html_spec.rb +14 -4
- metadata +11 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c11597cc04491645e7a641e45273f91331050793
|
4
|
+
data.tar.gz: fd19db170d10c0c595eb9f441ec23e3423111b5c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0dd2aecb503f5e305884eb2249a6498b99665d7a011e69b4085bd19bc758eae8b8116cb0d62c66423176c1b4c061aae682fde4b91ef5fe6c9cc58afc0f80dcd
|
7
|
+
data.tar.gz: 813ff40b118bece38dceeccb140a4d7a2fc37e3d6c2bead148524f2902af172b2bbc0dcfdfa355d903351adfa03405117504d565fc696b180ad84f50555b449e
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.2.3
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
|
-
|
1
|
+
shell2html
|
2
2
|
==================
|
3
3
|
|
4
|
+
v0.0.6 - 2015-11-23
|
5
|
+
-------------------
|
6
|
+
- added a `shell2css` executable to render css
|
7
|
+
- use `shell2css sass` to print out sass version of the css
|
8
|
+
- made `shell2html` work with stdin or with a filename as argument
|
9
|
+
|
4
10
|
v0.0.5 - 2014-08-19
|
5
11
|
-------------------
|
6
12
|
- added a link on urls with a custom style
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -2,6 +2,7 @@ Shell2html
|
|
2
2
|
===============
|
3
3
|
|
4
4
|
[](http://rubygems.org/gems/shell2html)
|
5
|
+
[](https://rubygems.org/gems/shell2html)
|
5
6
|
[](https://travis-ci.org/mose/shell2html)
|
6
7
|
[](https://coveralls.io/r/mose/shell2html?branch=master)
|
7
8
|
[](https://gemnasium.com/mose/shell2html)
|
@@ -9,9 +10,9 @@ Shell2html
|
|
9
10
|
|
10
11
|
----
|
11
12
|
|
12
|
-
A ruby lib for conversion between bash colors and HTML. It was created to help the Shellplay tool to export html from colored shell output.
|
13
|
+
A ruby lib for conversion between bash colors and HTML. It was created to help the [Shellplay](https://github.com/mose/shellplay) tool to export html from colored shell output.
|
13
14
|
|
14
|
-
Code is still experimental, use at your own risk. But "it works for me".
|
15
|
+
Code is still experimental, use at your own risk. But "it works for me". An example of usage is visible on http://mose.com/20140814-dokku/
|
15
16
|
|
16
17
|
Installation
|
17
18
|
-------------------
|
@@ -39,8 +40,6 @@ puts Shell2html.to_html("\e[33m>\e[0m\e[1;31m some colored thing.\e[0m")
|
|
39
40
|
Commandline command
|
40
41
|
-------------------
|
41
42
|
|
42
|
-
(not functionnal yet)
|
43
|
-
|
44
43
|
There is a command `shell2html` provided in this lib for commandline execution.
|
45
44
|
|
46
45
|
shell2html <file>
|
@@ -48,7 +47,9 @@ There is a command `shell2html` provided in this lib for commandline execution.
|
|
48
47
|
|
49
48
|
The html is output in stdout.
|
50
49
|
|
51
|
-
|
50
|
+
Another command `shell2css` will print out the CSS associated with the generated html.
|
51
|
+
|
52
|
+
Use `shell2css sass` to generate a Sass version instead.
|
52
53
|
|
53
54
|
Contributing
|
54
55
|
-----------------
|
@@ -60,4 +61,4 @@ Contributing
|
|
60
61
|
|
61
62
|
Copyright
|
62
63
|
----------------
|
63
|
-
(c) Copyright 2014 mose. Distributed under MIT license
|
64
|
+
(c) Copyright 2014-2015 mose. Distributed under MIT license
|
data/bin/shell2css
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
lib = File.expand_path('../../lib', __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
|
6
|
+
require 'shell2html'
|
7
|
+
|
8
|
+
if ARGV.count > 0 and ARGV[0] == 'sass'
|
9
|
+
puts Shell2html.sass
|
10
|
+
else
|
11
|
+
puts Shell2html.css
|
12
|
+
end
|
data/bin/shell2html
CHANGED
@@ -5,4 +5,15 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
|
6
6
|
require 'shell2html'
|
7
7
|
|
8
|
-
|
8
|
+
if ARGV.count > 0
|
9
|
+
file = ARGV[0]
|
10
|
+
if !File.exists? file
|
11
|
+
puts "File #{file} Not found"
|
12
|
+
exit(1)
|
13
|
+
end
|
14
|
+
puts Shell2html.to_html(File.read(file))
|
15
|
+
else
|
16
|
+
txt = $stdin.read
|
17
|
+
puts Shell2html.to_html(txt)
|
18
|
+
end
|
19
|
+
|
data/lib/shell2html.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
1
3
|
module Shell2html
|
2
4
|
|
3
5
|
module_function
|
@@ -67,6 +69,7 @@ module Shell2html
|
|
67
69
|
key.split(';').each do |i|
|
68
70
|
css << COLORS["#{i.to_i}"] if COLORS["#{i.to_i}"]
|
69
71
|
end
|
72
|
+
count = 1
|
70
73
|
if css.count > 0
|
71
74
|
if inline
|
72
75
|
span_style = css.map do |c|
|
@@ -76,15 +79,12 @@ module Shell2html
|
|
76
79
|
end
|
77
80
|
o
|
78
81
|
end.flatten.join(';')
|
79
|
-
count = 1
|
80
82
|
"#{'</span>' * count}<span style=\"#{span_style}\">#{t}"
|
81
83
|
else
|
82
|
-
count = 1
|
83
84
|
span_class = css.map { |c| c[:css] }.join(' ')
|
84
85
|
"#{'</span>' * count}<span class=\"#{span_class}\">#{t}"
|
85
86
|
end
|
86
87
|
else
|
87
|
-
count = 1
|
88
88
|
"#{'</span>' * count}<span>#{t}"
|
89
89
|
end
|
90
90
|
end
|
@@ -99,17 +99,23 @@ module Shell2html
|
|
99
99
|
COLORS.each do |_, c|
|
100
100
|
o = []
|
101
101
|
css = c[:style].each do |k, v|
|
102
|
-
o << "#{k}
|
102
|
+
o << "#{k}: #{v}"
|
103
103
|
end
|
104
104
|
back << ".#{c[:css]} { #{o.join(';')} }"
|
105
105
|
end
|
106
|
-
back.join("\n")
|
107
|
-
end
|
108
|
-
|
109
|
-
def to_sass(text)
|
106
|
+
back.join("\n") + "\n"
|
110
107
|
end
|
111
108
|
|
112
|
-
def
|
109
|
+
def sass
|
110
|
+
back = []
|
111
|
+
COLORS.each do |_, c|
|
112
|
+
o = []
|
113
|
+
back << ".#{c[:css]}"
|
114
|
+
c[:style].each do |k, v|
|
115
|
+
back << " #{k}: #{v}"
|
116
|
+
end
|
117
|
+
end
|
118
|
+
back.join("\n") + "\n"
|
113
119
|
end
|
114
120
|
|
115
121
|
end
|
data/shell2html.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.authors = ["mose"]
|
9
9
|
spec.email = ["mose@mose.com"]
|
10
10
|
spec.summary = %q{A ruby lib for transforming bash colors into html.}
|
11
|
-
spec.description = %q{A ruby lib for transforming bash colors into html. Parses escape chars
|
11
|
+
spec.description = %q{A ruby lib for transforming bash colors into html. Parses escape chars and outputs html.}
|
12
12
|
spec.homepage = "https://github.com/mose/shell2html"
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
@@ -17,7 +17,6 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^spec/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_development_dependency "bundler", "~> 1.6"
|
21
20
|
spec.add_development_dependency "rake"
|
22
21
|
spec.add_development_dependency 'rspec'
|
23
22
|
spec.add_development_dependency 'coveralls'
|
@@ -0,0 +1,42 @@
|
|
1
|
+
.sh_bold { font-weight: bold }
|
2
|
+
.sh_dim { opacity: .5 }
|
3
|
+
.sh_underlined { border-bottom: 1px solid rgba(255,255,255,.6);padding-bottom: 1px }
|
4
|
+
.sh_blink { text-decoration: blink }
|
5
|
+
.sh_inverted { font-weight: bold }
|
6
|
+
.sh_hidden { opacity: 0 }
|
7
|
+
.sh_fg_default { color: #ffffff }
|
8
|
+
.sh_fg_black { color: #000000 }
|
9
|
+
.sh_fg_red { color: #cd0000 }
|
10
|
+
.sh_fg_green { color: #00cd00 }
|
11
|
+
.sh_fg_yellow { color: #cdcd00 }
|
12
|
+
.sh_fg_blue { color: #1e90ff }
|
13
|
+
.sh_fg_magenta { color: #cd00cd }
|
14
|
+
.sh_fg_cyan { color: #00cdcd }
|
15
|
+
.sh_fg_lightgray { color: #e5e5e5 }
|
16
|
+
.sh_fg_darkgray { color: #4c4c4c }
|
17
|
+
.sh_fg_lightred { color: #ff0000 }
|
18
|
+
.sh_fg_lightgreen { color: #00ff00 }
|
19
|
+
.sh_fg_lightyellow { color: #ffff00 }
|
20
|
+
.sh_fg_lightblue { color: #4682b4 }
|
21
|
+
.sh_fg_lightmagenta { color: #ff00ff }
|
22
|
+
.sh_fg_lightcyan { color: #00ffff }
|
23
|
+
.sh_fg_white { color: #ffffff }
|
24
|
+
.sh_bg_default { background-color: #000000 }
|
25
|
+
.sh_bg_black { background-color: #000000 }
|
26
|
+
.sh_bg_red { background-color: #cd0000 }
|
27
|
+
.sh_bg_green { background-color: #00cd00 }
|
28
|
+
.sh_bg_yellow { background-color: #cdcd00 }
|
29
|
+
.sh_bg_blue { background-color: #1e90ff }
|
30
|
+
.sh_bg_magenta { background-color: #cd00cd }
|
31
|
+
.sh_bg_cyan { background-color: #00cdcd }
|
32
|
+
.sh_bg_lightgray { background-color: #e5e5e5 }
|
33
|
+
.sh_bg_darkgray { background-color: #4c4c4c }
|
34
|
+
.sh_bg_lightred { background-color: #ff0000 }
|
35
|
+
.sh_bg_lightgreen { background-color: #00ff00 }
|
36
|
+
.sh_bg_lightyellow { background-color: #ffff00 }
|
37
|
+
.sh_bg_lightblue { background-color: #4682b4 }
|
38
|
+
.sh_bg_lightmagenta { background-color: #ff00ff }
|
39
|
+
.sh_bg_lightcyan { background-color: #00ffff }
|
40
|
+
.sh_bg_white { background-color: #ffffff }
|
41
|
+
.sh_a { color: inherit;text-decoration: inherit }
|
42
|
+
.sh_a:hover { background-color: #ffffff;color: #000000 }
|
@@ -0,0 +1,87 @@
|
|
1
|
+
.sh_bold
|
2
|
+
font-weight: bold
|
3
|
+
.sh_dim
|
4
|
+
opacity: .5
|
5
|
+
.sh_underlined
|
6
|
+
border-bottom: 1px solid rgba(255,255,255,.6)
|
7
|
+
padding-bottom: 1px
|
8
|
+
.sh_blink
|
9
|
+
text-decoration: blink
|
10
|
+
.sh_inverted
|
11
|
+
font-weight: bold
|
12
|
+
.sh_hidden
|
13
|
+
opacity: 0
|
14
|
+
.sh_fg_default
|
15
|
+
color: #ffffff
|
16
|
+
.sh_fg_black
|
17
|
+
color: #000000
|
18
|
+
.sh_fg_red
|
19
|
+
color: #cd0000
|
20
|
+
.sh_fg_green
|
21
|
+
color: #00cd00
|
22
|
+
.sh_fg_yellow
|
23
|
+
color: #cdcd00
|
24
|
+
.sh_fg_blue
|
25
|
+
color: #1e90ff
|
26
|
+
.sh_fg_magenta
|
27
|
+
color: #cd00cd
|
28
|
+
.sh_fg_cyan
|
29
|
+
color: #00cdcd
|
30
|
+
.sh_fg_lightgray
|
31
|
+
color: #e5e5e5
|
32
|
+
.sh_fg_darkgray
|
33
|
+
color: #4c4c4c
|
34
|
+
.sh_fg_lightred
|
35
|
+
color: #ff0000
|
36
|
+
.sh_fg_lightgreen
|
37
|
+
color: #00ff00
|
38
|
+
.sh_fg_lightyellow
|
39
|
+
color: #ffff00
|
40
|
+
.sh_fg_lightblue
|
41
|
+
color: #4682b4
|
42
|
+
.sh_fg_lightmagenta
|
43
|
+
color: #ff00ff
|
44
|
+
.sh_fg_lightcyan
|
45
|
+
color: #00ffff
|
46
|
+
.sh_fg_white
|
47
|
+
color: #ffffff
|
48
|
+
.sh_bg_default
|
49
|
+
background-color: #000000
|
50
|
+
.sh_bg_black
|
51
|
+
background-color: #000000
|
52
|
+
.sh_bg_red
|
53
|
+
background-color: #cd0000
|
54
|
+
.sh_bg_green
|
55
|
+
background-color: #00cd00
|
56
|
+
.sh_bg_yellow
|
57
|
+
background-color: #cdcd00
|
58
|
+
.sh_bg_blue
|
59
|
+
background-color: #1e90ff
|
60
|
+
.sh_bg_magenta
|
61
|
+
background-color: #cd00cd
|
62
|
+
.sh_bg_cyan
|
63
|
+
background-color: #00cdcd
|
64
|
+
.sh_bg_lightgray
|
65
|
+
background-color: #e5e5e5
|
66
|
+
.sh_bg_darkgray
|
67
|
+
background-color: #4c4c4c
|
68
|
+
.sh_bg_lightred
|
69
|
+
background-color: #ff0000
|
70
|
+
.sh_bg_lightgreen
|
71
|
+
background-color: #00ff00
|
72
|
+
.sh_bg_lightyellow
|
73
|
+
background-color: #ffff00
|
74
|
+
.sh_bg_lightblue
|
75
|
+
background-color: #4682b4
|
76
|
+
.sh_bg_lightmagenta
|
77
|
+
background-color: #ff00ff
|
78
|
+
.sh_bg_lightcyan
|
79
|
+
background-color: #00ffff
|
80
|
+
.sh_bg_white
|
81
|
+
background-color: #ffffff
|
82
|
+
.sh_a
|
83
|
+
color: inherit
|
84
|
+
text-decoration: inherit
|
85
|
+
.sh_a:hover
|
86
|
+
background-color: #ffffff
|
87
|
+
color: #000000
|
data/spec/lib/shell2html_spec.rb
CHANGED
@@ -14,24 +14,34 @@ describe Shell2html do
|
|
14
14
|
context 'when we need css classes, ' do
|
15
15
|
|
16
16
|
context 'when we input a text with an unknown foreground color, ' do
|
17
|
-
it { expect(subject.to_html(unknown_text)).to eq '
|
17
|
+
it { expect(subject.to_html(unknown_text)).to eq '</span><span>text</span>' }
|
18
18
|
end
|
19
19
|
|
20
20
|
context 'when we input a text with a simple foreground color, ' do
|
21
|
-
it { expect(subject.to_html(blue_text)).to eq '
|
21
|
+
it { expect(subject.to_html(blue_text)).to eq '</span><span class="sh_fg_blue">text</span>' }
|
22
22
|
end
|
23
23
|
|
24
24
|
context 'when we input a text with a bold foreground color, ' do
|
25
|
-
it { expect(subject.to_html(bold_blue_text)).to eq '
|
25
|
+
it { expect(subject.to_html(bold_blue_text)).to eq '</span><span class="sh_bold sh_fg_blue">text</span>' }
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
29
|
context 'when we need inline styles, ' do
|
30
30
|
context 'when we input a text with a simple foreground color, ' do
|
31
|
-
it { expect(subject.to_html(blue_text,true)).to eq '
|
31
|
+
it { expect(subject.to_html(blue_text,true)).to eq '</span><span style="color:#1e90ff">text</span>' }
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
35
|
end
|
36
36
|
|
37
|
+
describe '.css' do
|
38
|
+
let(:expected) { File.read(File.expand_path('../../files/colors.css', __FILE__)) }
|
39
|
+
it { expect(subject.css).to eq expected }
|
40
|
+
end
|
41
|
+
|
42
|
+
describe '.sass' do
|
43
|
+
let(:expected) { File.read(File.expand_path('../../files/colors.sass', __FILE__)) }
|
44
|
+
it { expect(subject.sass).to eq expected }
|
45
|
+
end
|
46
|
+
|
37
47
|
end
|
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shell2html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mose
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.6'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.6'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,25 +53,30 @@ dependencies:
|
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '0'
|
69
55
|
description: A ruby lib for transforming bash colors into html. Parses escape chars
|
70
|
-
|
56
|
+
and outputs html.
|
71
57
|
email:
|
72
58
|
- mose@mose.com
|
73
59
|
executables:
|
60
|
+
- shell2css
|
74
61
|
- shell2html
|
75
62
|
extensions: []
|
76
63
|
extra_rdoc_files: []
|
77
64
|
files:
|
78
65
|
- ".coveralls.yml"
|
79
66
|
- ".gitignore"
|
67
|
+
- ".ruby-version"
|
80
68
|
- ".travis.yml"
|
81
69
|
- CHANGELOG.md
|
82
70
|
- Gemfile
|
83
71
|
- LICENSE.txt
|
84
72
|
- README.md
|
85
73
|
- Rakefile
|
74
|
+
- bin/shell2css
|
86
75
|
- bin/shell2html
|
87
76
|
- lib/shell2html.rb
|
88
77
|
- shell2html.gemspec
|
78
|
+
- spec/files/colors.css
|
79
|
+
- spec/files/colors.sass
|
89
80
|
- spec/lib/shell2html_spec.rb
|
90
81
|
- spec/spec_helper.rb
|
91
82
|
homepage: https://github.com/mose/shell2html
|
@@ -108,10 +99,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
108
99
|
version: '0'
|
109
100
|
requirements: []
|
110
101
|
rubyforge_project:
|
111
|
-
rubygems_version: 2.
|
102
|
+
rubygems_version: 2.4.8
|
112
103
|
signing_key:
|
113
104
|
specification_version: 4
|
114
105
|
summary: A ruby lib for transforming bash colors into html.
|
115
106
|
test_files:
|
107
|
+
- spec/files/colors.css
|
108
|
+
- spec/files/colors.sass
|
116
109
|
- spec/lib/shell2html_spec.rb
|
117
110
|
- spec/spec_helper.rb
|