diff --git a/site/config/navLinks.js b/site/config/navLinks.js index 36ad060..8bba04d 100644 --- a/site/config/navLinks.js +++ b/site/config/navLinks.js @@ -3,6 +3,7 @@ const navLinks = [ { href: '/guide', name: 'Guide' }, { href: '/claims', name: 'Claims' }, { href: '/library', name: 'Library' }, + { href: '/notes', name: 'Notes' }, { href: '/webinars', name: 'Webinars' }, { href: '/contribute', name: 'Contribute' }, ] diff --git a/site/pages/notes.js b/site/pages/notes.js new file mode 100644 index 0000000..4bc7dde --- /dev/null +++ b/site/pages/notes.js @@ -0,0 +1,68 @@ +import Link from "next/link"; +import { allOtherPages } from "contentlayer/generated" +import { YOUTUBE_REGEX } from "lib/constants"; + +export async function getStaticProps() { + const posts = allOtherPages + .filter((page) => page._raw.sourceFileDir === "notes") + .map((page) => { + return { + title: page.title || null, + description: page.description || null, + date: page.date, + image: page.image || null, + youtube: page.youtube || null, + link: `/${page._raw.flattenedPath}`, + }; + }) + .sort((a, b) => new Date(b.date) - new Date(a.date)); + + return { props: { posts } }; +} + +export default function Notes({ posts }) { + return ( +
+
+
+

+ Our latest articles and explorations. +

+
+
+ {posts && posts.map(({ title, description, image, youtube, link }) => ( + title && description && + (
+
+ {image && {title}} +
+
+ +
+
) + ))} +
+
+
+ ); +} \ No newline at end of file