15 lines
510 B
JavaScript
15 lines
510 B
JavaScript
const createExcerpt = (post, limit ) => {
|
|
const withoutTags = post.content.replace(/(<([^>]+)>)/gi, "")
|
|
.replace(/[^\x20-\x7E]/gmi, " ")
|
|
.replace(/\s+/g, " ").trim();
|
|
|
|
if (withoutTags.length > limit) {
|
|
return withoutTags.slice(0, limit) + " […]";
|
|
}
|
|
return withoutTags;
|
|
}
|
|
export default function (eleventyConfig) {
|
|
eleventyConfig.addFilter('excerpt', (post, limit = 250) => {
|
|
return post.data.excerpt || createExcerpt(post, limit);
|
|
});
|
|
} |