* 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:
		
							
								
								
									
										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;
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    }),
 | 
					    }),
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user