diff --git a/lib/svg_sprite/svg_sprite.rb b/lib/svg_sprite/svg_sprite.rb index 8608a09ed6b..f4a3335c8d6 100644 --- a/lib/svg_sprite/svg_sprite.rb +++ b/lib/svg_sprite/svg_sprite.rb @@ -185,6 +185,9 @@ module SvgSprite FA_ICON_MAP = { 'far fa-' => 'far-', 'fab fa-' => 'fab-', 'fas fa-' => '', 'fa-' => '' } + SVG_SPRITE_PATHS = Dir.glob(["#{Rails.root}/vendor/assets/svg-icons/**/*.svg", + "#{Rails.root}/plugins/*/svg-icons/*.svg"]) + def self.svg_sprite_cache @svg_sprite_cache ||= DistributedCache.new('svg_sprite') end @@ -229,7 +232,7 @@ Discourse SVG subset of #{fa_license} """.dup - Dir["#{Rails.root}/vendor/assets/svg-icons/**/*.svg"].each do |fname| + SVG_SPRITE_PATHS.each do |fname| svg_file = Nokogiri::XML(File.open(fname)) do |config| config.options = Nokogiri::XML::ParseOptions::NOBLANKS end @@ -253,7 +256,7 @@ Discourse SVG subset of #{fa_license} def self.search(searched_icon) searched_icon = process(searched_icon.dup) - Dir["#{Rails.root}/vendor/assets/svg-icons/**/*.svg"].each do |fname| + SVG_SPRITE_PATHS.each do |fname| svg_file = Nokogiri::XML(File.open(fname)) svg_filename = "#{File.basename(fname, ".svg")}"