From e66fcf6b5ef7bfd1310e4bea71258acc56db6732 Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Tue, 11 Apr 2023 23:43:34 -0400 Subject: [PATCH] Overhaul directory/file layout for update to Astro v2 --- .gitignore | 3 + .vscode/extensions.json | 4 - .vscode/launch.json | 11 -- astro.config.mjs | 10 +- package-lock.json | 162 ++++++++-------- package.json | 2 +- src/components/BaseHead.astro | 14 ++ src/components/Footer.astro | 30 ++- src/components/Header.astro | 16 +- src/components/HorizontalCard.astro | 2 +- src/components/HorizontalShopItem.astro | 50 ----- src/components/SideBar.astro | 177 ++++++++++-------- src/config.ts | 2 +- src/{pages => content}/blog/f22_term_over.md | 1 - src/{pages => content}/blog/first_post.md | 1 - .../blog/project_exercise_tracker.md | 3 +- .../blog/project_hash_maps.md | 3 +- .../blog/project_masm_low_level_io.md | 1 - .../blog/project_openweather_grpc_api.md | 3 +- .../blog/project_ship_game.md | 3 +- .../blog/term_almost_over.md} | 1 - .../blog/w22_term_almost_over.md | 1 - src/{pages => content}/blog/w23_midpoint.md | 1 - src/content/config.ts | 18 ++ src/env.d.ts | 1 + src/layouts/BaseLayout.astro | 6 +- src/layouts/PostLayout.astro | 28 ++- src/layouts/StoreItemLayout.astro | 61 ------ src/pages/404.astro | 12 ++ src/pages/blog/[...page].astro | 73 ++++++++ src/pages/blog/[page].astro | 37 ---- src/pages/blog/[slug].astro | 30 +++ src/pages/cv.astro | 61 ++++-- src/pages/index.astro | 54 ++---- src/pages/projects.astro | 31 +-- src/pages/rss.xml.js | 26 ++- tailwind.config.cjs | 10 +- tsconfig.json | 5 +- 38 files changed, 470 insertions(+), 484 deletions(-) delete mode 100644 .vscode/extensions.json delete mode 100644 .vscode/launch.json delete mode 100644 src/components/HorizontalShopItem.astro rename src/{pages => content}/blog/f22_term_over.md (98%) rename src/{pages => content}/blog/first_post.md (96%) rename src/{pages => content}/blog/project_exercise_tracker.md (80%) rename src/{pages => content}/blog/project_hash_maps.md (87%) rename src/{pages => content}/blog/project_masm_low_level_io.md (95%) rename src/{pages => content}/blog/project_openweather_grpc_api.md (92%) rename src/{pages => content}/blog/project_ship_game.md (89%) rename src/{pages/blog/s22_term_almost_over.md => content/blog/term_almost_over.md} (93%) rename src/{pages => content}/blog/w22_term_almost_over.md (96%) rename src/{pages => content}/blog/w23_midpoint.md (97%) create mode 100644 src/content/config.ts delete mode 100644 src/layouts/StoreItemLayout.astro create mode 100644 src/pages/404.astro create mode 100644 src/pages/blog/[...page].astro delete mode 100644 src/pages/blog/[page].astro create mode 100644 src/pages/blog/[slug].astro diff --git a/.gitignore b/.gitignore index 02f6e50..e3651db 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,6 @@ pnpm-debug.log* # macOS-specific files .DS_Store + +# Astro +.astro/ \ No newline at end of file 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/astro.config.mjs b/astro.config.mjs index 724b90e..66792c7 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,11 +1,11 @@ -import { defineConfig } from 'astro/config'; -import mdx from '@astrojs/mdx'; -import sitemap from '@astrojs/sitemap'; +import { defineConfig } from "astro/config"; +import mdx from "@astrojs/mdx"; +import sitemap from "@astrojs/sitemap"; import tailwind from "@astrojs/tailwind"; // https://astro.build/config export default defineConfig({ - site: 'https://andyscott.me', - integrations: [mdx(), sitemap(), tailwind()] + site: "https://andyscott.me", + integrations: [mdx(), sitemap(), tailwind()], }); diff --git a/package-lock.json b/package-lock.json index 12b322b..b09b8e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "Astro Modern Personal Website", - "version": "2.1.1", + "version": "2.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "Astro Modern Personal Website", - "version": "2.1.1", + "version": "2.2.0", "dependencies": { "@astrojs/mdx": "^0.11.1", "@astrojs/rss": "^1.0.1", @@ -33,9 +33,9 @@ } }, "node_modules/@astrojs/compiler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-1.1.0.tgz", - "integrity": "sha512-C4kTwirys+HafufMqaxCbML2wqkGaXJM+5AekXh/v1IIOnMIdcEON9GBYsG6qa8aAmLhZ58aUZGPhzcA3Dx7Uw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-1.0.1.tgz", + "integrity": "sha512-77aacobLKcL98NmhK3OBS5EHIrX9gs1ckB/vGSIdkVZuB7u51V4jh05I6W0tSvG7/86tALv6QtHTRZ8rLhFTbQ==" }, "node_modules/@astrojs/language-server": { "version": "0.28.3", @@ -162,42 +162,6 @@ "tailwindcss": "^3.0.24" } }, - "node_modules/@astrojs/tailwind/node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/@astrojs/tailwind/node_modules/yaml": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", - "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", - "engines": { - "node": ">= 14" - } - }, "node_modules/@astrojs/telemetry": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-2.0.0.tgz", @@ -484,9 +448,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.15", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz", - "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==", + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", + "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1435,11 +1399,11 @@ } }, "node_modules/astro": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/astro/-/astro-2.0.10.tgz", - "integrity": "sha512-Jg2JYPA6Nlip27So1+O0p9VFL98H+LiDLEt+F65e6536LkWE5oiV0fDSbK8aI8hKeCvOQzLiEZiD21eXbug0XQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/astro/-/astro-2.0.5.tgz", + "integrity": "sha512-ZuTbCOZLOnVOQ/np+82H3apL4TQ9jRUtIMfnAAUr4BG8NthwoY718avm5lfiI25bDqs7QA012Zh6l1h3RpJwtw==", "dependencies": { - "@astrojs/compiler": "^1.1.0", + "@astrojs/compiler": "^1.0.1", "@astrojs/language-server": "^0.28.3", "@astrojs/markdown-remark": "^2.0.1", "@astrojs/telemetry": "^2.0.0", @@ -1501,9 +1465,9 @@ } }, "node_modules/astro/node_modules/es-module-lexer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.1.1.tgz", - "integrity": "sha512-n3ruqU8Te7I5prBd6d0darM8ajFuVNhLWvgo04hN7goWSaSrxe7ENOZitac7akN0A2o+8fMomBDsNPvW/eE3CQ==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.1.0.tgz", + "integrity": "sha512-fJg+1tiyEeS8figV+fPcPpm8WqJEflG3yPU0NOm5xMvrNkuiy7HzX/Ljng4Y0hAoiw4/3hQTCFYw+ub8+a2pRA==" }, "node_modules/astro/node_modules/github-slugger": { "version": "2.0.0", @@ -2092,9 +2056,9 @@ } }, "node_modules/deepmerge-ts": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-4.3.0.tgz", - "integrity": "sha512-if3ZYdkD2dClhnXR5reKtG98cwyaRT1NeugQoAPTTfsOpV9kqyeiBF9Qa5RHjemb3KzD5ulqygv6ED3t5j9eJw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-4.2.2.tgz", + "integrity": "sha512-Ka3Kb21tiWjvQvS9U+1Dx+aqFAHsdTnMdYptLTmC2VAmDFMugWMY1e15aTODstipmCun8iNuqeSfcx6rsUUk0Q==", "engines": { "node": ">=12.4.0" } @@ -2151,9 +2115,9 @@ } }, "node_modules/devalue": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.0.tgz", - "integrity": "sha512-n94yQo4LI3w7erwf84mhRUkUJfhLoCZiLyoOZ/QFsDbcWNZePrLwbQpvZBUG2TNxwV3VjCKPxkiiQA6pe3TrTA==" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.2.3.tgz", + "integrity": "sha512-JG6Q248aN0pgFL57e3zqTVeFraBe+5W2ugvv1mLXsJP6YYIYJhRZhAl7QP8haJrqob6X10F9NEkuCvNILZTPeQ==" }, "node_modules/didyoumean": { "version": "1.2.2", @@ -4402,9 +4366,9 @@ } }, "node_modules/open": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", - "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", "dependencies": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -4715,15 +4679,15 @@ } }, "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "dependencies": { "lilconfig": "^2.0.5", - "yaml": "^1.10.2" + "yaml": "^2.1.1" }, "engines": { - "node": ">= 10" + "node": ">= 14" }, "funding": { "type": "opencollective", @@ -4792,9 +4756,9 @@ } }, "node_modules/prettier": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", - "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", "bin": { "prettier": "bin-prettier.js" }, @@ -5639,6 +5603,42 @@ "node": ">=10.13.0" } }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, "node_modules/tiny-glob": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", @@ -5741,9 +5741,9 @@ } }, "node_modules/undici": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.18.0.tgz", - "integrity": "sha512-1iVwbhonhFytNdg0P4PqyIAXbdlVZVebtPDvuM36m66mRw4OGrCm2MYynJv/UENFLdP13J1nPVQzVE2zTs1OeA==", + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.16.0.tgz", + "integrity": "sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ==", "dependencies": { "busboy": "^1.6.0" }, @@ -5998,14 +5998,14 @@ } }, "node_modules/vite": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.1.tgz", - "integrity": "sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz", + "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==", "dependencies": { - "esbuild": "^0.16.14", - "postcss": "^8.4.21", + "esbuild": "^0.16.3", + "postcss": "^8.4.20", "resolve": "^1.22.1", - "rollup": "^3.10.0" + "rollup": "^3.7.0" }, "bin": { "vite": "bin/vite.js" @@ -6239,11 +6239,11 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.1.tgz", + "integrity": "sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==", "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs-parser": { diff --git a/package.json b/package.json index 1868eaf..d974f0b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "Astro Modern Personal Website", "description": "Astro Modern personal website template with Project Section, CV Section, Paginated Blog, Shop, RSS Feed, SEO Friendly, Visual themes and Responsive Desing.", "type": "module", - "version": "2.1.1", + "version": "2.2.0", "private": true, "scripts": { "dev": "astro dev", diff --git a/src/components/BaseHead.astro b/src/components/BaseHead.astro index 2e9a0e2..07e539f 100644 --- a/src/components/BaseHead.astro +++ b/src/components/BaseHead.astro @@ -22,3 +22,17 @@ const { title, description, image = '/social_img.png' } = Astro.props; {title} + + + + + + + + + + + + + + diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 25c7f6f..9317198 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -5,26 +5,18 @@ const today = new Date();