-
Notifications
You must be signed in to change notification settings - Fork 4
/
excerpt.js
27 lines (22 loc) · 1.05 KB
/
excerpt.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const seperator = {
start: '<!-- excerpt start -->',
end: '<!-- excerpt end -->',
total: '<!-- excerpt -->'
};
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);
let totalPosition = articleContent.toLowerCase().indexOf(seperator.total)
if (totalPosition !== -1) {
excerpt = articleContent.substring(0, totalPosition);
} else 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
}