Thank you for this approach.
SΓ©bastien
βββββββ Original Message βββββββ
On Saturday 25 April 2020 08:29, Distinct Perspective notifications@github.com wrote:
create a custom filter in eleventy.js
const excerpt = require("./src/excerpt");
module.exports = function(eleventyConfig) {
eleventyConfig.addShortcode("excerpt", excerpt);
}call it like this
{{ content | excerpt }}filter code /src/excerpt
const seperator = {start: '', end: ''};
module.exports = function(article) {
let excerpt = article.data.excerpt ?<p>${article.data.excerpt}</p>: "";
const articleContent = article.templateContent;let startPosition = articleContent.toLowerCase().indexOf(seperator.start); let endPosition = articleContent.toLowerCase().indexOf(seperator.end); if (startPosition !== -1 && endPosition !== -1) { excerpt = articleContent.substring(startPosition + seperator.start.length, endPosition); } else if (!article.data.excerpt) { let startPosition = articleContent.toLowerCase().indexOf('<p>'); let endPosition = articleContent.toLowerCase().indexOf('</p>'); excerpt = articleContent.substring(startPosition + 3, endPosition); } return excerpt}
β
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
(Extracted from collapsed mail)
create a custom filter in eleventy.js
const excerpt = require("./src/excerpt");
module.exports = function(eleventyConfig) {
eleventyConfig.addShortcode("excerpt", excerpt);
}
call it like this
{{ content | excerpt }}
filter code /src/excerpt
const seperator = {start: '<!-- excerpt start -->', end: '<!-- excerpt end -->'};
module.exports = function(article) {
let excerpt = article.data.excerpt ? `<p>${article.data.excerpt}</p>` : "";
const articleContent = article.templateContent;
let startPosition = articleContent.toLowerCase().indexOf(seperator.start);
let endPosition = articleContent.toLowerCase().indexOf(seperator.end);
if (startPosition !== -1 && endPosition !== -1) {
excerpt = articleContent.substring(startPosition + seperator.start.length, endPosition);
} else if (!article.data.excerpt) {
let startPosition = articleContent.toLowerCase().indexOf('<p>');
let endPosition = articleContent.toLowerCase().indexOf('</p>');
excerpt = articleContent.substring(startPosition + 3, endPosition);
}
return excerpt
}
If that works for you, could you close the issue, @smaimon?
Thank you @Ryuno-Ki