diff options
| author | Joe Carstairs <65492573+joeacarstairs@users.noreply.github.com> | 2024-05-05 21:00:40 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-05 21:00:40 +0100 |
| commit | 86450b3dd8bec3b76e2b2a03b8cdc8a708c5f3bc (patch) | |
| tree | 7576d8863193369adc87dd80d91a3d5d3f58ede1 /website/src/layouts | |
| parent | 579e12cfebce9a70ab2adf5842e2673673a707d2 (diff) | |
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>
Diffstat (limited to 'website/src/layouts')
| -rw-r--r-- | website/src/layouts/BlogPost.astro | 50 | ||||
| -rw-r--r-- | website/src/layouts/Page.astro | 17 |
2 files changed, 67 insertions, 0 deletions
diff --git a/website/src/layouts/BlogPost.astro b/website/src/layouts/BlogPost.astro new file mode 100644 index 0000000..b709356 --- /dev/null +++ b/website/src/layouts/BlogPost.astro @@ -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> diff --git a/website/src/layouts/Page.astro b/website/src/layouts/Page.astro new file mode 100644 index 0000000..4e5f3bb --- /dev/null +++ b/website/src/layouts/Page.astro @@ -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> + |
