Skip to content

Commit 8adbd9e

Browse files
authored
Added Linear icons (#62)
* Added Linear icons * Updated README
1 parent 5a54287 commit 8adbd9e

File tree

5 files changed

+67
-5
lines changed

5 files changed

+67
-5
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ icon "check", stroke_width: 2
8080
- [Flags](https://github.com/lipis/flag-icons) (540+ icons)
8181
- [Heroicons](https://github.com/tailwindlabs/heroicons) (300+ icons)
8282
- [SidekickIcons](https://github.com/ndri/sidekickicons) (49 icons, complementing Heroicons)
83+
- [Linear](https://github.com/cjpatoilo/linearicons) (170+ icons)
8384
- [Lucide](https://github.com/lucide-icons/lucide) (1500+ icons)
8485
- [Phosphor](https://github.com/phosphor-icons/core) (9000+ icons)
8586
- [Radix](https://github.com/radix-ui/icons/) (300+ icons)
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# frozen_string_literal: true
2+
3+
module RailsIcons
4+
class Configuration
5+
module Linear
6+
extend self
7+
8+
def config
9+
ActiveSupport::OrderedOptions.new.tap do |options|
10+
options.default_variant = nil
11+
options.exclude_variants = []
12+
13+
options.default = default_options
14+
end
15+
end
16+
17+
def initializer_config
18+
<<~RB.indent(2)
19+
# Override Linear defaults
20+
# config.libraries.linear.exclude_variants = []
21+
22+
# config.libraries.linear.default.css = "size-6"
23+
# config.libraries.linear.default.stroke_width = "2"
24+
# config.libraries.linear.default.data = {}
25+
RB
26+
end
27+
28+
def source
29+
{
30+
url: "https://github.com/cjpatoilo/linearicons.git",
31+
variants: {
32+
".": "dist/svg" # Linear has no variants, store in the top directory
33+
}
34+
}
35+
end
36+
37+
private
38+
39+
def default_options
40+
ActiveSupport::OrderedOptions.new.tap do |options|
41+
options.stroke_width = "2"
42+
options.css = "size-6"
43+
options.data = {}
44+
end
45+
end
46+
end
47+
end
48+
end

lib/rails_icons/libraries.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
require_relative "configuration/feather"
44
require_relative "configuration/flags"
55
require_relative "configuration/heroicons"
6-
require_relative "configuration/sidekickicons"
6+
require_relative "configuration/linear"
77
require_relative "configuration/lucide"
88
require_relative "configuration/phosphor"
99
require_relative "configuration/radix"
10+
require_relative "configuration/sidekickicons"
1011
require_relative "configuration/tabler"
1112
require_relative "configuration/weather"
1213

@@ -19,11 +20,12 @@ def libraries
1920
feather: RailsIcons::Configuration::Feather,
2021
flags: RailsIcons::Configuration::Flags,
2122
heroicons: RailsIcons::Configuration::Heroicons,
22-
sidekickicons: RailsIcons::Configuration::Sidekickicons,
23+
linear: RailsIcons::Configuration::Linear,
2324
lucide: RailsIcons::Configuration::Lucide,
2425
phosphor: RailsIcons::Configuration::Phosphor,
2526
radix: RailsIcons::Configuration::Radix,
26-
tabler: RailsIcons::Configuration::Tabler,
27+
sidekickicons: RailsIcons::Configuration::Sidekickicons,
28+
tabler: RailsIcons::Configuration::Tabler
2729
weather: RailsIcons::Configuration::Weather
2830
}
2931
end
Lines changed: 6 additions & 0 deletions
Loading

test/icon_test.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,13 @@ class IconTest < ActiveSupport::TestCase
9292
end
9393
end
9494

95-
test "eather" do
95+
test "linear" do
96+
assert_nothing_raised do
97+
icon("alarm", library: "linear")
98+
end
99+
end
100+
101+
test "weather" do
96102
assert_nothing_raised do
97103
icon("alien", library: "weather")
98104
end
@@ -104,7 +110,6 @@ class IconTest < ActiveSupport::TestCase
104110
end
105111
end
106112

107-
108113
test "it raises RailsIcons::NotFound error" do
109114
assert_raises(RailsIcons::NotFound) do
110115
icon("non-existing-icon")

0 commit comments

Comments
 (0)