summaryrefslogtreecommitdiff
path: root/examples/portfolio-svelte/src/pages/projects.astro
diff options
context:
space:
mode:
authorGravatar Konstantinos Kostarellis <delight@users.noreply.github.com> 2021-11-02 17:48:00 +0100
committerGravatar GitHub <noreply@github.com> 2021-11-02 12:48:00 -0400
commitb4dbb90b5f7b2b5a707fca13e5f87d8ba1eb2a1e (patch)
tree280ecdd17e8d5bf09625e1270fe46aa8e2ae76c2 /examples/portfolio-svelte/src/pages/projects.astro
parentc0d9ed832ecf9531ce2dd55699d7c25b775c147a (diff)
downloadastro-b4dbb90b5f7b2b5a707fca13e5f87d8ba1eb2a1e.tar.gz
astro-b4dbb90b5f7b2b5a707fca13e5f87d8ba1eb2a1e.tar.zst
astro-b4dbb90b5f7b2b5a707fca13e5f87d8ba1eb2a1e.zip
Adds a new example template portfolio-svelte (#1667)
- Template is based on svelte components instead of react - Bumps astro version to "^0.21.0-next.0" for portfolio-svelte template Co-authored-by: Konstantinos Kostarellis <Konstantinos.Kostarellis@gmail.com>
Diffstat (limited to 'examples/portfolio-svelte/src/pages/projects.astro')
-rw-r--r--examples/portfolio-svelte/src/pages/projects.astro38
1 files changed, 38 insertions, 0 deletions
diff --git a/examples/portfolio-svelte/src/pages/projects.astro b/examples/portfolio-svelte/src/pages/projects.astro
new file mode 100644
index 000000000..0c639a13d
--- /dev/null
+++ b/examples/portfolio-svelte/src/pages/projects.astro
@@ -0,0 +1,38 @@
+---
+import MainHead from '../components/MainHead.astro';
+import Footer from '../components/Footer.svelte';
+import Nav from '../components/Nav.svelte';
+import PortfolioPreview from '../components/PortfolioPreview.svelte';
+
+interface MarkdownFrontmatter {
+ publishDate: number;
+}
+
+const projects = Astro.fetchContent<MarkdownFrontmatter>('./project/**/*.md')
+ .filter(({ publishDate }) => !!publishDate)
+ .sort((a, b) => new Date(b.publishDate).valueOf() - new Date(a.publishDate).valueOf());
+---
+
+<html lang="en">
+ <head>
+ <MainHead title="All Projects | Jeanine White" description="Learn about Jenine White's most recent projects" />
+ <style lang="scss">
+ .grid {
+ display: grid;
+ grid-gap: 3rem;
+ }
+ </style>
+ </head>
+ <body>
+ <Nav />
+ <div class="wrapper">
+ <h1 class="title mt4 mb4">All Projects</h1>
+ <div class="grid">
+ {projects.map((project) => (
+ <PortfolioPreview project={project} />
+ ))}
+ </div>
+ </div>
+ <Footer />
+ </body>
+</html>