MCPcopy Index your code
hub / github.com/adobe/react-spectrum / getFeed

Function getFeed

scripts/createFeed.mjs:82–115  ·  view source on GitHub ↗
(type)

Source from the content-addressed store, hash-verified

80})();
81
82function 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
117function buildFeed(type, posts) {
118 const feedItems = [];

Callers 1

createFeed.mjsFile · 0.85

Calls 3

pushMethod · 0.80
sliceMethod · 0.80
sortMethod · 0.65

Tested by

no test coverage detected