AndersDJohnson / AndersDJohnson/htmlcompressor

Extend HTML compressor to compress and combine external files

Open
#92 0 comments 0 reactions 0 assignees View on GitHub
auto-migrated Priority-Medium Type-Defect
Dominant language
Java
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

```
Hello,

I'm compressing HTML files referencing external CSS and Javascript scripts. I
would like to set a particular compressor to the HTMLCompressor through Java
API that is used each time an external script is detected.

My compressor will be in charge to load the files thanks to the given paths,
compress and combine it and then return the new path to add as external script.

API proposal:

// new interface
interface ExternalCompressor {
String compress(List path, Compressor defaultCompressor);
}

// new setter
htmlCompressor.setExternalCompressor((paths, defaultCompressor) -> {
// implementation sample skeleton
paths.forEach((path) -> {
File f = new File(baseDir, path);
String content = ...
defaultCompressor.compress(content);
...
}

return combinedPath;
});

Result:

</head>
<body>
<script src="bottom1.js" />
<script src="bottom2.js" />
</body>
</html>

// gives
<html>
<head>>
<link rel="/custom-path/bar.min.css" />
<script src="/custom-path/foo.min.js" /
</head>
<body>
<script src="/custom-path/combine.min.js" /
</body>
</html>

Thanks!

```

Original issue reported on code.google.com by `guidro...@gmail.com` on 21 Feb 2014 at 1:50

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.