Copy and paste this code into your terminal
DISCLAIMER: You should always review templates before running them. By running the template, you are agreeing to the terms of use.
The contents of this script as show. Any updates will be reflected in the below code and the snippet.
# frozen_string_literal: true def yarn(lib) run("yarn add #{lib}") end run("yarn install") generate(:controller, 'bootstrap', 'index') yarn 'bootstrap@next' yarn '@popperjs/core' inject_into_file 'app/views/layouts/application.html.erb', after: "<%= csp_meta_tag %>\n" do <<-EOF <%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> EOF end file 'app/javascript/stylesheets/application.scss' do <<~EOF @import "bootstrap" EOF end append_to_file 'app/javascript/packs/application.js' do <<~EOF import * as bootstrap from 'bootstrap' import "../stylesheets/application" EOF end inject_into_file 'app/views/bootstrap/index.html.erb', after: "<p>Find me in app/views/bootstrap/index.html.erb</p>\n" do <<~EOF <div class="spinner-border text-primary" role="status"> <span class="sr-only">Loading...</span> </div> <!-- Button trigger modal --> <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal"> Launch demo modal </button> <!-- Modal --> <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Modal title</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> ... </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button> <button type="button" class="btn btn-primary">Save changes</button> </div> </div> </div> </div> EOF end say "all done. start your server and navigate to http://localhost:3000/bootstrap/index to test that it's working"
A place where you can thank the author, post problems, give constructive feedback, etc. Be nice!