articleDecorator.js 749 B

123456789101112131415161718192021222324
  1. module.exports = function articleDecorator(config, item, meta) {
  2. let blurb = "No description.";
  3. const introMatches = item.content.match(
  4. new RegExp("<p>(?<introText>.*?)</p>", "ms")
  5. );
  6. if (introMatches) {
  7. console.log("groups:", introMatches.groups);
  8. console.log("content:", item.content);
  9. blurb = introMatches.groups.introText.trim();
  10. }
  11. const titleStart = item.content.indexOf(">", item.content.indexOf("<h1")) + 1;
  12. const titleEnd = item.content.indexOf("</h1>");
  13. const title =
  14. titleEnd > -1
  15. ? item.content.substring(titleStart, titleEnd).trim()
  16. : meta.name;
  17. return {
  18. ...item,
  19. niceName: title.replace(/<[^>]*>?/gm, ""),
  20. blurb: blurb,
  21. tags: [].concat(item.tags, ["article"])
  22. };
  23. };