From 12e39e2eb4389463ad27390b153796ba23eac870 Mon Sep 17 00:00:00 2001 From: songtianlun Date: Mon, 30 Dec 2024 17:24:18 +0800 Subject: [PATCH] import bootstrap --- Gemfile | 5 +- Gemfile.lock | 57 ++++++++++++++----- app/assets/config/manifest.js | 3 + app/assets/javascripts/application.js | 7 +++ .../javascripts}/controllers/application.js | 0 .../controllers/hello_controller.js | 0 .../javascripts}/controllers/index.js | 0 .../{application.css => application.scss} | 20 +++++++ app/assets/stylesheets/custom.scss | 0 app/javascript/application.js | 3 - app/views/layouts/application.html.erb | 3 +- 11 files changed, 80 insertions(+), 18 deletions(-) create mode 100644 app/assets/config/manifest.js create mode 100644 app/assets/javascripts/application.js rename app/{javascript => assets/javascripts}/controllers/application.js (100%) rename app/{javascript => assets/javascripts}/controllers/hello_controller.js (100%) rename app/{javascript => assets/javascripts}/controllers/index.js (100%) rename app/assets/stylesheets/{application.css => application.scss} (67%) create mode 100644 app/assets/stylesheets/custom.scss delete mode 100644 app/javascript/application.js diff --git a/Gemfile b/Gemfile index e19aa18..aea34e6 100644 --- a/Gemfile +++ b/Gemfile @@ -16,6 +16,9 @@ gem "turbo-rails" gem "stimulus-rails" # Build JSON APIs with ease [https://github.com/rails/jbuilder] gem "jbuilder" +gem "bootstrap-sass", "~> 3.4.1" +gem "sassc-rails", ">= 2.1.0" +gem "jquery-rails", "~> 4.6.0" # Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword] # gem "bcrypt", "~> 3.1.7" @@ -54,7 +57,7 @@ end group :development do # Use console on exceptions pages [https://github.com/rails/web-console] gem "web-console" - gem 'guard', '~> 2.19' + gem "guard", "~> 2.19" end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index 7a7f50d..d4ed5a7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,6 +76,8 @@ GEM public_suffix (>= 2.0.2, < 7.0) ansi (1.5.0) ast (2.4.2) + autoprefixer-rails (10.4.19.0) + execjs (~> 2) base64 (0.2.0) bcrypt_pbkdf (1.1.1) bcrypt_pbkdf (1.1.1-arm64-darwin) @@ -85,6 +87,9 @@ GEM bindex (0.8.1) bootsnap (1.18.4) msgpack (~> 1.2) + bootstrap-sass (3.4.1) + autoprefixer-rails (>= 5.2.1) + sassc (>= 2.0.0) brakeman (6.2.2) racc builder (3.3.0) @@ -111,6 +116,7 @@ GEM erubi (1.13.1) et-orbi (1.2.11) tzinfo + execjs (2.10.0) ffi (1.17.0-aarch64-linux-gnu) ffi (1.17.0-aarch64-linux-musl) ffi (1.17.0-arm-linux-gnu) @@ -147,6 +153,10 @@ GEM jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) + jquery-rails (4.6.0) + rails-dom-testing (>= 1, < 3) + railties (>= 4.2.0) + thor (>= 0.14, < 2.0) json (2.9.1) kamal (2.4.0) activesupport (>= 7.0) @@ -200,21 +210,21 @@ GEM net-protocol net-ssh (7.3.0) nio4r (2.7.4) - nokogiri (1.18.0-aarch64-linux-gnu) + nokogiri (1.18.1-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.0-aarch64-linux-musl) + nokogiri (1.18.1-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.18.0-arm-linux-gnu) + nokogiri (1.18.1-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.18.0-arm-linux-musl) + nokogiri (1.18.1-arm-linux-musl) racc (~> 1.4) - nokogiri (1.18.0-arm64-darwin) + nokogiri (1.18.1-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.0-x86_64-darwin) + nokogiri (1.18.1-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.0-x86_64-linux-gnu) + nokogiri (1.18.1-x86_64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.0-x86_64-linux-musl) + nokogiri (1.18.1-x86_64-linux-musl) racc (~> 1.4) notiffany (0.1.3) nenv (~> 0.1) @@ -240,13 +250,14 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (3.1.8) - rack-session (2.0.0) - rack (>= 3.0.0) + rack (2.2.10) + rack-session (1.0.2) + rack (< 3) rack-test (2.2.0) rack (>= 1.3) - rackup (2.2.1) - rack (>= 3) + rackup (1.0.1) + rack (< 3) + webrick rails (8.0.1) actioncable (= 8.0.1) actionmailbox (= 8.0.1) @@ -317,6 +328,14 @@ GEM rubocop-rails ruby-progressbar (1.13.0) rubyzip (2.3.2) + sassc (2.4.0) + ffi (~> 1.9) + sassc-rails (2.1.2) + railties (>= 4.0.0) + sassc (>= 2.0) + sprockets (> 3.0) + sprockets-rails + tilt securerandom (0.4.1) selenium-webdriver (4.27.0) base64 (~> 0.2) @@ -341,6 +360,13 @@ GEM fugit (~> 1.11.0) railties (>= 7.1) thor (~> 1.3.1) + sprockets (4.2.1) + concurrent-ruby (~> 1.0) + rack (>= 2.2.4, < 4) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) + sprockets (>= 3.0.0) sqlite3 (2.5.0-aarch64-linux-gnu) sqlite3 (2.5.0-aarch64-linux-musl) sqlite3 (2.5.0-arm-linux-gnu) @@ -364,6 +390,7 @@ GEM thruster (0.1.9-arm64-darwin) thruster (0.1.9-x86_64-darwin) thruster (0.1.9-x86_64-linux) + tilt (2.5.0) timeout (0.4.3) turbo-rails (2.0.11) actionpack (>= 6.0.0) @@ -380,6 +407,7 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) + webrick (1.9.1) websocket (1.2.11) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) @@ -402,18 +430,21 @@ PLATFORMS DEPENDENCIES bootsnap + bootstrap-sass (~> 3.4.1) brakeman capybara debug guard (~> 2.19) importmap-rails jbuilder + jquery-rails (~> 4.6.0) kamal minitest-reporters propshaft puma (>= 5.0) rails (~> 8.0.1) rubocop-rails-omakase + sassc-rails (>= 2.1.0) selenium-webdriver solid_cable solid_cache diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js new file mode 100644 index 0000000..5cc2c08 --- /dev/null +++ b/app/assets/config/manifest.js @@ -0,0 +1,3 @@ +//= link_tree ../images +//= link_directory ../javascripts .js +//= link_directory ../stylesheets .css \ No newline at end of file diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js new file mode 100644 index 0000000..fbecce2 --- /dev/null +++ b/app/assets/javascripts/application.js @@ -0,0 +1,7 @@ +//= require jquery +//= require bootstrap-sprockets + +// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails +import "@hotwired/turbo-rails" +import "sample_app/app/assets/javascripts/controllers" +//= require bootstrap-sprockets \ No newline at end of file diff --git a/app/javascript/controllers/application.js b/app/assets/javascripts/controllers/application.js similarity index 100% rename from app/javascript/controllers/application.js rename to app/assets/javascripts/controllers/application.js diff --git a/app/javascript/controllers/hello_controller.js b/app/assets/javascripts/controllers/hello_controller.js similarity index 100% rename from app/javascript/controllers/hello_controller.js rename to app/assets/javascripts/controllers/hello_controller.js diff --git a/app/javascript/controllers/index.js b/app/assets/javascripts/controllers/index.js similarity index 100% rename from app/javascript/controllers/index.js rename to app/assets/javascripts/controllers/index.js diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.scss similarity index 67% rename from app/assets/stylesheets/application.css rename to app/assets/stylesheets/application.scss index fe93333..4a19dbc 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.scss @@ -8,3 +8,23 @@ * * Consider organizing styles into separate files for maintainability. */ + +@import "bootstrap-sprockets"; +@import "bootstrap"; + +/* universal */ +body { + padding-top: 60px; +} +section { + overflow: auto; +} +textarea { + resize: vertical; +} +.center { + text-align: center; +} +.center h1 { + margin-bottom: 10px; +} \ No newline at end of file diff --git a/app/assets/stylesheets/custom.scss b/app/assets/stylesheets/custom.scss new file mode 100644 index 0000000..e69de29 diff --git a/app/javascript/application.js b/app/javascript/application.js deleted file mode 100644 index 0d7b494..0000000 --- a/app/javascript/application.js +++ /dev/null @@ -1,3 +0,0 @@ -// Configure your import map in config/importmap.rb. Read more: https://github.com/rails/importmap-rails -import "@hotwired/turbo-rails" -import "controllers" diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 9aa18b9..09cfbda 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -19,7 +19,8 @@ <%# Includes all stylesheet files in app/assets/stylesheets %> - <%= stylesheet_link_tag :app, "data-turbo-track": "reload" %> + <%#= stylesheet_link_tag :app, "data-turbo-track": "reload" %> + <%= stylesheet_link_tag "application", media: 'all', 'data-turbo-track': 'reload' %> <%= javascript_importmap_tags %>