@edenjs/meta
v1.0.5
Published
[](https://travis-ci.com/eden-js/meta) [](https://github.com/eden-js/meta/issues) [ => {
// get products
const products = await Product.find({
published : true,
});
// get categories
await Promise.all(products.map(async (product) => {
// add to eden
map.urls.push({
url : `/product/${product.get('slug')}`,
img : await Promise.all((await product.get('images') || []).map(async (image) => {
// return image
return {
url : await image.url('md-sq'),
title : product.get('title.en-us'),
caption : image.get('name'),
license : 'https://creativecommons.org/licenses/by/4.0/',
};
})),
lastmod : product.get('updated_at'),
priority : 0.8,
changefreq : 'daily',
});
}));
});This can also be done in a build function. Usage
/**
* order individual item
*/
const build = () => {
// get categories
(await Product.find({
published : true,
})).map(async (product) => {
// add to eden
// this.eden must be in a controller/daemon extended the core daemon/controller
this.eden.sitemap.add({
url : `/product/${product.get('slug')}`,
img : await Promise.all((await product.get('images') || []).map(async (image) => {
// return image
return {
url : await image.url('md-sq'),
title : product.get('title.en-us'),
caption : image.get('name'),
license : 'https://creativecommons.org/licenses/by/4.0/',
};
})),
lastmod : product.get('updated_at'),
priority : 0.8,
changefreq : 'daily',
});
});
}Functions
res.meta Usage
/**
* test action
*
* @route {GET} /test
*/
testAction(req, res) {
// add meta tag
res.meta('name', 'content'); // translates to <meta name="name" content="content" />
}res.og Usage
/**
* test action
*
* @route {GET} /test
*/
testAction(req, res) {
// add meta tag
res.og('image', 'https://image.com/image.png', 'image'); // translates to <meta property="og:image" content="https://image.com/image.png" />
}res.article Usage
/**
* test action
*
* @route {GET} /test
*/
testAction(req, res) {
// add meta tag
res.article('image', 'https://image.com/image.png', 'image'); // translates to <meta property="article:image" content="https://image.com/image.png" />
}res.twitter Usage
/**
* test action
*
* @route {GET} /test
*/
testAction(req, res) {
// add meta tag
res.twitter('image', 'https://image.com/image.png', 'image'); // translates to <meta name="twitter:image" content="https://image.com/image.png" />
}res.title Usage
/**
* test action
*
* @route {GET} /test
*/
testAction(req, res) {
// add meta tag
res.title('Page Title'); // translates to <title>Page Title</title> as well as all appropriate meta tags
}res.description Usage
/**
* test action
*
* @route {GET} /test
*/
testAction(req, res) {
// add meta tag
res.description('Page Description'); // translates to <meta itemprop="description" name="description" content="Page Description" /> as well as all appropriate meta tags
}res.image Usage
/**
* test action
*
* @route {GET} /test
*/
testAction(req, res) {
// add meta tag
res.image('https://image.com/image.png', 100, 100); // translates to <meta itemprop="image" content="https://image.com/image.png" width="100" height="100" />
}