amperize
v0.6.1
Published
AMP up your plain HTML
Downloads
11,423
Readme
Amperize
AMP up your plain HTML. Replaces regular HTML tags with their equivalent AMP components.
Installation
npm install amperize
Node.js
var Amperize = require('amperize');
var html = '<img src="https://example.com/image.jpg" />';
var amperize = new Amperize();
amperize.parse(html, function (error, result) {
if (error) {
// do something with error
return new Error(err);
}
// do something with result
return result;
});
Restrictions
Amperize is build to convert the <body>
part of your HTML. It will not create the AMP boilerplate and will not add the required <script>
for each component.
Currently supported AMP HTML components
<amp-img>
Amperize will convert common <img>
tags into AMP HTML conform <amp-img>
tags. With the sub-dependencies [probe-image-size](https://github.com/nodeca/probe-image-size) and [
image-size](https://github.com/image-size/image-size), Amperize will fetch the necessary
widthand
height` properties for the given image.
It will fall back to the default values width: 600
and height: 400
, if the dimensions couldn't be fetched.
If any other error occurs (eg. missing src
property), Amperize will not transform the tag and return the original.
<amp-anim>
When the <img>
tag that needs to be transformed, is a .gif
animation, Amperize will convert it into <amp-anim>
, following the same rules as for <amp-img>
.
<amp-iframe>
Amperize converts iFrames like embedded videos from Vimeo, etc. into <amp-iframe>
tags. If the src
attribute is an http
URL it will be switched to https
in order to pass AMP validation.
<amp-youtube>
Amperize converts iFrames with a "YouTube" URL into <amp-youtube>
tags. If the src
attribute is an http
URL it will be switched to https
in order to pass AMP validation.
<amp-audio>
Converts HTML <audio>
into <amp-audio>
. If the src
attribute is an http
URL it will be switched to https
in order to pass AMP validation.
Development
git clone [email protected]:jbhannah/amperize.git
cd amperize
npm install
npm run watch
npm run watch
will restart the tests on changes.
Tests
Running the test:
npm run test
Code coverage:
npm run coverage
Credits
Borrows heavily from Minimize, especially the constructor, parse
,
amperizer
, and traverse
functions in the Amperize
object, and the unit
tests. Copyright (c) 2013 Moveo - Martijn Swaagman. Used under the MIT License
(see LICENSE
).