Class HtmlImportShim
java.lang.Object
org.nustaq.kontraktor.webapp.javascript.HtmlImportShim
public class HtmlImportShim
extends java.lang.Object
Created by ruedi on 16/07/15.
inline all html imports of given file recursively (incl. adaption of pathes)
optionally also minify javascript code on the fly.
also inlines css files
similar to polymer's vulcanize.
by specifying 'no-inline=true' on a script tag one can exclude specific script tags
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceHtmlImportShim.ResourceLocator -
Constructor Summary
Constructors Constructor Description HtmlImportShim(java.io.File baseDir, java.lang.String baseUrl)HtmlImportShim(java.lang.String baseUrl) -
Method Summary
Modifier and Type Method Description protected KUrlcomputeAssetPath(KUrl containingFileUrl, java.lang.String href)KUrlgetBaseUrl()HtmlImportShiminline(boolean inline)voidinlineScripts(KUrl containingFileUrl, java.util.HashSet<KUrl> visited, java.util.List<java.lang.Runnable> changes, org.jsoup.nodes.Element doc)voidinlineScripts(KUrl containingFileUrl, java.util.HashSet<KUrl> visited, java.util.List<java.lang.Runnable> changes, org.jsoup.select.Elements scripts)HtmlImportShimjsPostProcessors(java.util.List<JSPostProcessor> jsPostProcessors)java.io.FilelocateResource(KUrl urlPath)static voidmain(java.lang.String[] args)HtmlImportShimminify(boolean minify)voidsetJSPostProcessors(java.util.List<JSPostProcessor> JSPostProcessors)voidsetLocator(HtmlImportShim.ResourceLocator locator)org.jsoup.nodes.ElementshimImports(java.lang.String htmlFile)org.jsoup.nodes.ElementshimImports(KUrl containingFileUrl, java.util.HashSet<KUrl> visited, java.util.List<java.util.List<org.jsoup.nodes.Node>> bodyContent)voidshimLink(KUrl containingFileUrl, java.util.HashSet<KUrl> visited, java.util.List<java.util.List<org.jsoup.nodes.Node>> bodyContent, java.util.List<java.lang.Runnable> changes, org.jsoup.nodes.Element link)HtmlImportShimstripComments(boolean stripComments)voidstripComments(org.jsoup.nodes.Document doc)
-
Constructor Details
-
HtmlImportShim
public HtmlImportShim(java.io.File baseDir, java.lang.String baseUrl) -
HtmlImportShim
public HtmlImportShim(java.lang.String baseUrl)
-
-
Method Details
-
inline
-
jsPostProcessors
-
setJSPostProcessors
-
locateResource
-
setLocator
-
shimImports
public org.jsoup.nodes.Element shimImports(java.lang.String htmlFile) throws java.io.IOException- Throws:
java.io.IOException
-
computeAssetPath
-
shimImports
public org.jsoup.nodes.Element shimImports(KUrl containingFileUrl, java.util.HashSet<KUrl> visited, java.util.List<java.util.List<org.jsoup.nodes.Node>> bodyContent) throws java.io.IOException- Throws:
java.io.IOException
-
shimLink
public void shimLink(KUrl containingFileUrl, java.util.HashSet<KUrl> visited, java.util.List<java.util.List<org.jsoup.nodes.Node>> bodyContent, java.util.List<java.lang.Runnable> changes, org.jsoup.nodes.Element link) throws java.io.IOException- Throws:
java.io.IOException
-
inlineScripts
public void inlineScripts(KUrl containingFileUrl, java.util.HashSet<KUrl> visited, java.util.List<java.lang.Runnable> changes, org.jsoup.nodes.Element doc) throws java.io.IOException- Throws:
java.io.IOException
-
inlineScripts
public void inlineScripts(KUrl containingFileUrl, java.util.HashSet<KUrl> visited, java.util.List<java.lang.Runnable> changes, org.jsoup.select.Elements scripts) throws java.io.IOException- Throws:
java.io.IOException
-
stripComments
public void stripComments(org.jsoup.nodes.Document doc) -
getBaseUrl
-
stripComments
-
minify
-
main
public static void main(java.lang.String[] args) throws java.io.IOException- Throws:
java.io.IOException
-