material_icons 2.2.0 → 4.0.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 +5 -5
- data/LICENSE_OF_FONTS +201 -399
- data/README.md +148 -71
- data/app/assets/fonts/material-icons-outlined.woff +0 -0
- data/app/assets/fonts/material-icons-outlined.woff2 +0 -0
- data/app/assets/fonts/material-icons-regular.woff +0 -0
- data/app/assets/fonts/material-icons-regular.woff2 +0 -0
- data/app/assets/fonts/material-icons-round.woff +0 -0
- data/app/assets/fonts/material-icons-round.woff2 +0 -0
- data/app/assets/fonts/material-icons-sharp.woff +0 -0
- data/app/assets/fonts/material-icons-sharp.woff2 +0 -0
- data/app/assets/fonts/material-icons-twotone.woff +0 -0
- data/app/assets/fonts/material-icons-twotone.woff2 +0 -0
- data/app/assets/stylesheets/material_icons.css.erb +13 -68
- data/app/assets/stylesheets/material_icons.helpers.css +45 -0
- data/app/assets/stylesheets/material_icons.outlined.css.erb +37 -0
- data/app/assets/stylesheets/material_icons.round.css.erb +37 -0
- data/app/assets/stylesheets/material_icons.sharp.css.erb +37 -0
- data/app/assets/stylesheets/material_icons.twotone.css.erb +37 -0
- data/app/models/material_icon.rb +40 -46
- data/lib/material_icons/version.rb +2 -2
- data/lib/material_icons.rb +0 -14
- metadata +22 -42
- data/Rakefile +0 -38
- data/app/assets/fonts/MaterialIcons-Regular.eot +0 -0
- data/app/assets/fonts/MaterialIcons-Regular.ttf +0 -0
- data/app/assets/fonts/MaterialIcons-Regular.woff +0 -0
- data/app/assets/fonts/MaterialIcons-Regular.woff2 +0 -0
- data/app/assets/stylesheets/material_icons_unicode.css.erb +0 -3813
data/app/models/material_icon.rb
CHANGED
|
@@ -5,12 +5,6 @@ class MaterialIcon
|
|
|
5
5
|
# To use content_tag
|
|
6
6
|
include ActionView::Helpers::TagHelper
|
|
7
7
|
|
|
8
|
-
# Undefined method will ref to the icon.
|
|
9
|
-
def method_missing(name)
|
|
10
|
-
@icon = clear_icon(name)
|
|
11
|
-
self
|
|
12
|
-
end
|
|
13
|
-
|
|
14
8
|
#
|
|
15
9
|
# Reset will set all variables to nil
|
|
16
10
|
#
|
|
@@ -19,6 +13,16 @@ class MaterialIcon
|
|
|
19
13
|
self
|
|
20
14
|
end
|
|
21
15
|
|
|
16
|
+
#
|
|
17
|
+
# Define shape style methods
|
|
18
|
+
#
|
|
19
|
+
%w(outlined round sharp twotone).each do |shape_style|
|
|
20
|
+
define_method(shape_style) do
|
|
21
|
+
css_class(shape_style)
|
|
22
|
+
self
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
22
26
|
#
|
|
23
27
|
# Define rotate methods
|
|
24
28
|
#
|
|
@@ -39,6 +43,21 @@ class MaterialIcon
|
|
|
39
43
|
end
|
|
40
44
|
end
|
|
41
45
|
|
|
46
|
+
#
|
|
47
|
+
# Set the shape of the icon you want to use
|
|
48
|
+
#
|
|
49
|
+
# == Paremeters:
|
|
50
|
+
# name::
|
|
51
|
+
# String or symbol with icon name
|
|
52
|
+
#
|
|
53
|
+
# == Returns:
|
|
54
|
+
# MaterialIcon instance
|
|
55
|
+
#
|
|
56
|
+
def shape(name)
|
|
57
|
+
@icon = name.to_s
|
|
58
|
+
self
|
|
59
|
+
end
|
|
60
|
+
|
|
42
61
|
#
|
|
43
62
|
# Add a CSS class to :i tag
|
|
44
63
|
#
|
|
@@ -65,13 +84,7 @@ class MaterialIcon
|
|
|
65
84
|
# MaterialIcon instance
|
|
66
85
|
#
|
|
67
86
|
def style(css_style = '')
|
|
68
|
-
|
|
69
|
-
# It references style icon
|
|
70
|
-
@icon = clear_icon('style')
|
|
71
|
-
else
|
|
72
|
-
# User wants to apply a style to the icon
|
|
73
|
-
@style = css_style
|
|
74
|
-
end
|
|
87
|
+
@style = css_style
|
|
75
88
|
self
|
|
76
89
|
end
|
|
77
90
|
|
|
@@ -92,15 +105,7 @@ class MaterialIcon
|
|
|
92
105
|
end
|
|
93
106
|
|
|
94
107
|
#
|
|
95
|
-
#
|
|
96
|
-
#
|
|
97
|
-
def unicode?
|
|
98
|
-
MaterialIcons.unicode
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
#
|
|
102
|
-
# Create the HTML code for the icon. This method check if selected mode is
|
|
103
|
-
# unicode or ligatures.
|
|
108
|
+
# Create the HTML code for the icon
|
|
104
109
|
#
|
|
105
110
|
# == Returns:
|
|
106
111
|
# Safe string
|
|
@@ -110,35 +115,24 @@ class MaterialIcon
|
|
|
110
115
|
@html = @html.nil? || !@html.is_a?(Hash) ? {} : @html
|
|
111
116
|
|
|
112
117
|
# Create the icon
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
@
|
|
116
|
-
|
|
117
|
-
class: "material-icons #{@icon}#{@size}#{@rotation}#{@css_class}"))
|
|
118
|
-
else
|
|
119
|
-
content_tag(:i, "#{@icon}",
|
|
120
|
-
@html.merge(
|
|
121
|
-
style: @style,
|
|
122
|
-
class: "material-icons#{@size}#{@rotation}#{@css_class}"))
|
|
123
|
-
end
|
|
118
|
+
content_tag(:i, "#{@icon}",
|
|
119
|
+
@html.merge(
|
|
120
|
+
style: @style,
|
|
121
|
+
class: "material-icons#{@size}#{@rotation}#{@css_class}"))
|
|
124
122
|
end
|
|
125
123
|
|
|
126
|
-
|
|
124
|
+
# Fix #13. Some Rails methods uses to_str instead of to_s. In this case, to_str is handled
|
|
125
|
+
# by method_missing so it's returning the same instance and the method are failing
|
|
126
|
+
alias_method :to_str, :to_s
|
|
127
127
|
|
|
128
128
|
#
|
|
129
|
-
#
|
|
130
|
-
#
|
|
131
|
-
# icon
|
|
132
|
-
#
|
|
133
|
-
# == Parameters:
|
|
134
|
-
# icon:
|
|
135
|
-
# String with the name of the icon
|
|
129
|
+
# Some methods require to_ary to be defined. We return nil in this method to avoid this class
|
|
130
|
+
# to be threated as an Array
|
|
136
131
|
#
|
|
137
|
-
# == Returns
|
|
138
|
-
#
|
|
132
|
+
# == Returns
|
|
133
|
+
# Nil
|
|
139
134
|
#
|
|
140
|
-
def
|
|
141
|
-
|
|
142
|
-
'3d_rotation'
|
|
135
|
+
def to_ary
|
|
136
|
+
nil
|
|
143
137
|
end
|
|
144
138
|
end
|
data/lib/material_icons.rb
CHANGED
|
@@ -1,17 +1,3 @@
|
|
|
1
1
|
require 'material_icons/version'
|
|
2
2
|
# Only require if rails is available
|
|
3
3
|
require 'material_icons/engine' if defined?(::Rails)
|
|
4
|
-
|
|
5
|
-
#
|
|
6
|
-
# Base module. This module defines the configuration of the gem.
|
|
7
|
-
#
|
|
8
|
-
module MaterialIcons
|
|
9
|
-
# Use unicode icons
|
|
10
|
-
mattr_accessor :unicode
|
|
11
|
-
@unicode = false
|
|
12
|
-
|
|
13
|
-
# Use the config from an initializer
|
|
14
|
-
def self.setup
|
|
15
|
-
yield self
|
|
16
|
-
end
|
|
17
|
-
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: material_icons
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Angel M Miguel
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-11-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: railties
|
|
@@ -24,20 +24,6 @@ dependencies:
|
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '3.2'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: rails
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '4.2'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '4.2'
|
|
41
27
|
- !ruby/object:Gem::Dependency
|
|
42
28
|
name: sqlite3
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,20 +80,6 @@ dependencies:
|
|
|
94
80
|
- - "~>"
|
|
95
81
|
- !ruby/object:Gem::Version
|
|
96
82
|
version: 2.4.4
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: coveralls
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - "~>"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: 0.8.2
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: 0.8.2
|
|
111
83
|
- !ruby/object:Gem::Dependency
|
|
112
84
|
name: pry
|
|
113
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -137,8 +109,8 @@ dependencies:
|
|
|
137
109
|
- !ruby/object:Gem::Version
|
|
138
110
|
version: 0.2.4
|
|
139
111
|
description: Add Google Material Icons in your Rails projects easily. It is a library
|
|
140
|
-
with +
|
|
141
|
-
email: angel
|
|
112
|
+
with +2500 icons ;)
|
|
113
|
+
email: hi@angel.kiwi
|
|
142
114
|
executables: []
|
|
143
115
|
extensions: []
|
|
144
116
|
extra_rdoc_files: []
|
|
@@ -146,22 +118,31 @@ files:
|
|
|
146
118
|
- LICENSE
|
|
147
119
|
- LICENSE_OF_FONTS
|
|
148
120
|
- README.md
|
|
149
|
-
-
|
|
150
|
-
- app/assets/fonts/
|
|
151
|
-
- app/assets/fonts/
|
|
152
|
-
- app/assets/fonts/
|
|
153
|
-
- app/assets/fonts/
|
|
121
|
+
- app/assets/fonts/material-icons-outlined.woff
|
|
122
|
+
- app/assets/fonts/material-icons-outlined.woff2
|
|
123
|
+
- app/assets/fonts/material-icons-regular.woff
|
|
124
|
+
- app/assets/fonts/material-icons-regular.woff2
|
|
125
|
+
- app/assets/fonts/material-icons-round.woff
|
|
126
|
+
- app/assets/fonts/material-icons-round.woff2
|
|
127
|
+
- app/assets/fonts/material-icons-sharp.woff
|
|
128
|
+
- app/assets/fonts/material-icons-sharp.woff2
|
|
129
|
+
- app/assets/fonts/material-icons-twotone.woff
|
|
130
|
+
- app/assets/fonts/material-icons-twotone.woff2
|
|
154
131
|
- app/assets/stylesheets/material_icons.css.erb
|
|
155
|
-
- app/assets/stylesheets/
|
|
132
|
+
- app/assets/stylesheets/material_icons.helpers.css
|
|
133
|
+
- app/assets/stylesheets/material_icons.outlined.css.erb
|
|
134
|
+
- app/assets/stylesheets/material_icons.round.css.erb
|
|
135
|
+
- app/assets/stylesheets/material_icons.sharp.css.erb
|
|
136
|
+
- app/assets/stylesheets/material_icons.twotone.css.erb
|
|
156
137
|
- app/helpers/material_icons/material_icon_helper.rb
|
|
157
138
|
- app/models/material_icon.rb
|
|
158
139
|
- lib/material_icons.rb
|
|
159
140
|
- lib/material_icons/engine.rb
|
|
160
141
|
- lib/material_icons/version.rb
|
|
161
|
-
homepage:
|
|
142
|
+
homepage: https://github.com/Angelmmiguel/material_icons
|
|
162
143
|
licenses:
|
|
163
144
|
- MIT
|
|
164
|
-
-
|
|
145
|
+
- Apache-2.0
|
|
165
146
|
metadata: {}
|
|
166
147
|
post_install_message:
|
|
167
148
|
rdoc_options: []
|
|
@@ -178,8 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
178
159
|
- !ruby/object:Gem::Version
|
|
179
160
|
version: '0'
|
|
180
161
|
requirements: []
|
|
181
|
-
|
|
182
|
-
rubygems_version: 2.5.1
|
|
162
|
+
rubygems_version: 3.3.26
|
|
183
163
|
signing_key:
|
|
184
164
|
specification_version: 4
|
|
185
165
|
summary: A simple Rails wrapper for Google Material Icons
|
data/Rakefile
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env rake
|
|
2
|
-
|
|
3
|
-
# Rake tasks
|
|
4
|
-
namespace :material_icons do
|
|
5
|
-
#
|
|
6
|
-
# Get the CSS to use unicode instead of ligatures.
|
|
7
|
-
#
|
|
8
|
-
desc "Create the CSS Unicode classes"
|
|
9
|
-
task :unicode_css do
|
|
10
|
-
# Check codepoint file
|
|
11
|
-
unless File.exist?('codepoints')
|
|
12
|
-
puts 'Codepoints file is required to perform this operation.'
|
|
13
|
-
puts 'Go to: https://github.com/google/material-design-icons and download it.'
|
|
14
|
-
else
|
|
15
|
-
# Destination file
|
|
16
|
-
out = File.new("unicode.css", "w")
|
|
17
|
-
|
|
18
|
-
# Load from codepoints
|
|
19
|
-
File.readlines('codepoints').each do |line|
|
|
20
|
-
el = line.split(' ')
|
|
21
|
-
css_class = el.first
|
|
22
|
-
# Fix for icons that start with number
|
|
23
|
-
css_class = 'three_d_rotation' if css_class == '3d_rotation'
|
|
24
|
-
unicode = el.last
|
|
25
|
-
# Need this strange indentation for CSS...
|
|
26
|
-
css =
|
|
27
|
-
<<-FOO
|
|
28
|
-
.material-icons.#{css_class}:before,
|
|
29
|
-
.mi.#{css_class}:before {
|
|
30
|
-
content: '\\#{unicode}';
|
|
31
|
-
}
|
|
32
|
-
FOO
|
|
33
|
-
# Print in the file
|
|
34
|
-
out.puts css
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|