NPM Version Downloads Stats Known Vulnerabilities
Convert plain HTML to Google AMP (Accelerated Mobile Pages)
npm install ampify --save
const ampify = require('ampify'); const html = '<YOUR_HTML_CONTENT>'; const amp = ampify(html, {cwd: 'amp'}); console.log(amp); // Content of AMP HTML
Assets (images/styles) file path
- Type:
String - Default:
''
Enable images dimensions rounding
- Type:
String - Default:
true
<html> <head> <link rel="stylesheet" href="style.css"> </head> <img src="image.png"> </html>
body { background-color: #fff; }
<html amp=""> <head> <style amp-custom="">body{background-color:#fff}</style> </head> <amp-img src="image.png" width="600" height="400"></amp-img> </html>
See /examples folder for full source code.
const ampify = require('ampify'); const express = require('express'); const app = express(); app.get('/article', (req, res) => { const html = ` <html> <head> <title>AMP page</title> </head> <body> <div> <p>This is an AMP article</p> </div> </body> </html> `; const amp = ampify(html, {cwd: 'amp'}); res.send(amp); // serving AMP content }); app.listen(3000, () => { console.log('Listening on port 3000!'); });
const ampify = require('ampify'); const express = require('express'); const app = express(); app.use((req, res, next) => { if (req.url.startsWith('/amp')) { const send = res.send; res.send = function (html) { const amp = ampify(html, {cwd: 'amp'}); send.call(this, amp); }; } next(); }); app.get('/amp/article', (req, res) => { const html = ` <html> <head> <title>AMP page</title> </head> <body> <div> <p>This is AMP article</p> </div> </body> </html> `; res.send(html); }); app.get('/article', (req, res) => { const html = ` <html> <head> <title>HMTL page</title> </head> <body> <div> <p>This is HTML article</p> </div> </body> </html> `; res.send(html); }); app.listen(3000, () => { console.log('Listening on port 3000!'); });
MIT (c) Ruslan Kazakov and contributors