class Blacklight::Assets::ImportmapGenerator
Public Instance Methods
add_javascript_dependencies()
click to toggle source
This could be skipped if you want to use webpacker
# File lib/generators/blacklight/assets/importmap_generator.rb, line 9 def add_javascript_dependencies gem 'bootstrap', options[:'bootstrap-version'].presence # in rails 7, only for stylesheets gem 'jquery-rails' if bootstrap_4? # Bootstrap 4 has a dependency on jquery end
add_stylesheet()
click to toggle source
# File lib/generators/blacklight/assets/importmap_generator.rb, line 40 def add_stylesheet gem "sassc-rails", "~> 2.1" if Rails.version > '7' create_file 'app/assets/stylesheets/blacklight.scss' do <<~CONTENT @import 'bootstrap'; @import 'blacklight/blacklight'; CONTENT end end
append_blacklight_javascript()
click to toggle source
# File lib/generators/blacklight/assets/importmap_generator.rb, line 30 def append_blacklight_javascript append_to_file 'app/javascript/application.js' do <<~CONTENT import bootstrap from "bootstrap" import githubAutoCompleteElement from "@github/auto-complete-element" import Blacklight from "blacklight" CONTENT end end
bootstrap_4?()
click to toggle source
# File lib/generators/blacklight/assets/importmap_generator.rb, line 51 def bootstrap_4? options[:'bootstrap-version'].match?(/\A[^0-9]*4\./) end
import_javascript_assets()
click to toggle source
# File lib/generators/blacklight/assets/importmap_generator.rb, line 14 def import_javascript_assets append_to_file 'config/importmap.rb' do <<~CONTENT pin "@github/auto-complete-element", to: "https://cdn.skypack.dev/@github/auto-complete-element" pin "@popperjs/core", to: "https://ga.jspm.io/npm:@popperjs/core@2.11.6/dist/umd/popper.min.js" pin "bootstrap", to: "https://ga.jspm.io/npm:bootstrap@#{(defined?(Bootstrap) && Bootstrap::VERSION) || '5.3.2'}/dist/js/bootstrap.js" CONTENT end append_to_file 'app/assets/config/manifest.js' do <<~CONTENT //= link blacklight/manifest.js CONTENT end end