(type)
| 80 | })(); |
| 81 | |
| 82 | function getFeed(type) { |
| 83 | let files = globSync(`packages/dev/docs/pages/${type}/*.mdx`, { |
| 84 | ignore: [`packages/dev/docs/pages/${type}/index.mdx`] |
| 85 | }); |
| 86 | let posts = []; |
| 87 | |
| 88 | for (let file of files) { |
| 89 | let contents = fs.readFileSync(file, 'utf8').split('\n'); |
| 90 | |
| 91 | let date = ''; |
| 92 | let description = ''; |
| 93 | let title = ''; |
| 94 | let index = 0; |
| 95 | while (date === '' || description === '' || (title === '' && index < contents.length)) { |
| 96 | if (contents[index].startsWith('description')) { |
| 97 | description = contents[index].replace('description:', '').trim(); |
| 98 | } else if (contents[index].startsWith('date:')) { |
| 99 | date = contents[index].replace('date:', '').trim(); |
| 100 | } else if (contents[index].startsWith('#')) { |
| 101 | title = contents[index].replace('#', '').trim(); |
| 102 | } |
| 103 | index++; |
| 104 | } |
| 105 | |
| 106 | let f = file.split('/'); |
| 107 | let fileName = f[f.length - 1].replace('.mdx', ''); |
| 108 | |
| 109 | let post = {date: date, description: description, title: title, fileName: fileName}; |
| 110 | posts.push(post); |
| 111 | } |
| 112 | |
| 113 | posts = posts.sort((a, b) => (a.date < b.date ? 1 : -1)).slice(0, 5); |
| 114 | return posts; |
| 115 | } |
| 116 | |
| 117 | function buildFeed(type, posts) { |
| 118 | const feedItems = []; |
no test coverage detected