svg_icon 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/data/bx.json +1429 -1443
- data/lib/data/heroicons.json +1410 -0
- data/lib/svg_icon/configuration.rb +1 -0
- data/lib/svg_icon/helper.rb +2 -2
- data/lib/svg_icon/version.rb +1 -1
- data/lib/svg_icon.rb +36 -2
- metadata +3 -2
data/lib/svg_icon/helper.rb
CHANGED
@@ -3,7 +3,7 @@ module SvgIcon
|
|
3
3
|
def svg_icon(name, options = {})
|
4
4
|
options = options.dup
|
5
5
|
|
6
|
-
icons = SvgIcon.
|
6
|
+
icons = SvgIcon.icons_json
|
7
7
|
height = icons["height"] || 24
|
8
8
|
width = icons["width"] || 24
|
9
9
|
|
@@ -18,7 +18,7 @@ module SvgIcon
|
|
18
18
|
path = icons["icons"][name]["body"]
|
19
19
|
"<svg xmlns='http://www.w3.org/2000/svg' #{icon_html_attributes(options)}>#{path}</svg>".html_safe
|
20
20
|
rescue
|
21
|
-
"<svg xmlns='http://www.w3.org/2000/svg' #{icon_html_attributes(options)}><!-- SVG icon file not found: '#{name}' --></svg
|
21
|
+
"<svg xmlns='http://www.w3.org/2000/svg' #{icon_html_attributes(options)}><!-- SVG icon file not found: '#{name}' --></svg>".html_safe
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
data/lib/svg_icon/version.rb
CHANGED
data/lib/svg_icon.rb
CHANGED
@@ -10,11 +10,45 @@ module SvgIcon
|
|
10
10
|
class Error < StandardError; end
|
11
11
|
|
12
12
|
extend self
|
13
|
+
|
14
|
+
def extra_file_data
|
15
|
+
extra_data_path = SvgIcon.configuration.extra_icons_path
|
16
|
+
return nil if extra_data_path.nil?
|
17
|
+
@extra_file_data ||= File.read(extra_data_path)
|
18
|
+
end
|
19
|
+
|
20
|
+
def extra_icons
|
21
|
+
return {} if extra_file_data.nil?
|
22
|
+
@extra_icons ||= MultiJson.load(extra_file_data)
|
23
|
+
end
|
24
|
+
|
25
|
+
# def file_data
|
26
|
+
# icons_data_path = SvgIcon.configuration.icons_data_path
|
27
|
+
|
28
|
+
# icons_path = if icons_data_path.present?
|
29
|
+
# File.join(icons_data_path)
|
30
|
+
# else
|
31
|
+
# File.join(__dir__, "data/#{SvgIcon.configuration.icon}.json")
|
32
|
+
# end
|
33
|
+
# @file_data ||= File.read(icons_path)
|
34
|
+
# end
|
35
|
+
|
13
36
|
def file_data
|
14
|
-
|
37
|
+
icons_path = File.join(__dir__, "data/#{SvgIcon.configuration.icon}.json")
|
38
|
+
@file_data ||= File.read(icons_path)
|
15
39
|
end
|
16
40
|
|
17
41
|
def icons
|
18
|
-
@icons ||= MultiJson.load(file_data)
|
42
|
+
@icons ||= MultiJson.load(file_data)
|
43
|
+
end
|
44
|
+
|
45
|
+
def icons_json
|
46
|
+
@icons_json ||= if extra_icons
|
47
|
+
puts "icons_json"
|
48
|
+
icons["icons"] = icons["icons"].merge(extra_icons)
|
49
|
+
icons
|
50
|
+
else
|
51
|
+
icons
|
52
|
+
end
|
19
53
|
end
|
20
54
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: svg_icon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- doabit
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -40,6 +40,7 @@ files:
|
|
40
40
|
- bin/setup
|
41
41
|
- lib/data/bi.json
|
42
42
|
- lib/data/bx.json
|
43
|
+
- lib/data/heroicons.json
|
43
44
|
- lib/svg_icon.rb
|
44
45
|
- lib/svg_icon/configuration.rb
|
45
46
|
- lib/svg_icon/helper.rb
|