-
-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Append StyleSheet Pack Tag Helper #144
Changes from 1 commit
6873d42
8c1d958
eed566f
4b8c45d
1f72772
32e4d3f
1d2157e
dd6d56a
118686b
7e8acbd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -158,7 +158,26 @@ def preload_pack_asset(name, **options) | |
def stylesheet_pack_tag(*names, **options) | ||
return "" if Webpacker.inlining_css? | ||
|
||
if @stylesheet_pack_tag_loaded | ||
raise "To prevent duplicated stylesheet on the page, you should call stylesheet_pack_tag only once on the page. " \ | ||
"Please refer to https://github.com/shakacode/shakapacker/blob/master/README.md#usage for the usage guide" | ||
end | ||
|
||
stylesheet_link_tag(*sources_from_manifest_entrypoints(names, type: :stylesheet), **options) | ||
appended_stylesheets = sources_from_manifest_entrypoints(@stylesheet_pack_tag_queue || [], type: :stylesheet) | ||
|
||
@stylesheet_pack_tag_loaded = true | ||
|
||
stylesheet_link_tag(*appended_stylesheets, **options) | ||
end | ||
|
||
def append_stylesheet_pack_tag(*names) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Think we need more than just names here. If you look at original issue around multiple pack tags, one of the requests was supporting different "media" attributes. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can Queue Up the files based on media attributes as a separate Feature Pull Request as, unlike deferred, it's not a boolean value and can have Example: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @tomdracz I'm not convinced how many people would need both the flexibility of the Let's wait for feedback. If necessary, we release an update where the
@tomdracz do you agree that this would be a backwards compatible update if needed? @pulkitkkr are we ready to merge and release this one? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @justin808 If I remember correctly we've removed the raise in the first place to support different The update if needed should be backwards-compatible, yes There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @tomdracz should we document the ordering for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @pulkitkkr we need to document what happens when this happens: <%= stylesheet_pack_tag "application" %>
<%= stylesheet_pack_tag "print", media: "print" %> See #39 (comment) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We already have :
|
||
if @stylesheet_pack_tag_loaded | ||
raise "You can only call append_stylesheet_pack_tag before stylesheet_pack_tag helper. " \ | ||
"Please refer to https://github.com/shakacode/shakapacker/blob/master/README.md#usage for the usage guide" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please refer to the documentation for stylesheet_pack_tag for more information. |
||
end | ||
|
||
@stylesheet_pack_tag_queue = names | ||
end | ||
|
||
def append_javascript_pack_tag(*names, defer: true) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would rather not bring this raise back at this point. Duplicate stylesheets are less problematic and I don't want to bring in a breaking change for any users that relied on this raise not being here.
We'd be shipping this PR in a minor release so avoiding breaking changes is preferable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @tomdracz! I am removing the raise for now :) But Still keeping it as a warning in logs :)