AMP up your plain HTML. Replaces regular HTML tags with their equivalent AMP components.
npm install amperize
var Amperize = require("amperize");
var html = '<img src="https://via.placeholder.com/640x480.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;
});
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.
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.
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>
.
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.
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.
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.
git clone git@github.com:jbhannah/amperize.git
cd amperize
npm install
npm run watch
npm run watch
will restart the tests on changes.
Running the test:
npm run test
Code coverage:
npm run coverage
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
).