* 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…
Reference in a new issue