Convert plain HTML to Google AMP (Accelerated Mobile Pages)
npm install ampify
const ampify = require('ampify');
const html = '<YOUR_HTML_CONTENT>';
const amp = ampify(html, {
cwd: 'amp',
canonicalURL: 'https://<your-canoncial-url>',
});
console.log(amp); // Content of AMP HTML
- Type:
String
- Default:
''
- Type:
String
- Default:
true
- Type:
String
- Default:
''
Cannonical URL should be a full valid URL. Please see Make your pages discoverable.
<html>
<head>
<link rel="stylesheet" href="styles.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', async (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 = await 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 = async (html) => {
const amp = await 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