summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <65492573+Sycamost@users.noreply.github.com>2023-08-31 10:28:09 +0100
committerGitHub <noreply@github.com>2023-08-31 10:28:09 +0100
commit244fda8c63356bfcc19a0ea437edf36458e4bc9b (patch)
treea54fe436f4d71cd9d735f34b4f7b8829b1af4456
parent73bbbe8307f9474e751236a44db2dcc6924c5035 (diff)
parent5bfb00f6cdbb369d834dbe27d213d80a821f8036 (diff)
Merge pull request #4 from Sycamost/dev
Changes site to scotsleidassocie.org
-rw-r--r--astro.config.mjs9
-rw-r--r--public/css/modules/footer.css27
-rw-r--r--public/css/modules/index.css3
-rw-r--r--public/css/variables/typography.css2
-rw-r--r--public/images/rss.svg20
-rw-r--r--src/components/Button.astro10
-rw-r--r--src/components/Footer.astro13
-rw-r--r--src/i18n/translations/components/footer.ts15
-rw-r--r--src/i18n/translations/site.ts4
-rw-r--r--src/pages/[locale]/index.astro4
-rw-r--r--src/pages/robots.txt.ts11
11 files changed, 98 insertions, 20 deletions
diff --git a/astro.config.mjs b/astro.config.mjs
index 60e7399..b9895ef 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -4,6 +4,11 @@ import sitemap from '@astrojs/sitemap';
// https://astro.build/config
export default defineConfig({
- integrations: [mdx(), sitemap()],
- site: 'https://www.lallans.co.uk',
+ integrations: [
+ mdx(),
+ sitemap({
+ filter: (page) => !page.includes('payment-success-confirmation'),
+ }),
+ ],
+ site: 'https://scotsleidassocie.org',
});
diff --git a/public/css/modules/footer.css b/public/css/modules/footer.css
new file mode 100644
index 0000000..eb9e108
--- /dev/null
+++ b/public/css/modules/footer.css
@@ -0,0 +1,27 @@
+footer {
+ display: grid;
+ grid-template-columns: repeat(var(--grid-column-count), var(--grid-column-width));
+ gap: var(--grid-gutter-width);
+ align-items: baseline;
+}
+
+.footer__rss-button__label {
+ /* Hides the label from non-screen-readers */
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px;
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border-width: 0;
+}
+
+.footer__rss-button__img {
+ width: calc(8 * var(--relative-eighth-rem));
+}
+
+.footer__back-to-top {
+ grid-column: calc(var(--grid-column-count) - 2) / calc(var(--grid-column-count) + 1);
+} \ No newline at end of file
diff --git a/public/css/modules/index.css b/public/css/modules/index.css
index 1a1c62a..d33754f 100644
--- a/public/css/modules/index.css
+++ b/public/css/modules/index.css
@@ -12,4 +12,5 @@
@import './nav.lg.css' (min-width: 64rem);
@import './skip-to-content.css';
@import './committee.css';
-@import './committee.md.css' (min-width: 48rem); \ No newline at end of file
+@import './committee.md.css' (min-width: 48rem);
+@import './footer.css';
diff --git a/public/css/variables/typography.css b/public/css/variables/typography.css
index fd3452a..810a129 100644
--- a/public/css/variables/typography.css
+++ b/public/css/variables/typography.css
@@ -9,7 +9,7 @@
--font-serif:
Alegreya,
- Sitka,
+ Sitka, "Sitka Display", "Sitka Heading", "Sitka Text",
-apple-system-ui-serif,
"Droid Serif",
ui-serif,
diff --git a/public/images/rss.svg b/public/images/rss.svg
new file mode 100644
index 0000000..9a58156
--- /dev/null
+++ b/public/images/rss.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ id="RSSicon"
+ viewBox="0 0 8 8"
+ width="256"
+ height="256"
+>
+ <title>RSS feed icon</title>
+
+ <style type="text/css">
+ .button {stroke: none; fill: orange;}
+ .symbol {stroke: none; fill: white;}
+ </style>
+
+ <rect class="button" width="8" height="8" rx="1.5"/>
+ <circle class="symbol" cx="2" cy="6" r="1"/>
+ <path class="symbol" d="m 1,4 a 3,3 0 0 1 3,3 h 1 a 4,4 0 0 0 -4,-4 z"/>
+ <path class="symbol" d="m 1,2 a 5,5 0 0 1 5,5 h 1 a 6,6 0 0 0 -6,-6 z"/>
+</svg> \ No newline at end of file
diff --git a/src/components/Button.astro b/src/components/Button.astro
index 9cc3885..20b6087 100644
--- a/src/components/Button.astro
+++ b/src/components/Button.astro
@@ -1,17 +1,13 @@
---
-import type Digit from '$types/Digit';
-
-type LayoutClasses = `grid-span-${Digit}${'' | ' grid-end' | ' grid-prose-end'}`;
-
interface Props {
href: string;
- layoutClasses: LayoutClasses;
+ classNames: string;
}
-const { href, layoutClasses } = Astro.props;
+const { href, classNames } = Astro.props;
---
-<a class={`btn ${layoutClasses}`} href={href}>
+<a class={`btn ${classNames}`} href={href}>
<p>
<slot />
</p>
diff --git a/src/components/Footer.astro b/src/components/Footer.astro
index 62b3b82..40fdddb 100644
--- a/src/components/Footer.astro
+++ b/src/components/Footer.astro
@@ -1,6 +1,6 @@
---
import translate from '$i18n/translate';
-import tSite from '$i18n/translations/site';
+import tComponent from '$i18n/translations/components/footer';
import { getLocaleFromPathOrDefault } from '$lib/getLocaleFromPath';
import Button from './Button.astro';
@@ -9,7 +9,14 @@ const t = translate(locale);
---
<footer>
- <Button layoutClasses="grid-span-3 grid-end" href="#top">
- ▲ {t(tSite, { key: 'back-to-top' })}
+ <a href={`/${locale}/rss.xml`} class="footer__rss-button">
+ <span class="footer__rss-button__label">
+ {t(tComponent, { key: 'subscribe-to-rss' })}
+ </span>
+ <img class="footer__rss-button__img" src="/images/rss.svg" />
+ </a>
+
+ <Button classNames="footer__back-to-top" href="#top">
+ ▲ {t(tComponent, { key: 'back-to-top' })}
</Button>
</footer>
diff --git a/src/i18n/translations/components/footer.ts b/src/i18n/translations/components/footer.ts
new file mode 100644
index 0000000..c7d6055
--- /dev/null
+++ b/src/i18n/translations/components/footer.ts
@@ -0,0 +1,15 @@
+import type { TranslationsDictionary } from '$types/TranslationsDictionary';
+
+const tComponent = {
+ 'back-to-top': {
+ sco: () => 'Back til tap',
+ 'en-GB': () => 'Back to top',
+ },
+ 'subscribe-to-rss': {
+ sco: () => 'Subscrive til oor RSS feed',
+ 'en-GB': () => 'Subscribe to our RSS feed',
+ },
+};
+
+type Raw = typeof tComponent;
+export default tComponent as TranslationsDictionary<Raw>;
diff --git a/src/i18n/translations/site.ts b/src/i18n/translations/site.ts
index 7d48670..59a8cd4 100644
--- a/src/i18n/translations/site.ts
+++ b/src/i18n/translations/site.ts
@@ -32,10 +32,6 @@ const tSite = {
sco: () => 'an',
'en-GB': () => 'and',
},
- 'back-to-top': {
- sco: () => 'Back til tap',
- 'en-GB': () => 'Back to top',
- },
locale: {
sco: ({ locale }: { locale: Locale }) => {
switch (locale) {
diff --git a/src/pages/[locale]/index.astro b/src/pages/[locale]/index.astro
index 39db161..f031e8e 100644
--- a/src/pages/[locale]/index.astro
+++ b/src/pages/[locale]/index.astro
@@ -27,7 +27,7 @@ const mostRecentNewsItem = await getMostRecentNewsItem(locale);
<NewsIndex newsItems={mostRecentNewsItem ? [mostRecentNewsItem] : []} headingLevel="h3" />
{
mostRecentNewsItem && (
- <Button layoutClasses="grid-span-3 grid-prose-end" href={`/${locale}/news`}>
+ <Button classNames="grid-span-3 grid-prose-end" href={`/${locale}/news`}>
{t(tPage, { key: 'aw-news' })} ▶
</Button>
)
@@ -73,7 +73,7 @@ const mostRecentNewsItem = await getMostRecentNewsItem(locale);
<section>
<h2 set:html={t(tPage, { key: 'furthsettins' })} />
<p set:html={t(tPage, { key: 'furthsettins-para' })} />
- <Button layoutClasses="grid-span-3 grid-prose-end" href={`/${locale}/furthsettins`}>
+ <Button classNames="grid-span-3 grid-prose-end" href={`/${locale}/furthsettins`}>
{t(tPage, { key: 'aw-furthsettins' })} ▶
</Button>
</section>
diff --git a/src/pages/robots.txt.ts b/src/pages/robots.txt.ts
new file mode 100644
index 0000000..c7e396f
--- /dev/null
+++ b/src/pages/robots.txt.ts
@@ -0,0 +1,11 @@
+import type { APIContext } from 'astro';
+
+export async function get(context: APIContext) {
+ return new Response(`
+ User-agent: *
+ User-agent: AdsBot-Google
+ Disallow: */payment-success-confirmation
+
+ Sitemap: ${context.site}sitemap-index.xml
+ `);
+}