Module: Minipack::Helper
- Defined in:
- lib/minipack/helper.rb
Instance Method Summary collapse
-
#asset_bundle_path(name, manifest: nil, **options) ⇒ Object
Example:.
-
#image_bundle_tag(name, manifest: nil, **options) ⇒ Object
Examples:.
-
#javascript_bundle_tag(*names, manifest: nil, **options) ⇒ Object
Example:.
-
#javascript_bundles_with_chunks_tag(*names, manifest: nil, **options) ⇒ Object
Creates script tags that references the js chunks from entrypoints when using split chunks API.
-
#stylesheet_bundle_tag(*names, manifest: nil, **options) ⇒ Object
Examples:.
-
#stylesheet_bundles_with_chunks_tag(*names, manifest: nil, **options) ⇒ Object
Creates link tags that references the css chunks from entrypoints when using split chunks API.
Instance Method Details
#asset_bundle_path(name, manifest: nil, **options) ⇒ Object
Example:
<%= asset_bundle_path 'calendar.css' %> # => "/assets/web/pack/calendar-1016838bab065ae1e122.css"
<%= asset_bundle_path 'icon/favicon.ico' %> # => "/assets/web/pack/icon/favicon-1016838bab065ae1e122.ico"
10 11 12 13 |
# File 'lib/minipack/helper.rb', line 10 def asset_bundle_path(name, manifest: nil, **) manifest = get_manifest_by_key(manifest) asset_path(manifest.lookup!(name.to_s).path, **) end |
#image_bundle_tag(name, manifest: nil, **options) ⇒ Object
Examples:
<%= image_bundle_tag 'icon.png'
<img src="/assets/pack/icon-1016838bab065ae1e314.png" />
<%= image_bundle_tag "icon.png", size: "16x10", alt: "Edit Entry"
<img src="/assets/pack/icon-1016838bab065ae1e314.png" width="16" height="10" alt="Edit Entry" />
94 95 96 97 |
# File 'lib/minipack/helper.rb', line 94 def image_bundle_tag(name, manifest: nil, **) manifest = get_manifest_by_key(manifest) image_tag(manifest.lookup!(name.to_s).path, **) end |
#javascript_bundle_tag(*names, manifest: nil, **options) ⇒ Object
Example:
<%= javascript_bundle_tag 'calendar', 'data-turbolinks-track': 'reload' %> # =>
<script src="/assets/web/pack/calendar-1016838bab065ae1e314.js" data-turbolinks-track="reload"></script>
<%= javascript_bundle_tag 'orders/app' %> # =>
<script src="/assets/web/pack/orders/app-1016838bab065ae1e314.js"></script>
22 23 24 25 26 |
# File 'lib/minipack/helper.rb', line 22 def javascript_bundle_tag(*names, manifest: nil, **) entries_from_manifest(names, 'js', key: manifest).map { |entry| javascript_include_tag(entry.path, **(entry, )) }.join("\n").html_safe end |
#javascript_bundles_with_chunks_tag(*names, manifest: nil, **options) ⇒ Object
Creates script tags that references the js chunks from entrypoints when using split chunks API. See: webpack.js.org/plugins/split-chunks-plugin/ Example:
<%= javascript_bundles_with_chunks_tag 'calendar', 'map', 'data-turbolinks-track': 'reload' %> # =>
<script src="/packs/vendor-16838bab065ae1e314.chunk.js" data-turbolinks-track="reload"></script>
<script src="/packs/calendar~runtime-16838bab065ae1e314.chunk.js" data-turbolinks-track="reload"></script>
<script src="/packs/calendar-1016838bab065ae1e314.chunk.js" data-turbolinks-track="reload"></script>
<script src="/packs/map~runtime-16838bab065ae1e314.chunk.js" data-turbolinks-track="reload"></script>
<script src="/packs/map-16838bab065ae1e314.chunk.js" data-turbolinks-track="reload"></script>
DO: <%= javascript_bundles_with_chunks_tag ‘calendar’, ‘map’ %> DON’T: <%= javascript_bundles_with_chunks_tag ‘calendar’ %> <%= javascript_bundles_with_chunks_tag ‘map’ %>
43 44 45 46 47 |
# File 'lib/minipack/helper.rb', line 43 def javascript_bundles_with_chunks_tag(*names, manifest: nil, **) sources_from_manifest_entrypoints(names, 'js', key: manifest).map { |entry| javascript_include_tag(entry.path, **(entry, )) }.join("\n").html_safe end |
#stylesheet_bundle_tag(*names, manifest: nil, **options) ⇒ Object
Examples:
<%= stylesheet_bundle_tag 'calendar', 'data-turbolinks-track': 'reload' %> # =>
<link rel="stylesheet" media="screen"
href="/assets/web/pack/calendar-1016838bab065ae1e122.css" data-turbolinks-track="reload" />
<%= stylesheet_bundle_tag 'orders/style' %> # =>
<link rel="stylesheet" media="screen"
href="/assets/web/pack/orders/style-1016838bab065ae1e122.css" />
58 59 60 61 62 63 64 |
# File 'lib/minipack/helper.rb', line 58 def stylesheet_bundle_tag(*names, manifest: nil, **) if Minipack.configuration.extract_css? entries_from_manifest(names, 'css', key: manifest).map { |entry| stylesheet_link_tag(entry.path, **(entry, )) }.join("\n").html_safe end end |
#stylesheet_bundles_with_chunks_tag(*names, manifest: nil, **options) ⇒ Object
Creates link tags that references the css chunks from entrypoints when using split chunks API. See: webpack.js.org/plugins/split-chunks-plugin/ Example:
<%= stylesheet_bundles_with_chunks_tag 'calendar', 'map' %> # =>
<link rel="stylesheet" media="screen" href="/packs/3-8c7ce31a.chunk.css" />
<link rel="stylesheet" media="screen" href="/packs/calendar-8c7ce31a.chunk.css" />
<link rel="stylesheet" media="screen" href="/packs/map-8c7ce31a.chunk.css" />
DO: <%= stylesheet_bundles_with_chunks_tag ‘calendar’, ‘map’ %> DON’T: <%= stylesheet_bundles_with_chunks_tag ‘calendar’ %> <%= stylesheet_bundles_with_chunks_tag ‘map’ %>
79 80 81 82 83 84 85 |
# File 'lib/minipack/helper.rb', line 79 def stylesheet_bundles_with_chunks_tag(*names, manifest: nil, **) if Minipack.configuration.extract_css? sources_from_manifest_entrypoints(names, 'css', key: manifest).map { |entry| stylesheet_link_tag(entry.path, **(entry, )) }.join("\n").html_safe end end |