Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ icon "check", stroke_width: 2
- [Flags](https://github.com/lipis/flag-icons) (540+ icons)
- [Heroicons](https://github.com/tailwindlabs/heroicons) (300+ icons)
- [SidekickIcons](https://github.com/ndri/sidekickicons) (49 icons, complementing Heroicons)
- [Linear](https://github.com/cjpatoilo/linearicons) (170+ icons)
- [Lucide](https://github.com/lucide-icons/lucide) (1500+ icons)
- [Phosphor](https://github.com/phosphor-icons/core) (9000+ icons)
- [Radix](https://github.com/radix-ui/icons/) (300+ icons)
Expand Down
48 changes: 48 additions & 0 deletions lib/rails_icons/configuration/linear.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# frozen_string_literal: true

module RailsIcons
class Configuration
module Linear
extend self

def config
ActiveSupport::OrderedOptions.new.tap do |options|
options.default_variant = nil
options.exclude_variants = []

options.default = default_options
end
end

def initializer_config
<<~RB.indent(2)
# Override Linear defaults
# config.libraries.linear.exclude_variants = []

# config.libraries.linear.default.css = "size-6"
# config.libraries.linear.default.stroke_width = "2"
# config.libraries.linear.default.data = {}
RB
end

def source
{
url: "https://github.com/cjpatoilo/linearicons.git",
variants: {
".": "dist/svg" # Linear has no variants, store in the top directory
}
}
end

private

def default_options
ActiveSupport::OrderedOptions.new.tap do |options|
options.stroke_width = "2"
options.css = "size-6"
options.data = {}
end
end
end
end
end
8 changes: 5 additions & 3 deletions lib/rails_icons/libraries.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
require_relative "configuration/feather"
require_relative "configuration/flags"
require_relative "configuration/heroicons"
require_relative "configuration/sidekickicons"
require_relative "configuration/linear"
require_relative "configuration/lucide"
require_relative "configuration/phosphor"
require_relative "configuration/radix"
require_relative "configuration/sidekickicons"
require_relative "configuration/tabler"
require_relative "configuration/weather"

Expand All @@ -19,11 +20,12 @@ def libraries
feather: RailsIcons::Configuration::Feather,
flags: RailsIcons::Configuration::Flags,
heroicons: RailsIcons::Configuration::Heroicons,
sidekickicons: RailsIcons::Configuration::Sidekickicons,
linear: RailsIcons::Configuration::Linear,
lucide: RailsIcons::Configuration::Lucide,
phosphor: RailsIcons::Configuration::Phosphor,
radix: RailsIcons::Configuration::Radix,
tabler: RailsIcons::Configuration::Tabler,
sidekickicons: RailsIcons::Configuration::Sidekickicons,
tabler: RailsIcons::Configuration::Tabler
weather: RailsIcons::Configuration::Weather
}
end
Expand Down
6 changes: 6 additions & 0 deletions test/dummy/app/assets/svg/icons/linear/alarm.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 7 additions & 2 deletions test/icon_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,13 @@ class IconTest < ActiveSupport::TestCase
end
end

test "eather" do
test "linear" do
assert_nothing_raised do
icon("alarm", library: "linear")
end
end

test "weather" do
assert_nothing_raised do
icon("alien", library: "weather")
end
Expand All @@ -104,7 +110,6 @@ class IconTest < ActiveSupport::TestCase
end
end


test "it raises RailsIcons::NotFound error" do
assert_raises(RailsIcons::NotFound) do
icon("non-existing-icon")
Expand Down
Loading