ansi_sgr_to_html 1.0.1 → 1.1.0
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 +15 -0
- data/lib/ansi_sgr_to_html.rb +32 -1
- metadata +5 -7
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ODcxYmU1NDNiN2FjNjRlM2QxNDNiYjc4NWFmYzU5MGRlZWIyNmE4NA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
Y2Y0N2JlMDI4NTliNjNlZDBhNGQwNjRhYWIyOWQxNDdhNmVhY2MzMQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NDcxM2Y0ODk1ODczMmIzNTNjMmIzYjIxMzc4NDNhYjg1ZWU5MjFiNjY3OGJh
|
10
|
+
MjFlNWJiMDc0N2EyODQ1NzVkYTg4NTM1OGJkOGFkOTY2ZWJjNTUwYTkyMjlh
|
11
|
+
NTliZjc1MDNmYTczNmE2ZmU1NmUzYjk5ZmRkMzRhYjE1MTE3ZDk=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OGE4MTZiNzM0Y2MxOTgxMjRhYjZhZWE0NjNhNzI0YmMyZTFhMGM0NWYyYzJl
|
14
|
+
ODZhZDdkOGVjNjliOGUzNjM1MTBjZGU0ZGNjZGEwMGM2YmE4YWU5N2M1OWZi
|
15
|
+
NjMwYjU5YWQ2NWQ2NGYzMGJhMjkxYWQzZWYxMjQ5Y2EwZWI1MDM=
|
data/lib/ansi_sgr_to_html.rb
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
# This is generated by ragel - write me a mail if you are interested in the main source.
|
2
2
|
# Its not included, currently, as I dont want the gem to depend on ragel, for installation.
|
3
|
+
|
4
|
+
# =ANSI SGR code to HTML converter
|
5
|
+
# This gem converts text with ANSI SGR codes to HTML. SGR? Yes, fonts, bold, colors, etc. are ANSI SGR sequences, other ANSI escape codes are not supported.
|
6
|
+
# In other words, the only codes that actually make sense to convert are supported, as moving the cursor would not be convertible.
|
7
|
+
# ==Overview
|
8
|
+
# - supports all standardized SGR codes except ideograms or codes 50-59
|
9
|
+
# * this means it supports alternative fonts (user specified)
|
10
|
+
# * blink codes supported! Slow and fast!
|
11
|
+
# * full support for all SGR color codes, meaning 4bit, 8bit and 24bit colors, for both, foreground and background (most other gems do not, especially not 24bit colors)
|
12
|
+
# - supports sequences of SGR codes separated by ';' (some other gems do not)
|
13
|
+
# - configurable options by user
|
14
|
+
# * custom set all 10 alternative fonts (default: all inherit default font)
|
15
|
+
# * is bold only bold, or also bright (default: both)
|
16
|
+
# * fully user defineable basic 16 color tables, or pick from preset (default: xterm)
|
17
|
+
# - flat output, no nested spans like some other gems (smaller output than most other gems)
|
3
18
|
class ANSI_SGR_To_HTML
|
4
19
|
@@HTML_escapes = {'&'=>'&','"'=>'"','<'=>'<','>'=>'>',"\r"=>"\r","\n"=>"\n"} # newlines controlled by option
|
5
20
|
@@Col_tab_256 = [
|
@@ -43,7 +58,18 @@ class ANSI_SGR_To_HTML
|
|
43
58
|
:osx_term => ['000000', 'C23621', '25BC24', 'ADAD27', '492EE1', 'D338D3', '33BBC8', 'CBCCCD', '818383', 'FC391F', '31E722', 'EAEC23', '5833FF', 'F935F8', '14F0F0', 'E9EBEB']
|
44
59
|
}
|
45
60
|
@@CSS_blink_keyframes = '<style>@keyframes term_blink { 0%,50% { opacity: 1; } 51%,100% { opacity: 0; } }</style>'
|
46
|
-
|
61
|
+
# Create new instance of converter
|
62
|
+
#
|
63
|
+
# ======Example
|
64
|
+
# >> ANSI_SGR_To_HTML.new(false, :osx_term, ['serif','Courier New']+[nil]*7+['Fraktur'], true, true)
|
65
|
+
#
|
66
|
+
# ======Arguments
|
67
|
+
# [k_turn_eol_into_br] pass true if converter should turn newlines into <br/> on the fly (redundant if output is wrapped in <pre>)
|
68
|
+
# [col_tab_16] specify either array with 16 css colors (first 8 are low, last 8 are bright colors), or preset name (:xterm, :osx_term, :cmd, :vga)
|
69
|
+
# [font_styles] Array with ten font-names (or nil, to use default), to be used for SGR codes 11-20
|
70
|
+
# [k_1_is_bold_and_bright] true renders bold text (SGR code 1) also in bright colors (if color is from basic 16-color table)
|
71
|
+
# [k_21_is_double_underline] specify, whether SGR code 21 disables bold text, or enable double-underline
|
72
|
+
def initialize(k_turn_eol_into_br = false, col_tab_16 = :xterm, font_styles = [nil]*10, k_1_is_bold_and_bright = true, k_21_is_double_underline = true)
|
47
73
|
@k_21_is_double_underline = k_21_is_double_underline;
|
48
74
|
@k_1_is_bold_and_bright = k_1_is_bold_and_bright;
|
49
75
|
@k_turn_eol_into_br = k_turn_eol_into_br;
|
@@ -244,6 +270,11 @@ class << self
|
|
244
270
|
end
|
245
271
|
self.ansi_sgr_to_html_en_main = 43;
|
246
272
|
end
|
273
|
+
# Convert string
|
274
|
+
#
|
275
|
+
# ======Arguments:
|
276
|
+
# [i] Input (string at the moment, future versions are planned to accept streams)
|
277
|
+
# [o] Output, anything with << to append to (e.g. String, $stdout, etc.) or nil to get a string returned after complete conversion
|
247
278
|
def convert(i, o=nil) # i is string, o can be anything with <<
|
248
279
|
o = '' unless o
|
249
280
|
begin
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ansi_sgr_to_html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
5
|
-
prerelease:
|
4
|
+
version: 1.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Tassilo Philipp
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-21 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Converter for complete ANSI SGR codes to HTML. Similar to ansitags gem,
|
15
14
|
but smaller output (no nested spans), faster (converts everything in one pass),
|
@@ -25,26 +24,25 @@ files:
|
|
25
24
|
homepage:
|
26
25
|
licenses:
|
27
26
|
- ISC
|
27
|
+
metadata: {}
|
28
28
|
post_install_message:
|
29
29
|
rdoc_options: []
|
30
30
|
require_paths:
|
31
31
|
- lib
|
32
32
|
required_ruby_version: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
33
|
requirements:
|
35
34
|
- - ! '>='
|
36
35
|
- !ruby/object:Gem::Version
|
37
36
|
version: 1.9.1
|
38
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
38
|
requirements:
|
41
39
|
- - ! '>='
|
42
40
|
- !ruby/object:Gem::Version
|
43
41
|
version: '0'
|
44
42
|
requirements: []
|
45
43
|
rubyforge_project:
|
46
|
-
rubygems_version:
|
44
|
+
rubygems_version: 2.4.5
|
47
45
|
signing_key:
|
48
|
-
specification_version:
|
46
|
+
specification_version: 4
|
49
47
|
summary: Converts strings with ANSI SGR codes to HTML
|
50
48
|
test_files: []
|