* Fix #2922 - Load stylesheet from "custom.css" entrypoint when present This is pretty much the same way it worked as before, albeit with having to create app/javascript/packs/custom.js with require('../styles/custom.scss') (or whatever you want really), which will be a blank slate for you to import whatever you want * Remove old assets directory * Extract font-awesome into common.css and always load it
This commit is contained in:
		
							parent
							
								
									f9180823bc
								
							
						
					
					
						commit
						62ca37884a
					
				
					 5 changed files with 25 additions and 7 deletions
				
			
		
							
								
								
									
										17
									
								
								app/helpers/style_helper.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								app/helpers/style_helper.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,17 @@ | ||||||
|  | # frozen_string_literal: true | ||||||
|  | 
 | ||||||
|  | module StyleHelper | ||||||
|  |   def stylesheet_for_layout | ||||||
|  |     if asset_exist? 'custom.css' | ||||||
|  |       'custom' | ||||||
|  |     else | ||||||
|  |       'application' | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|  |   def asset_exist?(path) | ||||||
|  |     true if Webpacker::Manifest.lookup(path) | ||||||
|  |   rescue Webpacker::FileLoader::NotFoundError | ||||||
|  |     false | ||||||
|  |   end | ||||||
|  | end | ||||||
|  | @ -1,8 +1,5 @@ | ||||||
| const perf = require('./performance'); | const perf = require('./performance'); | ||||||
| 
 | 
 | ||||||
| // allow override variables here
 |  | ||||||
| require.context('../../assets/stylesheets/', false, /variables.*\.scss$/); |  | ||||||
| 
 |  | ||||||
| // import default stylesheet with variables
 | // import default stylesheet with variables
 | ||||||
| require('font-awesome/css/font-awesome.css'); | require('font-awesome/css/font-awesome.css'); | ||||||
| require('../styles/application.scss'); | require('../styles/application.scss'); | ||||||
|  | @ -23,9 +20,6 @@ function main() { | ||||||
| 
 | 
 | ||||||
|   require.context('../images/', true); |   require.context('../images/', true); | ||||||
| 
 | 
 | ||||||
|   // import customization styles
 |  | ||||||
|   require.context('../../assets/stylesheets/', false, /custom.*\.scss$/); |  | ||||||
| 
 |  | ||||||
|   onDomContentLoaded(() => { |   onDomContentLoaded(() => { | ||||||
|     const mountNode = document.getElementById('mastodon'); |     const mountNode = document.getElementById('mastodon'); | ||||||
|     const props = JSON.parse(mountNode.getAttribute('data-props')); |     const props = JSON.parse(mountNode.getAttribute('data-props')); | ||||||
|  |  | ||||||
|  | @ -18,7 +18,8 @@ | ||||||
|         = ' - ' |         = ' - ' | ||||||
|       = title |       = title | ||||||
| 
 | 
 | ||||||
|     = stylesheet_pack_tag 'application', media: 'all' |     = stylesheet_pack_tag 'common', media: 'all' | ||||||
|  |     = stylesheet_pack_tag stylesheet_for_layout, media: 'all' | ||||||
|     = javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous' |     = javascript_pack_tag 'common', integrity: true, crossorigin: 'anonymous' | ||||||
|     = javascript_pack_tag "locale_#{I18n.locale}", integrity: true, crossorigin: 'anonymous' |     = javascript_pack_tag "locale_#{I18n.locale}", integrity: true, crossorigin: 'anonymous' | ||||||
|     = csrf_meta_tags |     = csrf_meta_tags | ||||||
|  |  | ||||||
|  | @ -53,6 +53,12 @@ module.exports = { | ||||||
|           // be loaded together
 |           // be loaded together
 | ||||||
|           return false; |           return false; | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|  |         if (module.resource && /node_modules\/font-awesome/.test(module.resource)) { | ||||||
|  |           // extract vendor css into common module
 | ||||||
|  |           return true; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         return count >= 2; |         return count >= 2; | ||||||
|       }, |       }, | ||||||
|     }), |     }), | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue