Skip to content

Shorthand/amperize

This branch is 5 commits ahead of jbhannah/amperize:master.

Folders and files

NameName
Last commit message
Last commit date
Jun 4, 2020
Mar 31, 2023
Mar 28, 2023
Nov 17, 2017
Aug 14, 2019
Aug 14, 2019
Oct 24, 2015
Feb 26, 2020
Mar 31, 2023

Repository files navigation

Amperize

Version npm Build Status Dependencies Coverage Status

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://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;
});

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>

<amp-img> reference

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 necessarywidthandheight` 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>

<amp-anim> reference

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>

<amp-iframe> reference

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>

<amp-youtube> reference

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>

<amp-audio> reference

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 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).

About

AMP up your plain HTML

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%