Package com.vaadin.flow.server.frontend
Class CssBundler
java.lang.Object
com.vaadin.flow.server.frontend.CssBundler
Utility methods to handle application theme CSS content.
For internal use only. May be renamed or removed in a future release.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringinlineImportsForPublicResources(File baseFolder, File cssFile, String contextPath) Inlines imports for CSS files located under public static resources (e.g.static StringinlineImportsForThemes(File themeFolder, File cssFile, tools.jackson.databind.JsonNode themeJson) Recurse over CSS import and inlines all ot them into a single CSS block in themes folder undersrc/main/frontend/themes/<theme-name>.
-
Constructor Details
-
CssBundler
public CssBundler()
-
-
Method Details
-
inlineImportsForThemes
public static String inlineImportsForThemes(File themeFolder, File cssFile, tools.jackson.databind.JsonNode themeJson) throws IOException Recurse over CSS import and inlines all ot them into a single CSS block in themes folder undersrc/main/frontend/themes/<theme-name>.Unresolvable imports are put on the top of the resulting code, because
@importstatements must come before any other CSS instruction, otherwise the import is ignored by the browser.Along with import resolution and code inline, URLs (
url('image.png')referencing theme resources or assets are rewritten to be correctly served by Vaadin at runtime.- Parameters:
themeFolder- location of theme folder on the filesystem.cssFile- the CSS file to process.themeJson- the theme configuration, usually stored in theme.json file.- Returns:
- the processed stylesheet content, with inlined imports and rewritten URLs.
- Throws:
IOException- if filesystem resources can not be read.
-
inlineImportsForPublicResources
public static String inlineImportsForPublicResources(File baseFolder, File cssFile, String contextPath) throws IOException Inlines imports for CSS files located under public static resources (e.g. META-INF/resources).- Parameters:
baseFolder- base folder the imports and url() references are relative tocssFile- the CSS file to processcontextPath- that url() are rewritten to and rebased onto- Returns:
- the processed stylesheet content with inlined imports only
- Throws:
IOException- if filesystem resources cannot be read
-