card-mod-script 0.15.0 → 0.15.1.1
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/config/late/extend_ansi.rb +1 -0
- data/lib/cardio/utils/ansi2_html.rb +72 -0
- data/set/type/java_script.rb +1 -1
- metadata +11 -10
- data/lib/ansi2html.rb +0 -69
- /data/{init → config}/early/init_execjs.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 283dd70f95566eb02085221a0d8a17e6dae212fbf8d0452a3b7dbe7f0b1fb5f5
|
4
|
+
data.tar.gz: 59904541abc5173accb14a26ec8ee0ca1d7fb9fa939f4fe20d05b816b332492a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6137b85476259484fe1990ee54c92b78d27323d7e0721a75de2db8ee1ef78c5e49d9e80e45c6066c7b123a8bb2fddf6788acb59809ef28cc88c4c6c1ba5a6828
|
7
|
+
data.tar.gz: dc73b8c578885d030b60710cb550df0e99dc335ffbff4a6d0600399af144e11a8073e64afc040a5458a898739f19b8638af484c069418dde469ffa78ccc8ff13
|
@@ -0,0 +1 @@
|
|
1
|
+
Cardio::Utils.extend Cardio::Utils::Ansi2Html
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# Converts ansi formatting codes to html
|
2
|
+
module Cardio
|
3
|
+
module Utils
|
4
|
+
# convert ANSI to html
|
5
|
+
module Ansi2Html
|
6
|
+
def ansi2html data
|
7
|
+
data.gsub(/\033\[(?<code>[\d\;]{2,})m(?<content>.*?)\033\[0m/) do
|
8
|
+
to_span_tag Regexp.last_match(:code), Regexp.last_match(:content)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
ANSI_COLOR_CODE = {
|
15
|
+
0 => "black",
|
16
|
+
1 => "red",
|
17
|
+
2 => "green",
|
18
|
+
3 => "gold",
|
19
|
+
4 => "blue",
|
20
|
+
5 => "magenta",
|
21
|
+
6 => "darkcyan",
|
22
|
+
7 => "white"
|
23
|
+
}.freeze
|
24
|
+
|
25
|
+
ANSI_BRIGHT_COLOR_CODE = {
|
26
|
+
0 => "gray",
|
27
|
+
1 => "lightcoral",
|
28
|
+
2 => "lightgreen",
|
29
|
+
3 => "lightyellow",
|
30
|
+
4 => "lightblue",
|
31
|
+
5 => "mediumpurple",
|
32
|
+
6 => "lightcyan",
|
33
|
+
7 => "lightgray"
|
34
|
+
}.freeze
|
35
|
+
|
36
|
+
STYLE_MAPPINGS = {
|
37
|
+
1 => "font-weight:bold",
|
38
|
+
2 => "opacity:0.5",
|
39
|
+
3 => "font-style:italic",
|
40
|
+
4 => "text-decoration:underline",
|
41
|
+
5 => "text-decoration:blink",
|
42
|
+
6 => "text-decoration:blink",
|
43
|
+
9 => "text-decoration:line-through"
|
44
|
+
}.freeze
|
45
|
+
|
46
|
+
def to_span_tag codes, content
|
47
|
+
style = codes.split(";")
|
48
|
+
.map(&method(:translate_style_code))
|
49
|
+
.join
|
50
|
+
"<span style='#{style}'>#{content}</span>"
|
51
|
+
end
|
52
|
+
|
53
|
+
def translate_style_code code
|
54
|
+
return STYLE_MAPPINGS[code.to_i] if code.size == 1
|
55
|
+
|
56
|
+
color_code = code[-1].to_i
|
57
|
+
property, mapping =
|
58
|
+
case code[0..-2]
|
59
|
+
when "3"
|
60
|
+
["color", ANSI_COLOR_CODE]
|
61
|
+
when "4"
|
62
|
+
["background-color", ANSI_COLOR_CODE]
|
63
|
+
when "9"
|
64
|
+
["color", ANSI_BRIGHT_COLOR_CODE]
|
65
|
+
when "10"
|
66
|
+
["background-color", ANSI_BRIGHT_COLOR_CODE]
|
67
|
+
end
|
68
|
+
"#{property}: #{mapping[color_code]}; "
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
data/set/type/java_script.rb
CHANGED
@@ -5,5 +5,5 @@ include_set Abstract::JavaScript
|
|
5
5
|
event :validate_javascript_syntax, :validate, on: :save, changed: %i[type_id content] do
|
6
6
|
Uglifier.compile content, harmony: true
|
7
7
|
rescue Uglifier::Error => e
|
8
|
-
errors.add :content, "<pre>#{
|
8
|
+
errors.add :content, "<pre>#{Cardio::Utils.ansi2html(e.message)}</pre>".html_safe
|
9
9
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: card-mod-script
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.15.
|
4
|
+
version: 0.15.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ethan McCutchen
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-
|
13
|
+
date: 2023-03-29 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: card
|
@@ -18,42 +18,42 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.105.
|
21
|
+
version: 1.105.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 1.105.
|
28
|
+
version: 1.105.1
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: card-mod-assets
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.15.
|
35
|
+
version: 0.15.1.1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.15.
|
42
|
+
version: 0.15.1.1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: card-mod-list
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - '='
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.15.
|
49
|
+
version: 0.15.1.1
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - '='
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 0.15.
|
56
|
+
version: 0.15.1.1
|
57
57
|
description: ''
|
58
58
|
email:
|
59
59
|
- info@decko.org
|
@@ -62,10 +62,11 @@ extensions: []
|
|
62
62
|
extra_rdoc_files: []
|
63
63
|
files:
|
64
64
|
- README.md
|
65
|
+
- config/early/init_execjs.rb
|
66
|
+
- config/late/extend_ansi.rb
|
65
67
|
- data/real.yml
|
66
|
-
- init/early/init_execjs.rb
|
67
|
-
- lib/ansi2html.rb
|
68
68
|
- lib/card/mod/script.rb
|
69
|
+
- lib/cardio/utils/ansi2_html.rb
|
69
70
|
- lib/javascript/jquery.iframe-transport.js
|
70
71
|
- lib/javascript/theme-textmate.js
|
71
72
|
- set/abstract/00_script.rb
|
data/lib/ansi2html.rb
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
# Converts ansi formatting codes to html
|
2
|
-
module Ansi2html
|
3
|
-
class << self
|
4
|
-
def ansi2html data
|
5
|
-
data.gsub(/\033\[(?<code>[\d\;]{2,})m(?<content>.*?)\033\[0m/) do
|
6
|
-
to_span_tag Regexp.last_match(:code), Regexp.last_match(:content)
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
private
|
11
|
-
|
12
|
-
ANSI_COLOR_CODE = {
|
13
|
-
0 => "black",
|
14
|
-
1 => "red",
|
15
|
-
2 => "green",
|
16
|
-
3 => "gold",
|
17
|
-
4 => "blue",
|
18
|
-
5 => "magenta",
|
19
|
-
6 => "darkcyan",
|
20
|
-
7 => "white"
|
21
|
-
}.freeze
|
22
|
-
|
23
|
-
ANSI_BRIGHT_COLOR_CODE = {
|
24
|
-
0 => "gray",
|
25
|
-
1 => "lightcoral",
|
26
|
-
2 => "lightgreen",
|
27
|
-
3 => "lightyellow",
|
28
|
-
4 => "lightblue",
|
29
|
-
5 => "mediumpurple",
|
30
|
-
6 => "lightcyan",
|
31
|
-
7 => "lightgray"
|
32
|
-
}.freeze
|
33
|
-
|
34
|
-
STYLE_MAPPINGS = {
|
35
|
-
1 => "font-weight:bold",
|
36
|
-
2 => "opacity:0.5",
|
37
|
-
3 => "font-style:italic",
|
38
|
-
4 => "text-decoration:underline",
|
39
|
-
5 => "text-decoration:blink",
|
40
|
-
6 => "text-decoration:blink",
|
41
|
-
9 => "text-decoration:line-through"
|
42
|
-
}.freeze
|
43
|
-
|
44
|
-
def to_span_tag codes, content
|
45
|
-
style = codes.split(";")
|
46
|
-
.map(&method(:translate_style_code))
|
47
|
-
.join
|
48
|
-
"<span style='#{style}'>#{content}</span>"
|
49
|
-
end
|
50
|
-
|
51
|
-
def translate_style_code code
|
52
|
-
return STYLE_MAPPINGS[code.to_i] if code.size == 1
|
53
|
-
|
54
|
-
color_code = code[-1].to_i
|
55
|
-
property, mapping =
|
56
|
-
case code[0..-2]
|
57
|
-
when "3"
|
58
|
-
["color", ANSI_COLOR_CODE]
|
59
|
-
when "4"
|
60
|
-
["background-color", ANSI_COLOR_CODE]
|
61
|
-
when "9"
|
62
|
-
["color", ANSI_BRIGHT_COLOR_CODE]
|
63
|
-
when "10"
|
64
|
-
["background-color", ANSI_BRIGHT_COLOR_CODE]
|
65
|
-
end
|
66
|
-
"#{property}: #{mapping[color_code]}; "
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
File without changes
|