rubicons 0.5.0 → 0.6.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 +4 -4
- data/README.md +3 -3
- data/lib/rubicons/base_icon_set.rb +51 -49
- data/lib/rubicons/bootstrap.rb +15 -6
- data/lib/rubicons/box_icons.rb +15 -6
- data/lib/rubicons/circum_icons.rb +15 -6
- data/lib/rubicons/feather.rb +15 -6
- data/lib/rubicons/font_awesome5.rb +15 -6
- data/lib/rubicons/font_awesome6.rb +15 -6
- data/lib/rubicons/heroicons.rb +15 -6
- data/lib/rubicons/heroicons2.rb +15 -6
- data/lib/rubicons/ionicons4.rb +15 -6
- data/lib/rubicons/ionicons5.rb +15 -6
- data/lib/rubicons/line_awesome.rb +15 -6
- data/lib/rubicons/lucide.rb +15 -6
- data/lib/rubicons/material_design.rb +15 -6
- data/lib/rubicons/octicons.rb +15 -6
- data/lib/rubicons/phosphor_icons.rb +15 -6
- data/lib/rubicons/radix.rb +15 -6
- data/lib/rubicons/railtie.rb +23 -41
- data/lib/rubicons/remix_icon.rb +15 -6
- data/lib/rubicons/simple_icons.rb +15 -6
- data/lib/rubicons/tabler_icons.rb +15 -6
- data/lib/rubicons/themify_icons/rails_helper.rb +2 -0
- data/lib/rubicons/themify_icons.rb +18 -7
- data/lib/rubicons/typicons.rb +15 -6
- data/lib/rubicons/version.rb +1 -1
- data/lib/rubicons/weather_icons.rb +15 -6
- data/lib/rubicons.rb +21 -24
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3125d7e05a1fc81d7468a0f284e4ba08f8fb1b20b51e90e1992486f224ce8fe4
|
|
4
|
+
data.tar.gz: b2622c17c213fe34bab983559ce53072712552d991d12f4f5b86caf2644a7cd1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5f2be40d8c0da579e26ee4623b9c92a57b021222a33fb293e4e4ff6e830a0ec528d5d0d4dcb78d688aafdcef7ce40f59f257d5e08fd262fe636ec80c0f797759
|
|
7
|
+
data.tar.gz: b6f32622544f48269ca52ba8a327beab3897b4c8a2fe616622827c3f722e3488159900b3e0068e97c2f7a120a103bff66eb32bfc226b5988679efa3887633c29
|
data/README.md
CHANGED
|
@@ -34,12 +34,10 @@ $ gem install rubicons
|
|
|
34
34
|
|
|
35
35
|
## Icon Collections
|
|
36
36
|
|
|
37
|
-
Rubicons provides access to **
|
|
37
|
+
Rubicons provides access to **22** popular icon libraries with thousands of icons:
|
|
38
38
|
|
|
39
39
|
| Icon Library | Version | License | Count | Example Icons |
|
|
40
40
|
| --- | --- | --- | ---: | --- |
|
|
41
|
-
| [Lucide](https://lucide.dev/) | Latest | [ISC](https://github.com/lucide-icons/lucide/blob/main/LICENSE) | 1,565 | `heart`, `activity`, `book`, `check`, `user` |
|
|
42
|
-
| [Radix UI](https://www.radix-ui.com/icons) | Latest | [MIT](https://github.com/radix-ui/icons/blob/master/LICENSE) | 318 | `accessibility`, `activity-log`, `align-bottom`, `align-center-horizontally`, `bookmark` |
|
|
43
41
|
| [Bootstrap](https://icons.getbootstrap.com/) | v1.11.3 | [MIT](https://github.com/twbs/icons/blob/main/LICENSE) | 2,050 | `alarm`, `heart`, `calendar`, `circle`, `house` |
|
|
44
42
|
| [Box Icons](https://boxicons.com/) | Latest | [MIT/CC 4.0](https://github.com/atisawd/boxicons/blob/master/LICENSE) | 1,634 | `bx-home`, `bx-search`, `bx-menu`, `bx-user`, `bxl-github` |
|
|
45
43
|
| [Circum Icons](https://circumicons.com/) | Latest | [MPL-2.0](https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE) | 288 | `alarm-on`, `align-center-h`, `arrow`, `check`, `user` |
|
|
@@ -51,9 +49,11 @@ Rubicons provides access to **20** popular icon libraries with thousands of icon
|
|
|
51
49
|
| [Ionicons 4](https://ionic.io/ionicons/v4) | v4.6.4-1 | [MIT](https://github.com/ionic-team/ionicons/blob/main/LICENSE) | 696 | `ios-add`, `ios-alarm`, `ios-home`, `md-mail`, `md-menu` |
|
|
52
50
|
| [Ionicons 5](https://ionic.io/ionicons) | v5.5.4 | [MIT](https://github.com/ionic-team/ionicons/blob/main/LICENSE) | 1,332 | `accessibility`, `add-circle`, `home`, `mail`, `menu` |
|
|
53
51
|
| [Line Awesome](https://icons8.com/line-awesome) | Latest | [MIT/Good Boy](https://github.com/icons8/line-awesome/blob/master/LICENSE.md) | 1,544 | `500px`, `accessible-icon`, `github`, `user-solid`, `heart` |
|
|
52
|
+
| [Lucide](https://lucide.dev/) | Latest | [ISC](https://github.com/lucide-icons/lucide/blob/main/LICENSE) | 1,565 | `heart`, `activity`, `book`, `check`, `user` |
|
|
54
53
|
| [Material Design](https://materialdesignicons.com/) | v4.0.0 | [Apache 2.0](https://github.com/google/material-design-icons/blob/master/LICENSE) | 6862 | `action-3d-rotation`, `action-accessibility`, `action-account-circle`, `content-home`, `action-settings` |
|
|
55
54
|
| [Octicons](https://primer.github.io/octicons/) | v18.3.0 | [MIT](https://github.com/primer/octicons/blob/main/LICENSE) | 576 | `accessibility-16`, `alert-16`, `check-16`, `code-16`, `mark-github-16` |
|
|
56
55
|
| [Phosphor Icons](https://phosphoricons.com/) | Latest | [MIT](https://github.com/phosphor-icons/core/blob/main/LICENSE) | 9,072 | `acorn-bold`, `user-bold`, `heart-fill`, `house-line`, `calendar` |
|
|
56
|
+
| [Radix UI](https://www.radix-ui.com/icons) | Latest | [MIT](https://github.com/radix-ui/icons/blob/master/LICENSE) | 318 | `accessibility`, `activity-log`, `align-bottom`, `align-center-horizontally`, `bookmark` |
|
|
57
57
|
| [Remix Icon](https://remixicon.com/) | v4.2.0 | [Apache 2.0](https://github.com/Remix-Design/RemixIcon/blob/master/License) | 2,860 | `arrow-down-circle-fill`, `home-line`, `user-fill`, `search-line`, `check-line` |
|
|
58
58
|
| [Tabler Icons](https://tabler-icons.io/) | v3.31.0 | [MIT](https://github.com/tabler/tabler-icons/blob/master/LICENSE) | 5,880 | `filled-accessible`, `filled-home`, `filled-user`, `filled-search`, `brand-github` |
|
|
59
59
|
| [Themify](https://themify.me/themify-icons) | v1.0.1 | [SIL OFL/MIT](https://github.com/lykmapipo/themify-icons/blob/master/README.md#license) | 352 | `angle-down`, `agenda`, `alarm-clock`, `alert`, `align-center` |
|
|
@@ -4,9 +4,9 @@ require 'nokogiri'
|
|
|
4
4
|
|
|
5
5
|
module Rubicons
|
|
6
6
|
# Base module for icon sets with common functionality
|
|
7
|
-
|
|
7
|
+
class BaseIconSet
|
|
8
8
|
# Default size mapping that can be overridden by specific icon sets
|
|
9
|
-
|
|
9
|
+
SIZE_MAP = {
|
|
10
10
|
xs: '12',
|
|
11
11
|
sm: '16',
|
|
12
12
|
md: '20',
|
|
@@ -15,63 +15,65 @@ module Rubicons
|
|
|
15
15
|
"2xl": '40'
|
|
16
16
|
}.freeze
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
render_icon
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
18
|
+
class << self
|
|
19
|
+
# Helper method to render an SVG icon with customizations
|
|
20
|
+
# @param name [String, Symbol] icon name
|
|
21
|
+
# @param icons_path [String] path to icons directory
|
|
22
|
+
# @param options [Hash] options for customizing the icon
|
|
23
|
+
# @option options [Symbol, String] :size (:md) size of the icon
|
|
24
|
+
# @option options [String] :class CSS classes to add
|
|
25
|
+
# @option options [Hash] :size_map custom size mapping
|
|
26
|
+
# @return [String] rendered SVG
|
|
27
|
+
def render_icon(name, icons_path, **options)
|
|
28
|
+
render_icon!(name, icons_path, **options)
|
|
29
|
+
rescue
|
|
30
|
+
''
|
|
31
|
+
end
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
def render_icon!(name, icons_path, **options)
|
|
34
|
+
icon_path = File.join(icons_path, "#{name}.svg")
|
|
35
|
+
raise ArgumentError, "Icon '#{name}' not found" unless File.exist?(icon_path)
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
svg = File.read(icon_path)
|
|
38
|
+
doc = Nokogiri::HTML::DocumentFragment.parse(svg)
|
|
39
|
+
svg_element = doc.at_css 'svg'
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
size_map = options.delete(:size_map) || self::SIZE_MAP
|
|
42
|
+
size_key = (options.delete(:size) || :md).to_sym
|
|
43
|
+
svg_size = size_map[size_key] || size_map[:md]
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
svg_element['width'] = svg_size
|
|
46
|
+
svg_element['height'] = svg_size
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
apply_options_to_svg(svg_element, options)
|
|
48
49
|
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
svg_element.to_s
|
|
51
|
+
end
|
|
51
52
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
# Helper method to apply options to an SVG element
|
|
54
|
+
# @param svg_element [Nokogiri::XML::Element] SVG element to modify
|
|
55
|
+
# @param options [Hash] options to apply
|
|
56
|
+
# @return [Nokogiri::XML::Element] modified SVG element
|
|
57
|
+
def apply_options_to_svg(svg_element, options)
|
|
58
|
+
svg_element['class'] = options.delete(:class) if options[:class]
|
|
59
|
+
svg_element['stroke'] = options.delete(:stroke) if options[:stroke]
|
|
60
|
+
svg_element['fill'] = options.delete(:fill) if options[:fill]
|
|
61
|
+
svg_element['stroke-width'] = options.delete(:stroke_width).to_s if options[:stroke_width]
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
# Add any remaining attributes from options
|
|
64
|
+
options.each do |key, value|
|
|
65
|
+
svg_element[key.to_s.tr('_', '-')] = value.to_s
|
|
66
|
+
end
|
|
66
67
|
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
svg_element
|
|
69
|
+
end
|
|
69
70
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
# Helper method to load all available icon names
|
|
72
|
+
# @param icons_path [String] path to icons directory
|
|
73
|
+
# @return [Array<Symbol>] list of available icon names
|
|
74
|
+
def available_icons(icons_path)
|
|
75
|
+
Dir.glob("#{icons_path}/*.svg").map { |path| File.basename(path, '.svg').to_sym }
|
|
76
|
+
end
|
|
75
77
|
end
|
|
76
78
|
end
|
|
77
79
|
end
|
data/lib/rubicons/bootstrap.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module Bootstrap
|
|
8
8
|
autoload :RailsHelper, 'rubicons/bootstrap/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/bootstrap', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Bootstrap Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Bootstrap Icons is a free, high-quality icon library with over 1,500 icons. It is designed to work seamlessly with Bootstrap and other frameworks.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/box_icons.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module BoxIcons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/box_icons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/box_icons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Box Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Box Icons is a free collection of carefully crafted open source icons. Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency and readability.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT/CC 4.0'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module CircumIcons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/circum_icons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/circum_icons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Circum Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Circum Icons is a clean and consistent open-source icon library with a focus on circular design elements for modern interfaces.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MPL-2.0'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/feather.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module Feather
|
|
8
8
|
autoload :RailsHelper, 'rubicons/feather/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/feather', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Feather Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Feather is a collection of simply beautiful open source icons designed by Cole Bemis. Each icon is designed on a 24×24 grid with an emphasis on simplicity, consistency, and readability.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module FontAwesome5
|
|
8
8
|
autoload :RailsHelper, 'rubicons/font_awesome5/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/font_awesome5', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Font Awesome 5'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Font Awesome 5 is an icon set used by millions of designers, developers, and content creators with icons for web development, mobile apps, and desktop applications.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'Multiple'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module FontAwesome6
|
|
8
8
|
autoload :RailsHelper, 'rubicons/font_awesome6/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/font_awesome6', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Font Awesome 6'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Font Awesome 6 is the latest version of the popular icon library with thousands of icons for web, mobile, and desktop applications across various styles and categories.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'Multiple'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/heroicons.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module Heroicons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/heroicons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/heroicons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Heroicons v1'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Heroicons v1 is a set of free, MIT-licensed high-quality SVG icons for UI development, designed by the makers of Tailwind CSS.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/heroicons2.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module Heroicons2
|
|
8
8
|
autoload :RailsHelper, 'rubicons/heroicons2/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/heroicons2', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Heroicons v2'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Heroicons v2 is the latest version of the beautiful hand-crafted SVG icons from the makers of Tailwind CSS, with solid and outline variants in multiple sizes.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/ionicons4.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module Ionicons4
|
|
8
8
|
autoload :RailsHelper, 'rubicons/ionicons4/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/ionicons4', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Ionicons 4'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Ionicons 4 is a premium icon library for Ionic Framework with iOS, Material Design, and outline versions of commonly used icons.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/ionicons5.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module Ionicons5
|
|
8
8
|
autoload :RailsHelper, 'rubicons/ionicons5/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/ionicons5', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Ionicons 5'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Ionicons 5 is the latest version of the icon pack for Ionic Framework applications with beautifully crafted icons optimized for web, iOS, and Material Design.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module LineAwesome
|
|
8
8
|
autoload :RailsHelper, 'rubicons/line_awesome/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/line_awesome', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Line Awesome'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Line Awesome is a free alternative to Font Awesome with over 1,500 icons that can be easily swapped between Font Awesome and Line Awesome.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT/Good Boy'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/lucide.rb
CHANGED
|
@@ -6,22 +6,31 @@ module Rubicons
|
|
|
6
6
|
module Lucide
|
|
7
7
|
autoload :RailsHelper, 'rubicons/lucide/rails_helper'
|
|
8
8
|
|
|
9
|
-
extend BaseIconSet
|
|
10
|
-
|
|
11
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
12
9
|
ICONS_PATH = File.expand_path('../../icons/lucide', __dir__)
|
|
13
10
|
|
|
14
11
|
class << self
|
|
12
|
+
def pack_name
|
|
13
|
+
'Lucide'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def description
|
|
17
|
+
'Lucide is a beautiful and consistent icon toolkit made by the community. It is a fork of Feather Icons with hundreds of additional icons and active community development.'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def license
|
|
21
|
+
'ISC'
|
|
22
|
+
end
|
|
23
|
+
|
|
15
24
|
def icon(name, **options)
|
|
16
|
-
render_icon(name, ICONS_PATH, **options)
|
|
25
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
17
26
|
end
|
|
18
27
|
|
|
19
28
|
def icon!(name, **options)
|
|
20
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
29
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
21
30
|
end
|
|
22
31
|
|
|
23
32
|
def available_icons
|
|
24
|
-
available_icons(ICONS_PATH)
|
|
33
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
25
34
|
end
|
|
26
35
|
end
|
|
27
36
|
end
|
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module MaterialDesign
|
|
8
8
|
autoload :RailsHelper, 'rubicons/material_design/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/material_design', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Material Design Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Material Design Icons is a collection of icons based on Google\'s Material Design guidelines, providing thousands of icons across various categories for modern web and app development.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'Apache 2.0'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/octicons.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module Octicons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/octicons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/octicons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Octicons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Octicons are GitHub\'s open-source icon set, providing a clean and consistent way to add visual elements to your project with icons used across GitHub\'s interface.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module PhosphorIcons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/phosphor_icons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/phosphor_icons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Phosphor Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Phosphor Icons is a flexible icon family for interfaces, diagrams, presentations and more with multiple weights and styles for versatile design applications.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/radix.rb
CHANGED
|
@@ -6,22 +6,31 @@ module Rubicons
|
|
|
6
6
|
module Radix
|
|
7
7
|
autoload :RailsHelper, 'rubicons/radix/rails_helper'
|
|
8
8
|
|
|
9
|
-
extend BaseIconSet
|
|
10
|
-
|
|
11
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
12
9
|
ICONS_PATH = File.expand_path('../../icons/radix', __dir__)
|
|
13
10
|
|
|
14
11
|
class << self
|
|
12
|
+
def pack_name
|
|
13
|
+
'Radix UI Icons'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def description
|
|
17
|
+
'Radix UI Icons is a crisp set of icons designed by the Radix UI team, primarily for use with Radix UI components and modern web applications.'
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def license
|
|
21
|
+
'MIT'
|
|
22
|
+
end
|
|
23
|
+
|
|
15
24
|
def icon(name, **options)
|
|
16
|
-
render_icon(name, ICONS_PATH, **options)
|
|
25
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
17
26
|
end
|
|
18
27
|
|
|
19
28
|
def icon!(name, **options)
|
|
20
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
29
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
21
30
|
end
|
|
22
31
|
|
|
23
32
|
def available_icons
|
|
24
|
-
available_icons(ICONS_PATH)
|
|
33
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
25
34
|
end
|
|
26
35
|
end
|
|
27
36
|
end
|
data/lib/rubicons/railtie.rb
CHANGED
|
@@ -1,74 +1,56 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'rails'
|
|
4
|
-
require 'rubicons/
|
|
5
|
-
require 'rubicons/
|
|
4
|
+
require 'rubicons/bootstrap'
|
|
5
|
+
require 'rubicons/box_icons'
|
|
6
6
|
require 'rubicons/circum_icons'
|
|
7
|
+
require 'rubicons/feather'
|
|
7
8
|
require 'rubicons/font_awesome5'
|
|
8
9
|
require 'rubicons/font_awesome6'
|
|
10
|
+
require 'rubicons/heroicons'
|
|
11
|
+
require 'rubicons/heroicons2'
|
|
9
12
|
require 'rubicons/ionicons4'
|
|
10
13
|
require 'rubicons/ionicons5'
|
|
14
|
+
require 'rubicons/line_awesome'
|
|
15
|
+
require 'rubicons/lucide'
|
|
11
16
|
require 'rubicons/material_design'
|
|
12
|
-
require 'rubicons/typicons'
|
|
13
17
|
require 'rubicons/octicons'
|
|
14
|
-
require 'rubicons/
|
|
15
|
-
require 'rubicons/
|
|
16
|
-
require 'rubicons/weather_icons'
|
|
17
|
-
require 'rubicons/devicons'
|
|
18
|
-
require 'rubicons/ant_design'
|
|
19
|
-
require 'rubicons/bootstrap'
|
|
18
|
+
require 'rubicons/phosphor_icons'
|
|
19
|
+
require 'rubicons/radix'
|
|
20
20
|
require 'rubicons/remix_icon'
|
|
21
|
-
require 'rubicons/flat_color_icons'
|
|
22
|
-
require 'rubicons/grommet_icons'
|
|
23
|
-
require 'rubicons/heroicons'
|
|
24
|
-
require 'rubicons/heroicons2'
|
|
25
21
|
require 'rubicons/simple_icons'
|
|
26
|
-
require 'rubicons/simple_line_icons'
|
|
27
|
-
require 'rubicons/ico_moon'
|
|
28
|
-
require 'rubicons/box_icons'
|
|
29
|
-
require 'rubicons/css_gg'
|
|
30
|
-
require 'rubicons/vs_code_icons'
|
|
31
22
|
require 'rubicons/tabler_icons'
|
|
32
23
|
require 'rubicons/themify_icons'
|
|
33
|
-
require 'rubicons/
|
|
34
|
-
require 'rubicons/
|
|
24
|
+
require 'rubicons/typicons'
|
|
25
|
+
require 'rubicons/weather_icons'
|
|
35
26
|
|
|
36
27
|
module Rubicons
|
|
37
28
|
# Railtie to integrate Rubicons with Rails
|
|
38
29
|
class Railtie < Rails::Railtie
|
|
39
30
|
initializer 'rubicons.helpers' do
|
|
40
31
|
ActiveSupport.on_load(:action_view) do
|
|
41
|
-
include Rubicons::
|
|
42
|
-
include Rubicons::
|
|
32
|
+
include Rubicons::Bootstrap::RailsHelper
|
|
33
|
+
include Rubicons::BoxIcons::RailsHelper
|
|
43
34
|
include Rubicons::CircumIcons::RailsHelper
|
|
35
|
+
include Rubicons::Feather::RailsHelper
|
|
44
36
|
include Rubicons::FontAwesome5::RailsHelper
|
|
45
37
|
include Rubicons::FontAwesome6::RailsHelper
|
|
38
|
+
include Rubicons::Heroicons::RailsHelper
|
|
39
|
+
include Rubicons::Heroicons2::RailsHelper
|
|
46
40
|
include Rubicons::Ionicons4::RailsHelper
|
|
47
41
|
include Rubicons::Ionicons5::RailsHelper
|
|
42
|
+
include Rubicons::LineAwesome::RailsHelper
|
|
43
|
+
include Rubicons::Lucide::RailsHelper
|
|
48
44
|
include Rubicons::MaterialDesign::RailsHelper
|
|
49
|
-
include Rubicons::Typicons::RailsHelper
|
|
50
45
|
include Rubicons::Octicons::RailsHelper
|
|
51
|
-
include Rubicons::
|
|
52
|
-
include Rubicons::
|
|
53
|
-
include Rubicons::WeatherIcons::RailsHelper
|
|
54
|
-
include Rubicons::Devicons::RailsHelper if defined?(Rubicons::Devicons)
|
|
55
|
-
include Rubicons::AntDesign::RailsHelper if defined?(Rubicons::AntDesign)
|
|
56
|
-
include Rubicons::Bootstrap::RailsHelper
|
|
46
|
+
include Rubicons::PhosphorIcons::RailsHelper
|
|
47
|
+
include Rubicons::Radix::RailsHelper
|
|
57
48
|
include Rubicons::RemixIcon::RailsHelper
|
|
58
|
-
include Rubicons::FlatColorIcons::RailsHelper if defined?(Rubicons::FlatColorIcons)
|
|
59
|
-
include Rubicons::GrommetIcons::RailsHelper if defined?(Rubicons::GrommetIcons)
|
|
60
|
-
include Rubicons::Heroicons::RailsHelper
|
|
61
|
-
include Rubicons::Heroicons2::RailsHelper
|
|
62
49
|
include Rubicons::SimpleIcons::RailsHelper
|
|
63
|
-
include Rubicons::SimpleLineIcons::RailsHelper if defined?(Rubicons::SimpleLineIcons)
|
|
64
|
-
include Rubicons::IcoMoon::RailsHelper if defined?(Rubicons::IcoMoon)
|
|
65
|
-
include Rubicons::BoxIcons::RailsHelper
|
|
66
|
-
include Rubicons::CssGg::RailsHelper if defined?(Rubicons::CssGg)
|
|
67
|
-
include Rubicons::VsCodeIcons::RailsHelper if defined?(Rubicons::VsCodeIcons)
|
|
68
50
|
include Rubicons::TablerIcons::RailsHelper
|
|
69
|
-
include Rubicons::ThemifyIcons::RailsHelper
|
|
70
|
-
include Rubicons::
|
|
71
|
-
include Rubicons::
|
|
51
|
+
include Rubicons::ThemifyIcons::RailsHelper
|
|
52
|
+
include Rubicons::Typicons::RailsHelper
|
|
53
|
+
include Rubicons::WeatherIcons::RailsHelper
|
|
72
54
|
end
|
|
73
55
|
end
|
|
74
56
|
end
|
data/lib/rubicons/remix_icon.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module RemixIcon
|
|
8
8
|
autoload :RailsHelper, 'rubicons/remix_icon/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/remix_icon', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Remix Icon'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Remix Icon is a set of open-source neutral-style system symbols for designers and developers. Unlike other icon sets, Remix Icon provides more than 2000 icons in various categories.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'Apache 2.0'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module SimpleIcons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/simple_icons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/simple_icons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Simple Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Simple Icons is a collection of SVG icons for popular brands and services, perfect for use in projects that require recognizable logos and brand marks.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'CC0 1.0'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module TablerIcons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/tabler_icons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/tabler_icons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Tabler Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Tabler Icons is a set of over 1,950 free MIT-licensed high-quality SVG icons for web design with a consistent style and optimized for clarity even at small sizes.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'MIT'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
|
@@ -1,23 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Rubicons
|
|
2
4
|
module ThemifyIcons
|
|
3
5
|
autoload :RailsHelper, 'rubicons/themify_icons/rails_helper'
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
8
|
-
ICONS_PATH = File.expand_path('../../icons/themify_icons', __dir__)
|
|
7
|
+
ICONS_PATH = File.expand_path('../../icons/themify', __dir__)
|
|
9
8
|
|
|
10
9
|
class << self
|
|
10
|
+
def pack_name
|
|
11
|
+
'Themify Icons'
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def description
|
|
15
|
+
'Themify Icons is a complete set of icons for use in web design and apps, consisting of 320+ pixel-perfect, hand-crafted icons that are suitable for various projects.'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def license
|
|
19
|
+
'SIL OFL 1.1'
|
|
20
|
+
end
|
|
21
|
+
|
|
11
22
|
def icon(name, **options)
|
|
12
|
-
render_icon(name, ICONS_PATH, **options)
|
|
23
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
13
24
|
end
|
|
14
25
|
|
|
15
26
|
def icon!(name, **options)
|
|
16
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
27
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
17
28
|
end
|
|
18
29
|
|
|
19
30
|
def available_icons
|
|
20
|
-
available_icons(ICONS_PATH)
|
|
31
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
21
32
|
end
|
|
22
33
|
end
|
|
23
34
|
end
|
data/lib/rubicons/typicons.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module Typicons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/typicons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/typicons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Typicons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Typicons is a carefully crafted set of free-to-use vector icons with a minimal and modern style that can be used in both personal and commercial projects.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'SIL OFL 1.1'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons/version.rb
CHANGED
|
@@ -7,22 +7,31 @@ module Rubicons
|
|
|
7
7
|
module WeatherIcons
|
|
8
8
|
autoload :RailsHelper, 'rubicons/weather_icons/rails_helper'
|
|
9
9
|
|
|
10
|
-
extend BaseIconSet
|
|
11
|
-
|
|
12
|
-
SIZE_MAP = BaseIconSet::DEFAULT_SIZE_MAP.freeze
|
|
13
10
|
ICONS_PATH = File.expand_path('../../icons/weather_icons', __dir__)
|
|
14
11
|
|
|
15
12
|
class << self
|
|
13
|
+
def pack_name
|
|
14
|
+
'Weather Icons'
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def description
|
|
18
|
+
'Weather Icons is a comprehensive collection of weather-themed icons designed for meteorological and forecast applications, featuring hundreds of detailed climate and weather symbols.'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def license
|
|
22
|
+
'SIL OFL 1.1'
|
|
23
|
+
end
|
|
24
|
+
|
|
16
25
|
def icon(name, **options)
|
|
17
|
-
render_icon(name, ICONS_PATH, **options)
|
|
26
|
+
BaseIconSet.render_icon(name, ICONS_PATH, **options)
|
|
18
27
|
end
|
|
19
28
|
|
|
20
29
|
def icon!(name, **options)
|
|
21
|
-
render_icon!(name, ICONS_PATH, **options)
|
|
30
|
+
BaseIconSet.render_icon!(name, ICONS_PATH, **options)
|
|
22
31
|
end
|
|
23
32
|
|
|
24
33
|
def available_icons
|
|
25
|
-
available_icons(ICONS_PATH)
|
|
34
|
+
BaseIconSet.available_icons(ICONS_PATH)
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|
data/lib/rubicons.rb
CHANGED
|
@@ -1,42 +1,39 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'rubicons/version'
|
|
4
|
-
require 'rubicons/railtie' if defined?(Rails)
|
|
5
4
|
require 'rubicons/base_icon_set'
|
|
5
|
+
require 'rubicons/railtie' if defined?(Rails)
|
|
6
6
|
|
|
7
7
|
module Rubicons
|
|
8
|
-
autoload :
|
|
9
|
-
autoload :
|
|
8
|
+
# autoload :AntDesign, 'rubicons/ant_design'
|
|
9
|
+
autoload :Bootstrap, 'rubicons/bootstrap'
|
|
10
|
+
autoload :BoxIcons, 'rubicons/box_icons'
|
|
10
11
|
autoload :CircumIcons, 'rubicons/circum_icons'
|
|
12
|
+
# autoload :CssGg, 'rubicons/css_gg'
|
|
13
|
+
# autoload :Devicons, 'rubicons/devicons'
|
|
14
|
+
autoload :Feather, 'rubicons/feather'
|
|
15
|
+
# autoload :FlatColorIcons, 'rubicons/flat_color_icons'
|
|
11
16
|
autoload :FontAwesome5, 'rubicons/font_awesome5'
|
|
12
17
|
autoload :FontAwesome6, 'rubicons/font_awesome6'
|
|
18
|
+
# autoload :GameIcons, 'rubicons/game_icons'
|
|
19
|
+
# autoload :GrommetIcons, 'rubicons/grommet_icons'
|
|
20
|
+
autoload :Heroicons, 'rubicons/heroicons'
|
|
21
|
+
autoload :Heroicons2, 'rubicons/heroicons2'
|
|
22
|
+
# autoload :IcoMoon, 'rubicons/ico_moon'
|
|
13
23
|
autoload :Ionicons4, 'rubicons/ionicons4'
|
|
14
24
|
autoload :Ionicons5, 'rubicons/ionicons5'
|
|
25
|
+
autoload :LineAwesome, 'rubicons/line_awesome'
|
|
26
|
+
autoload :Lucide, 'rubicons/lucide'
|
|
15
27
|
autoload :MaterialDesign, 'rubicons/material_design'
|
|
16
|
-
autoload :Typicons, 'rubicons/typicons'
|
|
17
28
|
autoload :Octicons, 'rubicons/octicons'
|
|
18
|
-
autoload :
|
|
19
|
-
autoload :
|
|
20
|
-
autoload :WeatherIcons, 'rubicons/weather_icons'
|
|
21
|
-
autoload :Devicons, 'rubicons/devicons'
|
|
22
|
-
autoload :AntDesign, 'rubicons/ant_design'
|
|
23
|
-
autoload :Bootstrap, 'rubicons/bootstrap'
|
|
29
|
+
autoload :PhosphorIcons, 'rubicons/phosphor_icons'
|
|
30
|
+
autoload :Radix, 'rubicons/radix'
|
|
24
31
|
autoload :RemixIcon, 'rubicons/remix_icon'
|
|
25
|
-
autoload :FlatColorIcons, 'rubicons/flat_color_icons'
|
|
26
|
-
autoload :GrommetIcons, 'rubicons/grommet_icons'
|
|
27
|
-
autoload :Heroicons, 'rubicons/heroicons'
|
|
28
|
-
autoload :Heroicons2, 'rubicons/heroicons2'
|
|
29
32
|
autoload :SimpleIcons, 'rubicons/simple_icons'
|
|
30
|
-
autoload :SimpleLineIcons, 'rubicons/simple_line_icons'
|
|
31
|
-
autoload :IcoMoon, 'rubicons/ico_moon'
|
|
32
|
-
autoload :BoxIcons, 'rubicons/box_icons'
|
|
33
|
-
autoload :CssGg, 'rubicons/css_gg'
|
|
34
|
-
autoload :VsCodeIcons, 'rubicons/vs_code_icons'
|
|
33
|
+
# autoload :SimpleLineIcons, 'rubicons/simple_line_icons'
|
|
35
34
|
autoload :TablerIcons, 'rubicons/tabler_icons'
|
|
36
35
|
autoload :ThemifyIcons, 'rubicons/themify_icons'
|
|
37
|
-
autoload :
|
|
38
|
-
autoload :
|
|
39
|
-
|
|
40
|
-
class << self
|
|
41
|
-
end
|
|
36
|
+
autoload :Typicons, 'rubicons/typicons'
|
|
37
|
+
# autoload :VsCodeIcons, 'rubicons/vs_code_icons'
|
|
38
|
+
autoload :WeatherIcons, 'rubicons/weather_icons'
|
|
42
39
|
end
|