summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <jcarstairs@scottlogic.com>2023-08-01 20:21:11 +0100
committerJoe Carstairs <jcarstairs@scottlogic.com>2023-08-02 18:57:52 +0100
commit227eac690914886c5dd6d9a8bd627534c86b4a5d (patch)
tree36927e42c47b8e1c7c0135bf358e954b0bd8e41a
parent6bd4846b71944add485433703d85982b2396d9ad (diff)
Initial commit
-rw-r--r--.vscode/extensions.json4
-rw-r--r--.vscode/launch.json11
-rw-r--r--README.md57
-rw-r--r--frontend/.gitignore (renamed from .gitignore)3
-rw-r--r--frontend/README.md8
-rw-r--r--frontend/astro.config.mjs (renamed from astro.config.mjs)0
-rw-r--r--frontend/package-lock.json (renamed from package-lock.json)0
-rw-r--r--frontend/package.json (renamed from package.json)3
-rw-r--r--frontend/public/favicon.icobin0 -> 15406 bytes
-rw-r--r--frontend/public/main.css308
-rw-r--r--frontend/public/normalize.css353
-rw-r--r--frontend/src/components/Footer.astro8
-rw-r--r--frontend/src/env.d.ts (renamed from src/env.d.ts)0
-rw-r--r--frontend/src/layouts/Layout.astro27
-rw-r--r--frontend/src/pages/index.astro52
-rw-r--r--frontend/tsconfig.json (renamed from tsconfig.json)0
-rw-r--r--public/favicon.svg9
-rw-r--r--src/components/Card.astro61
-rw-r--r--src/layouts/Layout.astro39
-rw-r--r--src/pages/index.astro122
20 files changed, 767 insertions, 298 deletions
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index 22a1505..0000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "recommendations": ["astro-build.astro-vscode"],
- "unwantedRecommendations": []
-}
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index d642209..0000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "version": "0.2.0",
- "configurations": [
- {
- "command": "./node_modules/.bin/astro dev",
- "name": "Development server",
- "request": "launch",
- "type": "node-terminal"
- }
- ]
-}
diff --git a/README.md b/README.md
index 8394557..b58db7a 100644
--- a/README.md
+++ b/README.md
@@ -1,54 +1,11 @@
-# Astro Starter Kit: Basics
+# The Wabsteid o the Scots Leid Associe
-```
-npm create astro@latest -- --template basics
-```
-
-[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics)
-[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics)
-[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json)
-
-> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
+## Gettin yokit
-![just-the-basics](https://github.com/withastro/astro/assets/2244813/a0a5533c-a856-4198-8470-2d67b1d7c554)
-
-## 🚀 Project Structure
-
-Inside of your Astro project, you'll see the following folders and files:
-
-```
-/
-├── public/
-│ └── favicon.svg
-├── src/
-│ ├── components/
-│ │ └── Card.astro
-│ ├── layouts/
-│ │ └── Layout.astro
-│ └── pages/
-│ └── index.astro
-└── package.json
+```bash
+git clone https://github.com/jcarstairs-scottlogic/lallans-wabsteid.git
+cd lallans-wabsteid
+npm run setup
+npm run dev
```
-Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
-
-There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
-
-Any static assets, like images, can be placed in the `public/` directory.
-
-## 🧞 Commands
-
-All commands are run from the root of the project, from a terminal:
-
-| Command | Action |
-| :------------------------ | :----------------------------------------------- |
-| `npm install` | Installs dependencies |
-| `npm run dev` | Starts local dev server at `localhost:3000` |
-| `npm run build` | Build your production site to `./dist/` |
-| `npm run preview` | Preview your build locally, before deploying |
-| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
-| `npm run astro -- --help` | Get help using the Astro CLI |
-
-## 👀 Want to learn more?
-
-Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
diff --git a/.gitignore b/frontend/.gitignore
index 6d4c0aa..a4cd384 100644
--- a/.gitignore
+++ b/frontend/.gitignore
@@ -19,3 +19,6 @@ pnpm-debug.log*
# macOS-specific files
.DS_Store
+
+# editors
+.vscode
diff --git a/frontend/README.md b/frontend/README.md
new file mode 100644
index 0000000..21b8e93
--- /dev/null
+++ b/frontend/README.md
@@ -0,0 +1,8 @@
+# frontend
+
+This is the frontend o the Scots Leid Associe wabsteid. It uses [SvelteKit](https://kit.svelte.dev/)
+wi static site generation.
+
+## Get yokit
+
+`npm i && npm run dev` \ No newline at end of file
diff --git a/astro.config.mjs b/frontend/astro.config.mjs
index 882e651..882e651 100644
--- a/astro.config.mjs
+++ b/frontend/astro.config.mjs
diff --git a/package-lock.json b/frontend/package-lock.json
index 8e4cc7f..8e4cc7f 100644
--- a/package-lock.json
+++ b/frontend/package-lock.json
diff --git a/package.json b/frontend/package.json
index 577ffa8..b575b4b 100644
--- a/package.json
+++ b/frontend/package.json
@@ -1,7 +1,6 @@
{
- "name": "lallans-wabsteid-astro",
"type": "module",
- "version": "0.0.1",
+ "private": "true",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico
new file mode 100644
index 0000000..d8c1f5c
--- /dev/null
+++ b/frontend/public/favicon.ico
Binary files differ
diff --git a/frontend/public/main.css b/frontend/public/main.css
new file mode 100644
index 0000000..11e81b2
--- /dev/null
+++ b/frontend/public/main.css
@@ -0,0 +1,308 @@
+:root {
+ --color-primary-50: #fdd3fd;
+ --color-primary-100: #f49ff4;
+ --color-primary-200: #e372e3;
+ /* --color-primary-300: #e372e3;
+ --color-primary-400: #ba40ba; */
+ --color-primary-500: #8f3d8f;
+ /* --color-primary-600: #6c356c;
+ --color-primary-700: #5b335b; */
+ --color-primary-800: #442c44;
+ --color-primary-900: #251d25;
+
+ --max-width-prose-content: 35rem;
+
+ --breakpoint-sm: 640px;
+ --breakpoint-lg: 1280px;
+
+ --spacing-block-lg: 2rem;
+ --spacing-block-md: 1.25rem;
+ --spacing-block-sm: 0.375rem;
+ --spacing-inline-lg: 5rem;
+ --spacing-inline-md: 3rem;
+ --spacing-inline-sm: 1.5rem;
+
+ --base-font-size-min: 16px;
+ --base-font-size-max: 30px;
+
+ --font-size-sm: 0.875rem;
+
+ scroll-behavior: smooth;
+ font-family: 'Alegreya Sans', Lato, Calibri, 'sans-serif';
+ font-size: var(--base-font-size-min);
+ font-weight: 300;
+ color: var(--color-primary-50);
+ background-color: var(--color-primary-900);
+}
+
+@media screen and (min-width: var(--breakpoint-sm)) {
+ :root {
+ --sm-to-lg: calc(var(--breakpoint-lg) - var(--breakpoint-sm));
+ --this-to-lg: calc(100vw - var(--base-font-size-min));
+ --base-font-size-range: calc(var(--base-font-size-max) - var(--base-font-size-min));
+ --font-size-to-add: calc(var(--base-font-size-range) * (var(--sm-to-lg) / var(--this-to-lg)));
+ font-size: calc(var(--base-font-size-min) + var(--font-size-to-add));
+ }
+}
+
+:is(main, article) {
+ background-color: var(--color-primary-50);
+ color: var(--color-primary-900);
+ container-name: main;
+ container-type: inline-size;
+}
+
+:is(main, article) :is(section, header):not(:is(section, header) :is(section, header)) {
+ padding-inline: max(10%, calc((100% - var(--max-width-prose-content)) / 2));
+}
+
+:is(main, article)
+ :is(section, header):not(.section--full-width):not(:is(section, header) :is(section, header))
+ > p {
+ max-width: var(--max-width-prose-content);
+}
+
+:is(main, article) :is(section, header):not(:is(section, header) :is(section, header)) {
+ padding-block: var(--spacing-block-lg) var(--spacing-inline-lg);
+}
+
+:is(main, article) section:nth-child(even):not(:is(section, header) :is(section, header)) {
+ background-color: var(--color-primary-100);
+}
+
+.title, h1, h2, h3, h4 {
+ font-family: Alegreya, 'Goudy Old Style', Garamond, serif;
+}
+
+.title {
+ font-size: 3.75rem;
+ font-weight: 700;
+ padding-block-start: var(--spacing-block-sm);
+}
+
+.title--small {
+ font-size: 1.25rem;
+ padding-block-start: 0;
+}
+
+h1, h2, h3, h4 {
+ padding-block-start: var(--spacing-block-lg);
+}
+
+h1:first {
+ padding-block-start: var(--spacing-block-sm);
+}
+
+h1 {
+ font-size: 2.5rem;
+ font-weight: 600;
+}
+
+h2 {
+ font-size: 2rem;
+ font-weight: 500;
+}
+
+h3 {
+ font-size: 1.5rem;
+ font-weight: 400;
+}
+
+h4 {
+ font-size: 1.125rem;
+ font-weight: 400;
+}
+
+p:not(:first) {
+ padding-block-start: var(--spacing-block-md);
+}
+
+.link {
+ text-decoration: underline;
+ text-decoration-color: var(--color-primary-900);
+ border: dotted transparent 2px;
+ border-radius: 0.375rem;
+ transition:
+ text-decoration-color 300ms,
+ color 300ms,
+ border-color 300ms,
+ font-weight 300ms;
+}
+
+.link:hover {
+ text-decoration-color: transparent;
+}
+
+.link:focus {
+ border-color: var(--color-primary-500);
+}
+
+.link:active {
+ font-weight: 700;
+ color: var(--color-primary-100);
+}
+
+.btn {
+ border: solid 2px var(--color-primary-900);
+ font-weight: 500;
+ text-decoration: underline;
+ padding-inline: 0.5rem;
+ padding-block: 0.25rem;
+ background-color: transparent;
+ transition:
+ background-color 300ms,
+ text-decoration-color 300ms,
+ transform 50ms;
+}
+
+.btn:hover {
+ background-color: var(--color-primary-200);
+ text-decoration-color: transparent;
+}
+
+.btn:active {
+ transform: scale(1.1, 1.1);
+}
+
+.btn--dark {
+ border-color: var(--color-primary-50);
+}
+
+.btn--dark:hover {
+ background-color: var(--color-primary-800);
+}
+
+td {
+ padding-block-start: var(--spacing-block-sm);
+}
+
+hr {
+ width: 33%;
+ margin-block: auto;
+ margin-inline: --spacing-inline-sm;
+}
+
+ol li {
+ list-style-type: decimal;
+ margin-inline-start: --spacing-inline-md;
+}
+
+.schedule dt {
+ font-weight: 500;
+ margin-block-start: var(--spacing-block-md);
+ text-align: center;
+}
+
+.schedule dd {
+ text-align: center;
+}
+
+.schedule dd:last-child {
+ margin-block-end: var(--spacing-block-md);
+}
+
+@container main (min-width: 20rem) {
+ .schedule {
+ display: grid;
+ grid-template-columns: fit-content(5rem) 1fr;
+ grid-column-gap: var(--spacing-inline-sm);
+ grid-row-gap: var(--spacing-block-sm);
+ }
+
+ .schedule dt {
+ grid-column-start: 1;
+ margin: 0;
+ text-align: end;
+ }
+
+ .schedule dd {
+ grid-column-start: 2;
+ text-align: start;
+ }
+
+ .schedule dd:last-child {
+ margin-block-end: 0;
+ }
+}
+
+@container main (min-width: 20rem) {
+ .lallans-issue__primary-info {
+ display: grid;
+ grid-template-columns: 1fr min-content;
+ grid-template-rows: min-content min-content;
+ grid-gap: 1rem;
+ }
+
+ .lallans-issue__primary-info header {
+ grid-row: 1 / 3;
+ }
+
+ .lallans-issue__img {
+ min-width: 10rem;
+ }
+}
+
+.lallans-issue__img {
+ height: auto;
+ max-width: 10rem;
+}
+
+.news-post {
+ margin-block: 1.5rem;
+ margin-inline: 0.5rem;
+ width: 30%;
+ border: solid 2px var(--color-primary-800);
+ color: var(--color-primary-800);
+ overflow: hidden;
+ text-overflow: ellipsis;
+ padding-inline: var(--spacing-inline-sm);
+ padding-block: var(--spacing-block-sm);
+ transition:
+ background-color 300ms,
+ color 300ms,
+ transform 50ms;
+}
+
+.news-post:hover {
+ background-color: var(--color-primary-50);
+ color: var(--color-primary-900);
+}
+
+.news-post:active {
+ transform: scale(1.1, 1.1);
+}
+
+.news-post__title {
+ padding-block: 0;
+ text-decoration: underline;
+ transition: text-decoration 300ms;
+}
+
+.news-post:hover .news-post__title {
+ text-decoration-color: transparent;
+}
+
+.news-post__summary {
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 3;
+ white-space: normal;
+ font-size: var(--font-size-sm);
+}
+
+footer {
+ padding-block-start: var(--spacing-block-md);
+ padding-bottom: 8rem;
+ margin-inline: 10%;
+}
+
+.back-to-top-link {
+ width: fit-content;
+ margin-inline: auto;
+}
+
+@media (min-width: var(--breakpoint-sm)) {
+ .back-to-top-link {
+ margin-inline-end: 0;
+ }
+} \ No newline at end of file
diff --git a/frontend/public/normalize.css b/frontend/public/normalize.css
new file mode 100644
index 0000000..a10992b
--- /dev/null
+++ b/frontend/public/normalize.css
@@ -0,0 +1,353 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+ ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+
+ html {
+ line-height: 1.15; /* 1 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+ ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
+ */
+
+body {
+ margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+
+main {
+ display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+}
+
+/* Grouping content
+ ========================================================================== */
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+ box-sizing: content-box; /* 1 */
+ height: 0; /* 1 */
+ overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+ ========================================================================== */
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+
+a {
+ background-color: transparent;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+ border-bottom: none; /* 1 */
+ text-decoration: underline; /* 2 */
+ text-decoration: underline dotted; /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+ font-family: monospace, monospace; /* 1 */
+ font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+ font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/* Embedded content
+ ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+
+img {
+ border-style: none;
+}
+
+/* Forms
+ ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit; /* 1 */
+ font-size: 100%; /* 1 */
+ line-height: 1.15; /* 1 */
+ margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+ overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+ text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ border-style: none;
+ padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+ outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+ padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ * `fieldset` elements in all browsers.
+ */
+
+legend {
+ box-sizing: border-box; /* 1 */
+ color: inherit; /* 2 */
+ display: table; /* 1 */
+ max-width: 100%; /* 1 */
+ padding: 0; /* 3 */
+ white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+ vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+
+textarea {
+ overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button; /* 1 */
+ font: inherit; /* 2 */
+}
+
+/* Interactive
+ ========================================================================== */
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+
+details {
+ display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+ display: list-item;
+}
+
+/* Misc
+ ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+
+template {
+ display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+
+[hidden] {
+ display: none;
+}
+
+:visited {
+ color: inherit;
+} \ No newline at end of file
diff --git a/frontend/src/components/Footer.astro b/frontend/src/components/Footer.astro
new file mode 100644
index 0000000..9f8b9b7
--- /dev/null
+++ b/frontend/src/components/Footer.astro
@@ -0,0 +1,8 @@
+---
+---
+
+<footer>
+ <p class="btn btn--dark back-to-top-link">
+ <a href="#main">▴ Back til tap</a>
+ </p>
+</footer> \ No newline at end of file
diff --git a/src/env.d.ts b/frontend/src/env.d.ts
index f964fe0..f964fe0 100644
--- a/src/env.d.ts
+++ b/frontend/src/env.d.ts
diff --git a/frontend/src/layouts/Layout.astro b/frontend/src/layouts/Layout.astro
new file mode 100644
index 0000000..047538c
--- /dev/null
+++ b/frontend/src/layouts/Layout.astro
@@ -0,0 +1,27 @@
+---
+import Footer from '../components/Footer.astro';
+
+interface Props {
+ title: string;
+}
+
+const { title } = Astro.props;
+---
+
+<!DOCTYPE html>
+<html lang="sco">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="description" content="The wabsteid o the Scots Leid Associe">
+ <meta name="viewport" content="width=device-width" />
+ <link rel="icon" href="/favicon.ico" />
+ <link rel="stylesheet" href="/public/normalize.css" />
+ <link rel="stylesheet" href="/public/main.css" />
+ <meta name="generator" content={Astro.generator} />
+ <title>{title} | Scots Leid Associe</title>
+ </head>
+ <body>
+ <slot />
+ <Footer />
+ </body>
+</html> \ No newline at end of file
diff --git a/frontend/src/pages/index.astro b/frontend/src/pages/index.astro
new file mode 100644
index 0000000..d163d63
--- /dev/null
+++ b/frontend/src/pages/index.astro
@@ -0,0 +1,52 @@
+---
+import Layout from '../layouts/Layout.astro';
+---
+
+<Layout title="Welcome to Astro.">
+ <main id="main">
+ <section>
+ <h1 class="title">The Scots Leid Associe</h1>
+ <h1>Tap-level heidin</h1>
+ <h2>Seicont-level heidin</h2>
+ <h3>Third-level heidin</h3>
+ <h4>Fowert-level heidin</h4>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ </p>
+ <a class="link" href="#">Lairn mair!</a>
+ <p>
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
+ nisi ut aliquip ex ea commodo consequat.
+ </p>
+ <button class="btn">Dae somethin excitin...</button>
+ <p>
+ Duis aute irure dolor in
+ reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
+ culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ </section>
+ <section>
+ <h2>Seicont-level heidin</h2>
+ <h3>Third-level heidin</h3>
+ <h4>Fowert-level heidin</h4>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+ sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+ </p>
+ <a class="link" href="#">Lairn mair!</a>
+ <p>
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
+ nisi ut aliquip ex ea commodo consequat.
+ </p>
+ <button class="btn">Dae somethin excitin...</button>
+ <p>
+ Duis aute irure dolor in
+ reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
+ culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ </section>
+ </main>
+</Layout> \ No newline at end of file
diff --git a/tsconfig.json b/frontend/tsconfig.json
index 77da9dd..77da9dd 100644
--- a/tsconfig.json
+++ b/frontend/tsconfig.json
diff --git a/public/favicon.svg b/public/favicon.svg
deleted file mode 100644
index f157bd1..0000000
--- a/public/favicon.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
- <path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
- <style>
- path { fill: #000; }
- @media (prefers-color-scheme: dark) {
- path { fill: #FFF; }
- }
- </style>
-</svg>
diff --git a/src/components/Card.astro b/src/components/Card.astro
deleted file mode 100644
index bd6d597..0000000
--- a/src/components/Card.astro
+++ /dev/null
@@ -1,61 +0,0 @@
----
-interface Props {
- title: string;
- body: string;
- href: string;
-}
-
-const { href, title, body } = Astro.props;
----
-
-<li class="link-card">
- <a href={href}>
- <h2>
- {title}
- <span>&rarr;</span>
- </h2>
- <p>
- {body}
- </p>
- </a>
-</li>
-<style>
- .link-card {
- list-style: none;
- display: flex;
- padding: 1px;
- background-color: #23262d;
- background-image: none;
- background-size: 400%;
- border-radius: 7px;
- background-position: 100%;
- transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1);
- box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
- }
- .link-card > a {
- width: 100%;
- text-decoration: none;
- line-height: 1.4;
- padding: calc(1.5rem - 1px);
- border-radius: 8px;
- color: white;
- background-color: #23262d;
- opacity: 0.8;
- }
- h2 {
- margin: 0;
- font-size: 1.25rem;
- transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
- }
- p {
- margin-top: 0.5rem;
- margin-bottom: 0;
- }
- .link-card:is(:hover, :focus-within) {
- background-position: 0;
- background-image: var(--accent-gradient);
- }
- .link-card:is(:hover, :focus-within) h2 {
- color: rgb(var(--accent-light));
- }
-</style>
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro
deleted file mode 100644
index 3345b88..0000000
--- a/src/layouts/Layout.astro
+++ /dev/null
@@ -1,39 +0,0 @@
----
-interface Props {
- title: string;
-}
-
-const { title } = Astro.props;
----
-
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="description" content="Astro description">
- <meta name="viewport" content="width=device-width" />
- <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
- <meta name="generator" content={Astro.generator} />
- <title>{title}</title>
- </head>
- <body>
- <slot />
- </body>
-</html>
-<style is:global>
- :root {
- --accent: 136, 58, 234;
- --accent-light: 224, 204, 250;
- --accent-dark: 49, 10, 101;
- --accent-gradient: linear-gradient(45deg, rgb(var(--accent)), rgb(var(--accent-light)) 30%, white 60%);
- }
- html {
- font-family: system-ui, sans-serif;
- background: #13151A;
- background-size: 224px;
- }
- code {
- font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
- Bitstream Vera Sans Mono, Courier New, monospace;
- }
-</style>
diff --git a/src/pages/index.astro b/src/pages/index.astro
deleted file mode 100644
index fa55169..0000000
--- a/src/pages/index.astro
+++ /dev/null
@@ -1,122 +0,0 @@
----
-import Layout from '../layouts/Layout.astro';
-import Card from '../components/Card.astro';
----
-
-<Layout title="Welcome to Astro.">
- <main>
- <svg
- class="astro-a"
- width="495"
- height="623"
- viewBox="0 0 495 623"
- fill="none"
- xmlns="http://www.w3.org/2000/svg"
- >
- <path
- fill-rule="evenodd"
- clip-rule="evenodd"
- d="M167.19 364.254C83.4786 364.254 0 404.819 0 404.819C0 404.819 141.781 19.4876 142.087 18.7291C146.434 7.33701 153.027 0 162.289 0H332.441C341.703 0 348.574 7.33701 352.643 18.7291C352.92 19.5022 494.716 404.819 494.716 404.819C494.716 404.819 426.67 364.254 327.525 364.254L264.41 169.408C262.047 159.985 255.147 153.581 247.358 153.581C239.569 153.581 232.669 159.985 230.306 169.408L167.19 364.254ZM160.869 530.172C160.877 530.18 160.885 530.187 160.894 530.195L160.867 530.181C160.868 530.178 160.868 530.175 160.869 530.172ZM136.218 411.348C124.476 450.467 132.698 504.458 160.869 530.172C160.997 529.696 161.125 529.242 161.248 528.804C161.502 527.907 161.737 527.073 161.917 526.233C165.446 509.895 178.754 499.52 195.577 500.01C211.969 500.487 220.67 508.765 223.202 527.254C224.141 534.12 224.23 541.131 224.319 548.105C224.328 548.834 224.337 549.563 224.347 550.291C224.563 566.098 228.657 580.707 237.264 593.914C245.413 606.426 256.108 615.943 270.749 622.478C270.593 621.952 270.463 621.508 270.35 621.126C270.045 620.086 269.872 619.499 269.685 618.911C258.909 585.935 266.668 563.266 295.344 543.933C298.254 541.971 301.187 540.041 304.12 538.112C310.591 533.854 317.059 529.599 323.279 525.007C345.88 508.329 360.09 486.327 363.431 457.844C364.805 446.148 363.781 434.657 359.848 423.275C358.176 424.287 356.587 425.295 355.042 426.275C351.744 428.366 348.647 430.33 345.382 431.934C303.466 452.507 259.152 455.053 214.03 448.245C184.802 443.834 156.584 436.019 136.218 411.348Z"
- fill="url(#paint0_linear_1805_24383)"></path>
- <defs>
- <linearGradient
- id="paint0_linear_1805_24383"
- x1="247.358"
- y1="0"
- x2="247.358"
- y2="622.479"
- gradientUnits="userSpaceOnUse"
- >
- <stop stop-opacity="0.9"></stop>
- <stop offset="1" stop-opacity="0.2"></stop>
- </linearGradient>
- </defs>
- </svg>
- <h1>Welcome to <span class="text-gradient">Astro</span></h1>
- <p class="instructions">
- To get started, open the directory <code>src/pages</code> in your project.<br />
- <strong>Code Challenge:</strong> Tweak the "Welcome to Astro" message above.
- </p>
- <ul role="list" class="link-card-grid">
- <Card
- href="https://docs.astro.build/"
- title="Documentation"
- body="Learn how Astro works and explore the official API docs."
- />
- <Card
- href="https://astro.build/integrations/"
- title="Integrations"
- body="Supercharge your project with new frameworks and libraries."
- />
- <Card
- href="https://astro.build/themes/"
- title="Themes"
- body="Explore a galaxy of community-built starter themes."
- />
- <Card
- href="https://astro.build/chat/"
- title="Community"
- body="Come say hi to our amazing Discord community. ❤️"
- />
- </ul>
- </main>
-</Layout>
-
-<style>
- main {
- margin: auto;
- padding: 1rem;
- width: 800px;
- max-width: calc(100% - 2rem);
- color: white;
- font-size: 20px;
- line-height: 1.6;
- }
- .astro-a {
- position: absolute;
- top: -32px;
- left: 50%;
- transform: translatex(-50%);
- width: 220px;
- height: auto;
- z-index: -1;
- }
- h1 {
- font-size: 4rem;
- font-weight: 700;
- line-height: 1;
- text-align: center;
- margin-bottom: 1em;
- }
- .text-gradient {
- background-image: var(--accent-gradient);
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- background-size: 400%;
- background-position: 0%;
- }
- .instructions {
- margin-bottom: 2rem;
- border: 1px solid rgba(var(--accent-light), 25%);
- background: linear-gradient(rgba(var(--accent-dark), 66%), rgba(var(--accent-dark), 33%));
- padding: 1.5rem;
- border-radius: 8px;
- }
- .instructions code {
- font-size: 0.8em;
- font-weight: bold;
- background: rgba(var(--accent-light), 12%);
- color: rgb(var(--accent-light));
- border-radius: 4px;
- padding: 0.3em 0.4em;
- }
- .instructions strong {
- color: rgb(var(--accent-light));
- }
- .link-card-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(24ch, 1fr));
- gap: 2rem;
- padding: 0;
- }
-</style>