grunt-amp-optimizer
Version:
A Grunt Plugin to optimize AMP HTML ⚡ at build-time.
73 lines (52 loc) • 2.32 kB
Markdown
# grunt-amp-optimizer
> A Grunt Plugin to optimize AMP HTML ⚡ at build-time.
This is a wrapper grunt plugin around [AMP Optimizer](https://github.com/ampproject/amp-toolbox/tree/main/packages/optimizer).
## Getting Started
This plugin requires Grunt `~0.4.5`
If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install grunt-amp-optimizer --save-dev
```
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-amp-optimizer');
```
## The "amp_optimizer" task
### Overview
In your project's Gruntfile, add a section named `amp_optimizer` to the data object passed into `grunt.initConfig()`.
```js
grunt.initConfig({
amp_optimizer: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
});
```
### Options
Options are passed to [AMP Optimizer](https://github.com/ampproject/amp-toolbox/tree/main/packages/optimizer). For the complete list of options, please consult [AMP Optimizer](https://www.npmjs.com/package/@ampproject/toolbox-optimizer).
### Usage Examples
#### Per project options
In this example, we pass `canonical` url to an incomplete document, the plugin would insert the missing tags. Also, the minification is disabled.
```js
grunt.initConfig({
amp_optimizer: {
options: {
minify: false,
canonical: 'https://exmaple.com'
},
files: {
'dest/index.html': 'src/index.html',
},
},
});
```
## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).
## Release History
* 2020-12-12 v0.1.0 Initial version based on `grunt-init gruntplugin`
---
Task submitted by [Saw-mon and Natalie](https://www.sawmon-and-natalie.com/)