diff --git a/site/templates/blog.json.php b/site/templates/blog.json.php index f24873f..16c3db7 100644 --- a/site/templates/blog.json.php +++ b/site/templates/blog.json.php @@ -1,23 +1,25 @@ featured()->toPages()->first(); + +$mapArticle = function($article) { + return [ + 'title' => $article->title()->value(), + 'slug' => $article->slug(), + 'date' => $article->date()->toDate('d/m/Y'), + 'intro' => $article->intro()->excerpt(200), + 'cover' => $article->cover()->toFile()?->url(), + ]; +}; + +$articles = $page->children()->listed()->sortBy('date', 'desc'); + $specificData = [ - 'intro' => [ - 'title' => $page->introTitle()->value(), - 'text' => $page->introText()->value() - ], - 'articles' => $page->children()->listed()->sortBy('date', 'desc')->map(function($article) { - return [ - 'title' => $article->title()->value(), - 'slug' => $article->slug(), - 'url' => $article->url(), - 'date' => $article->date()->toDate('Y-m-d'), - 'dateFormatted' => $article->date()->toDate('d/m/Y'), - 'intro' => $article->intro()->excerpt(200), - 'cover' => $article->cover()->toFile()?->url(), - 'authorName' => $article->authorName()->value(), - 'authorPhoto' => $article->authorPhoto()->toFile()?->url() - ]; - })->values() + 'intro' => $page->intro()->value(), + 'featured' => $featured ? $mapArticle($featured) : null, + 'articles' => ($featured ? $articles->not($featured) : $articles) + ->map($mapArticle) + ->values(), ]; $pageData = array_merge($genericData, $specificData); diff --git a/src/styles/layout.css b/src/styles/layout.css index 7462016..f93e2a5 100644 --- a/src/styles/layout.css +++ b/src/styles/layout.css @@ -13,6 +13,18 @@ overflow-y: hidden; } +/* Pages scrollables (blog, article, etc.) */ +.page-scrollable { + height: 100%; + overflow-y: auto; +} + +.page-container { + max-width: 1200px; + margin: 0 auto; + padding: 0 50px; +} + /* Vertical Lines */ .vertical-line { z-index: var(--z-base); diff --git a/src/views/Blog.svelte b/src/views/Blog.svelte index 9023ba3..aa3e162 100644 --- a/src/views/Blog.svelte +++ b/src/views/Blog.svelte @@ -1,24 +1,240 @@ -
-
-

{data?.title || 'Blog'}

-

Blog view - To be implemented

+
+
+ + + {#if data?.intro} +
+ {@html data.intro} +
+ {/if} + + + {#if featured} + +
+ {/if} + + + {#each articles as article, i} + + {#if i < articles.length - 1} +
+ {/if} + {/each} +
-
+ +