Infrastructure as code (#3)
* Moves website to website/ * Adds terraform gitignores * Terraform with AWS provider * Initialises Terraform * Locals and variables for provider * Fetches SSL certificate from ACM * S3 static website bucket * CloudFront distribution * Route53 records * Deployment workflow uses secret S3 bucket suffix * Adds README --------- Co-authored-by: Joe Carstairs <65492573+Sycamost@users.noreply.github.com>
This commit is contained in:
50
website/src/layouts/BlogPost.astro
Normal file
50
website/src/layouts/BlogPost.astro
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
import type { CollectionEntry } from 'astro:content';
|
||||
import BaseHead from '../components/BaseHead.astro';
|
||||
import FormattedDate from '../components/FormattedDate.astro';
|
||||
|
||||
type Props = CollectionEntry<'blog'>['data'];
|
||||
|
||||
const { title, description, pubDate, updatedDate } = Astro.props;
|
||||
|
||||
const canonicalUrl = new URL(Astro.url.pathname, Astro.site);
|
||||
|
||||
const pubDateStr = `${pubDate.year}-${pubDate.month}-${pubDate.day}`;
|
||||
const updatedDateStr = updatedDate ?
|
||||
`${updatedDate.year}-${updatedDate.month}-${updatedDate.day}`
|
||||
: pubDateStr;
|
||||
---
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<BaseHead title={`${title} | joeac’s blog`} description={description} />
|
||||
<link rel="stylesheet" href="/css/blog.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<article class="h-entry">
|
||||
<aside>
|
||||
<span>
|
||||
This is a blog post by
|
||||
<a class="p-author h-card h-card--minimal" href="/">Joe Carstairs</a>.
|
||||
</span>
|
||||
{ updatedDate
|
||||
? (
|
||||
<span>Updated: <FormattedDate date={updatedDateStr} className="dt-updated"/>.</span>
|
||||
<span>Originally published: <FormattedDate date={pubDateStr} className="dt-published"/>.</span>
|
||||
) : <span>Published: <FormattedDate date={pubDateStr} className="dt-published"/>.</span>
|
||||
}
|
||||
<span>Go back to his <a href="/blog">blog</a> if you like.</span>
|
||||
<span><a class="u-url uid" href={canonicalUrl}>Permalink</a></span>
|
||||
</aside>
|
||||
|
||||
<h1 class="h-name">{title}</h1>
|
||||
|
||||
<p class="p-summary" set:html={description} />
|
||||
|
||||
<div class="e-content">
|
||||
<slot />
|
||||
</div>
|
||||
</article>
|
||||
</body>
|
||||
</html>
|
||||
17
website/src/layouts/Page.astro
Normal file
17
website/src/layouts/Page.astro
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
import BaseHead from "../components/BaseHead.astro";
|
||||
|
||||
const { title, description } = Astro.props;
|
||||
---
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-GB">
|
||||
<head>
|
||||
<BaseHead title={title} description={description} />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<slot />
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user