ProjectMeshnet / nodeatlas

Federated node mapping for mesh networks
GNU General Public License v3.0
58 stars 8 forks source link

Minify CSS and JS #188

Open lukevers opened 10 years ago

alexander-bauer commented 10 years ago

This would be good, but should be done with the static compilation.

lukevers commented 10 years ago

That's what I was hoping! I wasn't sure if you were planning on adding that though, so I thought opening it as an issue here might give you an idea about it.

On Fri, Jan 10, 2014 at 10:57 AM, Alexander Bauer notifications@github.comwrote:

This would be good, but should be done with the static compilation.

— Reply to this email directly or view it on GitHubhttps://github.com/ProjectMeshnet/nodeatlas/issues/188#issuecomment-32039076 .

alexander-bauer commented 10 years ago

I'm actually just about to push a new commit making use of staticdir, so we can implement our own CopyFunc (specified at http://godoc.org/github.com/SashaCrofter/staticdir), but we'll have to figure out how to minify JS and CSS. Do you have a package in mind?

On Fri, Jan 10, 2014 at 08:04:29AM -0800, Luke Evers wrote:

That's what I was hoping! I wasn't sure if you were planning on adding that though, so I thought opening it as an issue here might give you an idea about it.

On Fri, Jan 10, 2014 at 10:57 AM, Alexander Bauer notifications@github.comwrote:

This would be good, but should be done with the static compilation.

— Reply to this email directly or view it on GitHubhttps://github.com/ProjectMeshnet/nodeatlas/issues/188#issuecomment-32039076 .


Reply to this email directly or view it on GitHub: https://github.com/ProjectMeshnet/nodeatlas/issues/188#issuecomment-32039733

lukevers commented 10 years ago

I've found this golang package cssminify, but I haven't tested it out yet. I'm still looking for a golang JS minify package.

alexander-bauer commented 10 years ago

Here are some good-looking results, particularly @dchest's JS, CSS, and HTML minifiers. The major problem with them is that they don't make use of io.Readers or io.Writers, so they require a buffer.

Edit: Turns out we already use @dchest's CAPTCHA package!

dchest commented 10 years ago

Hi! @SashaCrofter note that jsmin is a direct port of Crockford's jsmin and thus covered by its "do no evil" license, which I think is incompatible with GPL. Also, since it's a direct [read: no-thinking] port, the code is crap, just like the original.

I use my ports of jsmin and cssmin in production, and they work, but if someone finds better packages, written with Go in mind, I'd really suggest using them instead (and let me know about them :-).

alexander-bauer commented 10 years ago

I did a bit of digging, and it does look like the "do no evil" license is, indeed, incompatible with GPL, or at least Debian licensing terms.

I don't like software licensing. Not my division.