faw_icon 0.2.0 → 0.3.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/Gemfile.lock +1 -1
- data/README.md +4 -5
- data/lib/faw_icon/helper.rb +17 -5
- data/lib/faw_icon/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c9eae78c0e05454bbc1f99c152a9af2d9a2cb383044ab244f1b6c063bd5cbc27
|
|
4
|
+
data.tar.gz: 9327927c37f74b8d46d9a63495f6811241cf1efb55d22914fef8d0d27847400a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f1fa4dd691872a144ad02d79c73c4039ec59cc19b4d37e8c85c116a73952fb900d17ac5fc81b446e53a3748d42dd2ca0628972a954e86e8bfbd23b7cd63ed472
|
|
7
|
+
data.tar.gz: 3b6f601ebc444a65189315a64626220f51fd3d76d318811b7d19d672eb76a409e363a5ae17cbba5e869a0d5d632dd9da885c1538429e26f9d5d773acf8db8e42
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -6,8 +6,7 @@ By design only the svg-with-js version is supported following the recommendation
|
|
|
6
6
|
https://fontawesome.com/get-started/svg-with-js.
|
|
7
7
|
|
|
8
8
|
Another great feature is that is does not bundle any icons making it super fast to download and install
|
|
9
|
-
as well as providing the ability to use new icons as they become available
|
|
10
|
-
PRO collection.
|
|
9
|
+
as well as providing the ability to use new icons as they become available custom ones or the PRO collection.
|
|
11
10
|
|
|
12
11
|
## Installation
|
|
13
12
|
|
|
@@ -57,13 +56,13 @@ Then just use them like this
|
|
|
57
56
|
<%= faw_icon 'regular', 'sync', {spin: true} %>
|
|
58
57
|
<%= faw_icon 'brand', 'android', {transform: 'grow-5'} %>
|
|
59
58
|
|
|
60
|
-
Bear in mind that the `brand` icons only come in one style called `brand`
|
|
59
|
+
Bear in mind that the `brand` icons only come in one style called `brand`(!)
|
|
61
60
|
and the rest come in three variations but not all are available in the free collection.
|
|
62
61
|
Find them all in the [gallery](https://fontawesome.com/icons?d=gallery)
|
|
63
62
|
|
|
64
63
|
## Contributing
|
|
65
64
|
|
|
66
|
-
|
|
65
|
+
[Issues](https://github.com/alexwebgr/faw_icon/issues) and [pull requests](https://github.com/alexwebgr/faw_icon/pulls) are more than welcome. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
|
67
66
|
|
|
68
67
|
## License
|
|
69
68
|
|
|
@@ -71,4 +70,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
|
71
70
|
|
|
72
71
|
## Code of Conduct
|
|
73
72
|
|
|
74
|
-
Everyone interacting in the FawIcon project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/
|
|
73
|
+
Everyone interacting in the FawIcon project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/alexwebgr/faw_icon/blob/master/CODE_OF_CONDUCT.md).
|
data/lib/faw_icon/helper.rb
CHANGED
|
@@ -4,17 +4,29 @@ module FawIcon
|
|
|
4
4
|
def faw_icon(style, name, options = {})
|
|
5
5
|
fa_prefix = 'fa'
|
|
6
6
|
html_props = {}
|
|
7
|
+
icons = JSON.parse(File.read('app/assets/javascripts/icons.json'))
|
|
8
|
+
view_box = [0, 0, 512, 512]
|
|
9
|
+
svg_path = '<g><path fill="currentColor" d="M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"></path><circle fill="currentColor" cx="256" cy="364" r="28"><animate attributeType="XML" repeatCount="indefinite" dur="2s" attributeName="r" values="28;14;28;28;14;28;"></animate><animate attributeType="XML" repeatCount="indefinite" dur="2s" attributeName="opacity" values="1;0;1;1;0;1;"></animate></circle><path fill="currentColor" opacity="1" d="M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"><animate attributeType="XML" repeatCount="indefinite" dur="2s" attributeName="opacity" values="1;0;0;0;0;1;"></animate></path><path fill="currentColor" opacity="0" d="M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"><animate attributeType="XML" repeatCount="indefinite" dur="2s" attributeName="opacity" values="0;0;1;1;0;0;"></animate></path></g>'
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
if icons[name].present?
|
|
12
|
+
if icons[name]['svg'][style].present?
|
|
13
|
+
svg_path = "<path d=\"#{icons[name]['svg'][style]['path']}\"/>"
|
|
14
|
+
view_box = icons[name]['svg'][style]['viewBox']
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
html_props[:class] = [fa_style(style), "#{fa_prefix}-#{name}", 'svg-inline--fa']
|
|
9
19
|
html_props[:class] << "#{fa_prefix}-#{options[:size]}" if options[:size]
|
|
10
20
|
html_props[:class] << "#{fa_prefix}-fw" if options[:fixed_width]
|
|
11
21
|
html_props[:class] << "#{fa_prefix}-spin" if options[:spin]
|
|
12
22
|
|
|
13
23
|
tag = []
|
|
14
|
-
tag << "<
|
|
15
|
-
tag << " data-fa-transform
|
|
16
|
-
tag << " data-fa-mask
|
|
17
|
-
tag << '
|
|
24
|
+
tag << "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"#{view_box.join(' ')}\" class=\"#{html_props[:class].join(' ')}\""
|
|
25
|
+
tag << " data-fa-transform=\"#{options[:transform]}\"" if options[:transform]
|
|
26
|
+
tag << " data-fa-mask=\"#{options[:mask]}\"" if options[:mask]
|
|
27
|
+
tag << '>'
|
|
28
|
+
tag << svg_path
|
|
29
|
+
tag << '</svg>'
|
|
18
30
|
|
|
19
31
|
tag.join( '').html_safe
|
|
20
32
|
end
|
data/lib/faw_icon/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: faw_icon
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- alexwebgr
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-05-
|
|
11
|
+
date: 2018-05-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|