summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <65492573+Sycamost@users.noreply.github.com>2023-12-01 19:31:08 +0000
committerGitHub <noreply@github.com>2023-12-01 19:31:08 +0000
commit250152cc1b6a67bd18f4b211856fa98ec06d8eda (patch)
tree293184434ccfd872b900b48f2599cf841e626a11
parent40f2793cb6049a5b81b5eac48fdc1335bd33cdfc (diff)
Update production (#37)
* Edit README (#28) * Corrects Lallans instructions * Adds instructions for adding a Scotsoun release * Documents infrastructure * Better contribution guidance * Update README (#29) * Updates references to branch names in README * ESLint ignores Markdown * Documents Coding Style * Specifies upstream branch in README where salient * Fixes Sangschaw winners list in Eiks 30 (#35) * Fixes Sangschaw winners list in Eiks 30 (#36) * Fixes Sangschaw winners list in Eiks 30 (#38)
-rw-r--r--.eslintrc.json2
-rw-r--r--README.md178
-rw-r--r--src/content/news/en-GB/2023-03-17-eiks-an-ens-30.mdx41
-rw-r--r--src/content/news/sco/2023-03-17-eiks-an-ens-30.mdx28
4 files changed, 201 insertions, 48 deletions
diff --git a/.eslintrc.json b/.eslintrc.json
index f0cdd75..a055dd2 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -8,7 +8,7 @@
"plugin:astro/recommended",
"plugin:@typescript-eslint/recommended"
],
- "ignorePatterns": ["api"],
+ "ignorePatterns": ["api", "*.md"],
"overrides": [
{
"files": ["*.astro"],
diff --git a/README.md b/README.md
index 69c8925..f24a853 100644
--- a/README.md
+++ b/README.md
@@ -11,59 +11,143 @@ git clone https://github.com/Sycamost/lallans-wabsteid-astro.git \
&& npm run dev
```
-## All you need to edit the website
+## Contributing
-* Has a text editor or IDE and can use it to edit text files.
-* Can write Markdown. (Beginners can learn in an afternoon by following the
+### All you need to edit the website
+
+- Has a text editor or IDE and can use it to edit text files.
+- Can write Markdown. (Beginners can learn in an afternoon by following the
[getting started guide](https://www.markdownguide.org/getting-started/)!)
-* Has a [GitHub](https://github.com/join) account.
-* Can use Git to clone, pull, push, stage files, commit staged files, branch and
- checkout. Here's a great [beginner's tutorial to Git](https://www.atlassian.com/git)
- and here's another great, interactive
- [Git tutorial focusing on branching](https://learngitbranching.js.org/).
-* Can use GitHub to make a fork and make a Pull Request back into the upstream
- repository. Here's
- [a basic GitHub tutorial](https://docs.github.com/en/get-started/quickstart/hello-world)
- and here's a
- [GitHub guide to forking](https://docs.github.com/en/get-started/quickstart/fork-a-repo).
-* Can use a [command-line terminal](https://www.freecodecamp.org/news/command-line-for-beginners/).
-* Can use [NPM](https://nodesource.com/blog/an-absolute-beginners-guide-to-using-npm/)
- to install dependencies and run scripts.
-
-## Writing a news post
+- Has a [GitHub](https://github.com/join) account.
+- Can use Git to clone, pull, push, stage files, commit staged files, branch and checkout. Here's a
+ great [beginner's tutorial to Git](https://www.atlassian.com/git) and here's another great,
+ interactive [Git tutorial focusing on branching](https://learngitbranching.js.org/).
+- Can use GitHub to make a fork and make a Pull Request back into the upstream repository. Here's
+ [a basic GitHub tutorial](https://docs.github.com/en/get-started/quickstart/hello-world) and
+ here's a [GitHub guide to forking](https://docs.github.com/en/get-started/quickstart/fork-a-repo).
+- Can use a [command-line terminal](https://www.freecodecamp.org/news/command-line-for-beginners/).
+- Can use [NPM](https://nodesource.com/blog/an-absolute-beginners-guide-to-using-npm/) to install
+ dependencies and run scripts.
+
+### General guidance
1. If you haven't already, fork the repository, and clone your fork.
-2. Copy and paste an existing news article in both English and Scots. You will
- find these in `src/content/news/en-GB` and `src/content/news/scots` respectively.
-3. Rename the news article following the existing pattern, which is the date of
- publication in `YYYY-MM-DD` format followed by the title in
+2. Make a suitably named branch on your fork.
+3. Make your desired changes (see sections below for common cases).
+4. Commit and push them on your branch.
+5. Make a Pull Request to merge your changes into `Sycamost/deployment-staging`.
+6. A code owner (probably the Scots Language Society Webmaster) will review your Pull Request, ask
+ for any necessary changes, and when satisfied, merge it into `Sycamost/deployment-staging`. (This will
+ update the [staging deployment](#cicd) on
+ [staging.scotsleidassocie.org](https://staging.scotsleidassocie.org).)
+7. Code owners will merge `Sycamost/deployment-staging` into `Sycamost/deployment-production` at their discretion.
+ (This will update the production deployment on
+ [scotsleidassocie.org](https://scotsleidassocie.org).)
+
+### Coding style
+
+Coding style is enforced by ESLint and Prettier. These tools are run on a commit hook, and you will
+not be able to commit if they fail. Please refrain from using `git commit --no-verify` except in
+extraordinary cases, and make it clear in your Pull Request when you have done so.
+
+### Writing a news post
+
+Follow this guidance alongside the [general guidance](#general-guidance).
+
+1. Copy and paste an existing news article in both English and Scots. You will find these in
+ `src/content/news/en-GB` and `src/content/news/scots` respectively.
+2. Rename the news article following the existing pattern, which is the date of publication in
+ `YYYY-MM-DD` format followed by the title in
[kebab case](https://www.freecodecamp.org/news/snake-case-vs-camel-case-vs-pascal-case-vs-kebab-case-whats-the-difference/#whatiskebabcaseanamekebabcasea)
- and the `.mdx` file extension. For example, `2023-12-24-eiks-an-ens-3000.mdx`
- would be Eiks an Ens 3000, published on the 24th of December 2023.
-4. Edit the news articles to contain your desired content.
-5. Check it looks OK by running the website locally with `npm install && npm start`.
-6. When it looks OK, stage, commit and push your new news articles.
-7. Make a pull request to merge your new news articles into the `dev` branch upstream.
-8. Once a code owner approves your pull request, it'll get merged into `dev`, and
- (unless you yourself are a code owner) it is from that point no longer your
- problem! From that point, it'll be live on
- [staging.scotsleidassocie.org](https://staging.scotsleidassocie.org),
- and it'll go live on [scotsleidassocie.org](https://scotsleidassocie.org) once
- a code owner merges `dev` into `main`.
-
-## Adding an issue of Lallans
+ and the `.mdx` file extension. For example, `2023-12-24-eiks-an-ens-3000.mdx` would be Eiks an
+ Ens 3000, published on the 24th of December 2023.
+3. Edit the news articles to contain your desired content.
+4. Check it looks OK by running the website locally with `npm install && npm start`.
+
+### Adding an issue of Lallans
+
+Follow this guidance alongside the [general guidance](#general-guidance).
1. Add the issue number to `src/types/LallansIssueNumber.d.ts`.
-2. Add the original issue cover photo as `src/images/issueXYZ.jpg`, where `XYZ`
- is the issue number. Most of the examples are `.jpg`, but the file type isn't important.
-3. Make copies of the cover image that are scaled to 192 and 274 pixels wide.
- Name them `issueXYZ-192w.jpg` and `issueXYZ-274w.jpg` respectively.
-4. Copy one of the existing Lallans issues in `src/data/lallans` and name the
- copy `issueXYZ.ts`.
-5. Edit the file you just made with the new issue's information, including the
- locations of the correctly scaled cover images that you just made.
+2. Add the original issue cover photo as `src/images/lallans/issueXYZ.jpg`, where `XYZ` is the issue
+ number. Most of the examples are `.jpg`, but the file type isn't important.
+3. Make copies of the cover image that are scaled to 192 and 274 pixels wide. Name them
+ `issueXYZ-192w.jpg` and `issueXYZ-274w.jpg` respectively.
+4. Copy one of the existing Lallans issues in `src/data/lallans` and name the copy `issueXYZ.ts`.
+5. Edit the file you just made with the new issue's information, including the locations of the
+ correctly scaled cover images that you just made.
6. Import that data file into the Lallans data index file, `src/data/lallans/index.ts`.
-7. Check that everything's working: the issue should appear at the top on the
- Lallans page, `/furthsettins/lallans`, and the issue information should appear
- at `/furthsettins/lallans/XYZ`. Check both the English and Scots versions.
+7. Check that everything's working: the issue should appear at the top on the Lallans page,
+ `/furthsettins/lallans`, and the issue information should appear at `/furthsettins/lallans/XYZ`.
+ Check both the English and Scots versions.
+
+### Adding a Scotsoun release
+
+Follow this guidance alongside the [general guidance](#general-guidance).
+
+1. Add the release ID to `src/types/ScotsounId.d.ts`.
+2. Add the original cover image as `src/images/scotsoun/scotsounXYZ.jpg`, where `XYZ` is the release
+ ID. Most of the examples are `.jpg`, but the file type isn't important.
+3. Make a copy of the cover image which is scaled to 192 pixels wide, and name it
+ `scotsounXYZ-192w.jpg`.
+4. Copy one of the existing Scotsoun releases in `src/data/scotsoun` and name the copy
+ `scotsounXYZ.ts`.
+5. Edit the file you just made with the new release's information, including the location of the
+ correctly scaled cover image that you just made.
+6. Import that data file into the Scotsoun data index file, `src/data/scotsoun/index.ts`.
+7. Check that everything's working: the release should appear at the top on the Scotsoun page,
+ `/furthsettins/scotsoun`, and the release information should appear at
+ `/furthsettins/scotsoun/XYZ`. Check both the English and Scots versions.
+
+## Infrastructure
+
+The deployment infrastructure for the website is in four parts: the domains, the SSL certificates,
+the hosting, and the CI/CD.
+
+### Domains
+
+The website is served on two domain names: [lallans.co.uk](https://www.lallans.co.uk) and
+[scotsleidassocie.org](https://scotsleidassocie.org). The lallans.co.uk domain is legacy, but will
+redirect to scotsleidassocie.org until at least September 2024.
+
+Firstly, lallans.co.uk is registered with [JoomlaWired](https://www.joomlawired.com), a hosting
+company specialising in hosting Joomla! and WordPress websites. We used to host a Joomla! website
+with them, hence the connection. We don't host anything with them any more, but we still rent the
+lallans.co.uk domain from them. The [Scots Language Society Webmaster](mailto:lallans@hotmail.co.uk)
+should have access to JoomlaWired.
+
+Redirecting requests to lallans.co.uk to scotsleidassocie.org is handled by [Vercel](#hosting).
+
+Meanwhile, scotsleidassocie.org is rented from AWS. Again, the Webmaster should have access to the
+AWS Console.
+
+### SSL certificates
+
+The SSL certificate for scotsleidassocie.org is bought from AWS Certificates Manager. Again, the
+Webmaster should have access to the AWS Console.
+
+### Hosting
+
+The website is hosted on [Vercel](https://vercel.com/sycamost/lallans-wabsteid-astro). Because we
+have the free plan, unfortunately only the Webmaster can access the Vercel dashboard.
+
+Vercel also handles redirecting from lallans.co.uk to scotsleidassocie.org.
+
+### CI/CD
+
+Our CI/CD pipeline is, thanks to the fantastic integration between GitHub and Vercel, no-code! We
+just need to make commits to the repo to see them deployed automagically.
+
+Ideally, we should check everything's working on deployment before everyone on the internet starts
+looking at it. For that reason, we have a staging deployment at
+[staging.scotsleidassocie.org](https://staging.scotsleidassocie.org). To update the staging
+deployment, simply commit to `deployment-staging` by making a Pull Request and getting it approved
+by a code owner and then merged.
+To update production, you'll want to first merge your changes into `deployment-staging` by making a
+Pull Request and getting it approved and merged. Once you've done that, given it five minutes to
+deploy, and you've checked that everything looks good on
+[staging.scotsleidassocie.org](https://staging.scotsleidassocie.org),
+[make a Pull Request to merge deployment-staging into deployment-production](https://github.com/Sycamost/lallans-wabsteid-astro/compare/deployment-production...deployment-staging).
+Once that Pull Request is approved by a code owner, merge it in and it should update production in
+under five minutes.
diff --git a/src/content/news/en-GB/2023-03-17-eiks-an-ens-30.mdx b/src/content/news/en-GB/2023-03-17-eiks-an-ens-30.mdx
index bc75660..34a83ac 100644
--- a/src/content/news/en-GB/2023-03-17-eiks-an-ens-30.mdx
+++ b/src/content/news/en-GB/2023-03-17-eiks-an-ens-30.mdx
@@ -49,13 +49,43 @@ _Haymarket Wumman_ by Jerry Randalls
#### Ruisit
_Bother wi a Babby Bird_ by Anne Jones
+
_Benny_ by Andrew G Matthews
+
_Kafka_ by Pete Fortune
### The John MacPhail Law Tassie for Owersettin
#### Winner
+_A Sang tae the Heir_ by Derrick McClure
+
+#### Jynt Rinner-up
+
+_The King o the Bees_ by Dorothy Lawrenson
+
+_Salome_ by Jerry Randalls
+
+#### Ruisit
+
+_Mylkwiffe_ by Donald Adamson
+
+_Weddin Blessin_ by Gordon Davidson
+
+_A Dug wi Nae Maister_ by Tom Ellett
+
+_Seeven Auld Fodies_ by WS Milne
+
+_The Tale o Thorstein Grue_ by Colin Mackenzie
+
+_The Yirdin o Sorley MacLean_ by Derrick McClure
+
+_Propertius_ by John Erskine
+
+### The Hugh MacDiarmaid Tassie for Poesie
+
+#### Winner
+
_Roond Stane_ by Finola Scott
#### Jynt Rinner-up
@@ -66,16 +96,27 @@ _Aliens_ by James Sinclair
#### Ruisit
_Chale Shaw_ by Joe Carstairs
+
_John MacLean’s Coat_ by Robert Duncan
+
_Jock Tamson’s Luve-Bairns_ by David Bleiman
+
_Bauk in the USSR_ by Alastair McLeish
+
_Eldritch, Cretaceous Man Jinkin_ by Alan Millar
+
_The Ootgaun_ by Hamish Scott
+
_Mindin Joe_ by Jock Stein
+
_The Ceremonie o Cairnholy_ by Donald Adamson
+
_A New Sang_ by David Bleiman
+
_Ahint the Haund_ by Kevin Connelly
+
_The Marriage Lair_ by Irene Howat
+
_Leid in ma Heid_ by Alan Millar
## Wittins: Sangschaw, Lallans 102-103
diff --git a/src/content/news/sco/2023-03-17-eiks-an-ens-30.mdx b/src/content/news/sco/2023-03-17-eiks-an-ens-30.mdx
index ef094d4..201642c 100644
--- a/src/content/news/sco/2023-03-17-eiks-an-ens-30.mdx
+++ b/src/content/news/sco/2023-03-17-eiks-an-ens-30.mdx
@@ -59,6 +59,34 @@ _Kafka_ bi Pete Fortune
#### Winner
+_A Sang tae the Heir_ bi Derrick McClure
+
+#### Jynt Rinner-up
+
+_The King o the Bees_ bi Dorothy Lawrenson
+
+_Salome_ bi Jerry Randalls
+
+#### Ruisit
+
+_Mylkwiffe_ bi Donald Adamson
+
+_Weddin Blessin_ bi Gordon Davidson
+
+_A Dug wi Nae Maister_ bi Tom Ellett
+
+_Seeven Auld Fodies_ bi WS Milne
+
+_The Tale o Thorstein Grue_ bi Colin Mackenzie
+
+_The Yirdin o Sorley MacLean_ bi Derrick McClure
+
+_Propertius_ bi John Erskine
+
+### The Hugh MacDiarmaid Tassie for Poesie
+
+#### Winner
+
_Roond Stane_ bi Finola Scott
#### Jynt Rinner-up