Skip to content

Commit

Permalink
feat(docs): starting docs
Browse files Browse the repository at this point in the history
  • Loading branch information
srod committed Aug 3, 2018
1 parent 6170d4d commit 8137396
Show file tree
Hide file tree
Showing 17 changed files with 627 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
._*
node_modules
coverage
dist
.history
48 changes: 48 additions & 0 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
module.exports = {
title: 'Node-minify',
description: 'Full documentation of node-minify',
head: [['link', { rel: 'manifest', href: '/manifest.json' }], ['meta', { name: 'theme-color', content: '#3eaf7c' }]],
serviceWorker: true,
evergreen: true,
themeConfig: {
serviceWorker: {
updatePopup: true
},
nav: [
{
text: 'Releases',
link: 'https://github.com/srod/node-minify/releases'
},
{
text: 'GitHub',
link: 'https://github.com/srod/node-minify'
},
{
text: 'NPM',
link: 'https://www.npmjs.com/package/node-minify'
}
],
sidebar: [
{
title: '',
collapsable: false,
children: [['', 'Introduction'], 'getting-started', 'options', 'cli']
},
{
title: 'Compressors',
collapsable: false,
children: [
'compressors/babel-minify',
'compressors/clean-css',
'compressors/crass',
'compressors/csso',
'compressors/gcc',
'compressors/sqwish',
'compressors/uglify-es',
'compressors/uglify-js',
'compressors/yui'
]
}
]
}
};
20 changes: 20 additions & 0 deletions docs/.vuepress/public/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "VuePress",
"short_name": "VuePress",
"icons": [
{
"src": "/icons/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icons/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"start_url": "/index.html",
"display": "standalone",
"background_color": "#fff",
"theme_color": "#3eaf7c"
}
57 changes: 57 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<div align="center"><img src="../static/node-minify.png" width="348" alt="node-minify"></div>

<p align="center">A very light minifier Node.js module.</p>

## Features

It allow you to compress JavaScript and CSS files.

**JavaScript:**

- [babel-minify](/compressors/babel-minify.md)
- [Google Closure Compiler](/compressors/gcc.md)
- [uglify-js](/compressors/uglify-js.md)
- [uglify-es](/compressors/uglify-es.md)
- [YUI Compressor](/compressors/yui.md)

**CSS:**

- [clean-css](/compressors/clean-css.md)
- [crass](/compressors/crass.md)
- [CSSO](/compressors/csso.md)
- [sqwish](/compressors/sqwish.md)
- [YUI Compressor](/compressors/yui.md)

**Command Line Interface:**

- [CLI](/cli.md) :tada: new in version 3

CSS benchmark: [http://goalsmashers.github.io/css-minification-benchmark/](http://goalsmashers.github.io/css-minification-benchmark/)

::: tip
I recommend to execute it at boot time for production use.
:::

## Warning

It assumes that you have Java installed on your environment for both GCC and YUI Compressor. To check, run:

```bash
java -version
```

How to install:

Mac: [https://java.com/en/download/help/mac_install.xml](https://java.com/en/download/help/mac_install.xml)

Windows: [https://java.com/en/download/help/windows_manual_download.xml](https://java.com/en/download/help/windows_manual_download.xml)

Linux: [https://www.java.com/en/download/help/linux_x64_install.xml](https://www.java.com/en/download/help/linux_x64_install.xml)

## Windows support

Since v0.5.0, a windows support is available for the no-compress option and uglify-js (thanks to pieces029 and benpusherhq)

## License

[MIT](https://github.com/srod/node-minify/blob/master/LICENSE)
21 changes: 21 additions & 0 deletions docs/cli.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# CLI

You can compress files using the command line.

Usage for one or multiple compressors :

```bash
node-minify --compressor babel-minify --input 'input.js' --output 'output.js'
```

```bash
node-minify --compressor 'babel-minify, uglifyjs, gcc' --input 'input.js' --output 'output.js'
```

Usage for all the compressors :

```bash
node-minify --compressor all --input 'input.js' --output 'output.js'
```

<img src="../static/cli.png" width="784" height="433" alt="cli">
33 changes: 33 additions & 0 deletions docs/compressors/babel-minify.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# babel-minify

`babel-minify` can compress only JavaScript files.

[https://github.com/babel/minify](https://github.com/babel/minify)

## Usage

```js
compressor.minify({
compressor: 'babel-minify',
input: 'foo.css',
output: 'bar.css',
callback: function(err, min) {}
});
```

## Options

```js
compressor.minify({
compressor: 'babel-minify',
input: 'foo.js',
output: 'bar.js',
options: {
babelrc: 'public/.babelrc',
presets: ['env']
},
callback: function(err, min) {}
});
```

[Check all options](https://github.com/babel/minify)
34 changes: 34 additions & 0 deletions docs/compressors/clean-css.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# clean-css

`clean-css` can compress only CSS files.

[https://github.com/GoalSmashers/clean-css](https://github.com/GoalSmashers/clean-css)

## Usage

```js
compressor.minify({
compressor: 'clean-css',
input: 'foo.css',
output: 'bar.css',
callback: function(err, min) {}
});
```

## Options

```js
compressor.minify({
compressor: 'clean-css',
input: 'foo.css',
output: 'bar.css',
options: {
advanced: false, // set to false to disable advanced optimizations - selector & property merging, reduction, etc.
aggressiveMerging: false // set to false to disable aggressive merging of properties.
... // See more information link below
},
callback: function (err, min) {}
});
```

[Check all options](https://github.com/jakubpawlowicz/clean-css/tree/3.4)
16 changes: 16 additions & 0 deletions docs/compressors/crass.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# crass

`crass` can compress only CSS files.

[https://github.com/mattbasta/crass](https://github.com/mattbasta/crass)

## Usage

```js
compressor.minify({
compressor: 'crass',
input: 'foo.css',
output: 'bar.css',
callback: function(err, min) {}
});
```
16 changes: 16 additions & 0 deletions docs/compressors/csso.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# CSSO

`CSSO` can compress only CSS files.

[https://github.com/css/csso](https://github.com/css/csso)

## Usage

```js
compressor.minify({
compressor: 'csso',
input: 'foo.css',
output: 'bar.css',
callback: function(err, min) {}
});
```
101 changes: 101 additions & 0 deletions docs/compressors/gcc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# GCC

`Google Closure Compiler` can compress only JavaScript files.

[https://developers.google.com/closure/compiler/](https://developers.google.com/closure/compiler/)

## Usage (JavaScript version)

```js
compressor.minify({
compressor: 'gcc',
input: 'foo.js',
output: 'bar.js',
callback: function(err, min) {}
});
```

[https://www.npmjs.com/package/google-closure-compiler-js](https://www.npmjs.com/package/google-closure-compiler-js)

## Usage (Java >= 1.8)

```js
compressor.minify({
compressor: 'gcc-java',
input: 'foo.js',
output: 'bar.js',
callback: function(err, min) {}
});
```

## Usage (Java <= 1.6)

```js
// Using Google Closure Compiler legacy version for Java 1.6
compressor.minify({
compressor: 'gcc-legacy',
input: 'foo.css',
output: 'bar.css',
callback: function(err, min) {}
});
```

## Java

::: warning
It assumes that you have Java installed on your environment.
:::

To check, run:

```bash
java -version
```

How to install:

Mac: [https://java.com/en/download/help/mac_install.xml](https://java.com/en/download/help/mac_install.xml)

Windows: [https://java.com/en/download/help/windows_manual_download.xml](https://java.com/en/download/help/windows_manual_download.xml)

Linux: [https://www.java.com/en/download/help/linux_x64_install.xml](https://www.java.com/en/download/help/linux_x64_install.xml)

## Options

### Options for Google Closure Compiler (JavaScript version)

```js
compressor.minify({
compressor: 'gcc',
input: 'foo.js',
output: 'bar.js',
options: {
createSourceMap: true,
compilationLevel: 'WHITESPACE_ONLY',
languageIn: 'ECMASCRIPT6'
... // See more information link below
},
callback: function (err, min) {}
});
```

[Check all options](https://github.com/google/closure-compiler-js#flags)

### Options for Google Closure Compiler (Java version)

```js
compressor.minify({
compressor: 'gcc',
input: 'foo.js',
output: 'bar.js',
options: {
createSourceMap: true,
compilation_level: 'WHITESPACE_ONLY',
language: 'ECMASCRIPT6'
... // See more information link below
},
callback: function (err, min) {}
});
```

[Check all options](https://developers.google.com/closure/compiler/docs/api-ref)
30 changes: 30 additions & 0 deletions docs/compressors/sqwish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# sqwish

`sqwish` can compress only CSS files.

[https://github.com/ded/sqwish](https://github.com/ded/sqwish)

## Usage

```js
compressor.minify({
compressor: 'sqwish',
input: 'foo.css',
output: 'bar.css',
callback: function(err, min) {}
});
```

## Options

```js
compressor.minify({
compressor: 'sqwish',
input: 'foo.css',
output: 'bar.css',
options: {
strict: true // strict optimizations
},
callback: function(err, min) {}
});
```
Loading

0 comments on commit 8137396

Please sign in to comment.