amperize v0.6.1
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 and image-size, Amperize will fetch the necessary width and 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 git@github.com:jbhannah/amperize.git
cd amperize
npm install
npm run watchnpm 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).
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago