diff --git a/astro.config.mjs b/astro.config.mjs index 882e651..1f9de4a 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,4 +1,26 @@ -import { defineConfig } from 'astro/config'; +import { defineConfig } from "astro/config"; +import { fileURLToPath } from "url"; +import path, { dirname } from "path"; +import react from "@astrojs/react"; +const __filename = fileURLToPath(import.meta.url); +const __dirname = dirname(__filename); + // https://astro.build/config -export default defineConfig({}); +export default defineConfig({ + vite: { + resolve: { + alias: { + "@/": `${path.resolve(__dirname, "src")}/` + } + }, + css: { + preprocessorOptions: { + scss: { + additionalData: `@import "@/styles/vars.scss";` + } + } + } + }, + integrations: [react()] +}); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c545db8..eb6c03d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,15 @@ "name": "astro-skint", "version": "0.0.1", "dependencies": { - "astro": "^2.2.1" + "@astrojs/react": "^2.1.1", + "@popperjs/core": "^2.11.7", + "@types/react": "^18.0.34", + "@types/react-dom": "^18.0.11", + "astro": "^2.2.1", + "bootstrap": "^5.2.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.61.0" } }, "node_modules/@ampproject/remapping": { @@ -89,6 +97,24 @@ "node": ">=16.12.0" } }, + "node_modules/@astrojs/react": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-2.1.1.tgz", + "integrity": "sha512-nIcDFnn5H4FKGoSBYXZr95RIQvpcTNRcVV1hvUQifO0F5hQsgb0PVyk6TG4JWxiPGY4Jt4MVQb5JaaDQHlHu4w==", + "dependencies": { + "@babel/core": ">=7.0.0-0 <8.0.0", + "@babel/plugin-transform-react-jsx": "^7.17.12" + }, + "engines": { + "node": ">=16.12.0" + }, + "peerDependencies": { + "@types/react": "^17.0.50 || ^18.0.21", + "@types/react-dom": "^17.0.17 || ^18.0.6", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" + } + }, "node_modules/@astrojs/telemetry": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-2.1.0.tgz", @@ -917,6 +943,15 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@popperjs/core": { + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz", + "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -1006,11 +1041,39 @@ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/react": { + "version": "18.0.34", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.34.tgz", + "integrity": "sha512-NO1UO8941541CJl1BeOXi8a9dNKFK09Gnru5ZJqkm4Q3/WoQJtHvmwt0VX0SB9YCEwe7TfSSxDuaNmx6H2BAIQ==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/resolve": { "version": "1.20.2", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, "node_modules/@types/unist": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", @@ -1271,6 +1334,24 @@ "readable-stream": "^3.4.0" } }, + "node_modules/bootstrap": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz", + "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.6" + } + }, "node_modules/boxen": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", @@ -1644,6 +1725,11 @@ "node": ">= 8" } }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2215,6 +2301,11 @@ } ] }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, "node_modules/import-meta-resolve": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz", @@ -2535,6 +2626,17 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -3809,6 +3911,29 @@ } ] }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -4141,6 +4266,22 @@ } ] }, + "node_modules/sass": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.61.0.tgz", + "integrity": "sha512-PDsN7BrVkNZK2+dj/dpKQAWZavbAQ87IXqVvw2+oEYI+GwlTWkvbQtL7F2cCNbMqJEYKPh1EcjSxsnqIb/kyaQ==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/sass-formatter": { "version": "0.7.6", "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.6.tgz", @@ -4149,6 +4290,14 @@ "suf-log": "^2.5.3" } }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, "node_modules/section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", @@ -5097,6 +5246,15 @@ "prismjs": "^1.28.0" } }, + "@astrojs/react": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-2.1.1.tgz", + "integrity": "sha512-nIcDFnn5H4FKGoSBYXZr95RIQvpcTNRcVV1hvUQifO0F5hQsgb0PVyk6TG4JWxiPGY4Jt4MVQb5JaaDQHlHu4w==", + "requires": { + "@babel/core": ">=7.0.0-0 <8.0.0", + "@babel/plugin-transform-react-jsx": "^7.17.12" + } + }, "@astrojs/telemetry": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-2.1.0.tgz", @@ -5608,6 +5766,11 @@ "tslib": "^2.4.0" } }, + "@popperjs/core": { + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.7.tgz", + "integrity": "sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw==" + }, "@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -5697,11 +5860,39 @@ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.0.34", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.34.tgz", + "integrity": "sha512-NO1UO8941541CJl1BeOXi8a9dNKFK09Gnru5ZJqkm4Q3/WoQJtHvmwt0VX0SB9YCEwe7TfSSxDuaNmx6H2BAIQ==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "requires": { + "@types/react": "*" + } + }, "@types/resolve": { "version": "1.20.2", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, "@types/unist": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", @@ -5899,6 +6090,12 @@ "readable-stream": "^3.4.0" } }, + "bootstrap": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz", + "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==", + "requires": {} + }, "boxen": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", @@ -6121,6 +6318,11 @@ "which": "^2.0.1" } }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, "debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -6535,6 +6737,11 @@ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, + "immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, "import-meta-resolve": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz", @@ -6725,6 +6932,14 @@ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==" }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -7517,6 +7732,23 @@ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, "readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -7735,6 +7967,16 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, + "sass": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.61.0.tgz", + "integrity": "sha512-PDsN7BrVkNZK2+dj/dpKQAWZavbAQ87IXqVvw2+oEYI+GwlTWkvbQtL7F2cCNbMqJEYKPh1EcjSxsnqIb/kyaQ==", + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, "sass-formatter": { "version": "0.7.6", "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.6.tgz", @@ -7743,6 +7985,14 @@ "suf-log": "^2.5.3" } }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, "section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", diff --git a/package.json b/package.json index 6400927..4bedfe6 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,14 @@ "astro": "astro" }, "dependencies": { - "astro": "^2.2.1" + "@astrojs/react": "^2.1.1", + "@popperjs/core": "^2.11.7", + "@types/react": "^18.0.34", + "@types/react-dom": "^18.0.11", + "astro": "^2.2.1", + "bootstrap": "^5.2.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.61.0" } -} \ No newline at end of file +} diff --git a/public/resources/2015/Bourree de l_Hopital.pdf b/public/resources/2015/Bourree de l_Hopital.pdf new file mode 100644 index 0000000..45568a0 Binary files /dev/null and b/public/resources/2015/Bourree de l_Hopital.pdf differ diff --git a/public/resources/2015/ZOOM0012_Danish_Tunes_-_Aalborg_Polka.MP3 b/public/resources/2015/ZOOM0012_Danish_Tunes_-_Aalborg_Polka.MP3 new file mode 100644 index 0000000..a023b78 Binary files /dev/null and b/public/resources/2015/ZOOM0012_Danish_Tunes_-_Aalborg_Polka.MP3 differ diff --git a/public/resources/2015/ZOOM0013_Danish_Tunes_-_Ostindiens_Velkomst.MP3 b/public/resources/2015/ZOOM0013_Danish_Tunes_-_Ostindiens_Velkomst.MP3 new file mode 100644 index 0000000..ee31cdf Binary files /dev/null and b/public/resources/2015/ZOOM0013_Danish_Tunes_-_Ostindiens_Velkomst.MP3 differ diff --git a/public/resources/2015/ZOOM0015_Megan_-_Polonaisse_från_Litresk.MP3 b/public/resources/2015/ZOOM0015_Megan_-_Polonaisse_från_Litresk.MP3 new file mode 100644 index 0000000..61d789f Binary files /dev/null and b/public/resources/2015/ZOOM0015_Megan_-_Polonaisse_från_Litresk.MP3 differ diff --git a/public/resources/2015/ZOOM0016_Megan_-_Polska_e._Janne_Mortenson.MP3 b/public/resources/2015/ZOOM0016_Megan_-_Polska_e._Janne_Mortenson.MP3 new file mode 100644 index 0000000..5e4dba3 Binary files /dev/null and b/public/resources/2015/ZOOM0016_Megan_-_Polska_e._Janne_Mortenson.MP3 differ diff --git a/public/resources/2015/ZOOM0017_Megan_-_Polska_e._Jorgen_Lind.MP3 b/public/resources/2015/ZOOM0017_Megan_-_Polska_e._Jorgen_Lind.MP3 new file mode 100644 index 0000000..7103510 Binary files /dev/null and b/public/resources/2015/ZOOM0017_Megan_-_Polska_e._Jorgen_Lind.MP3 differ diff --git a/public/resources/2015/ZOOM0019_Megan_-_Långdans.MP3 b/public/resources/2015/ZOOM0019_Megan_-_Långdans.MP3 new file mode 100644 index 0000000..e8b5875 Binary files /dev/null and b/public/resources/2015/ZOOM0019_Megan_-_Långdans.MP3 differ diff --git a/public/resources/2015/ZOOM0021_Welsh_Tunes_-_Welsh_Morris.MP3 b/public/resources/2015/ZOOM0021_Welsh_Tunes_-_Welsh_Morris.MP3 new file mode 100644 index 0000000..3d4f8bb Binary files /dev/null and b/public/resources/2015/ZOOM0021_Welsh_Tunes_-_Welsh_Morris.MP3 differ diff --git a/public/resources/2015/ZOOM0022_Welsh_Tunes_-_Waltz.MP3 b/public/resources/2015/ZOOM0022_Welsh_Tunes_-_Waltz.MP3 new file mode 100644 index 0000000..1c3b4aa Binary files /dev/null and b/public/resources/2015/ZOOM0022_Welsh_Tunes_-_Waltz.MP3 differ diff --git a/public/resources/2015/ZOOM0024_Welsh_Tunes_-_Fiddle_Faddle.MP3 b/public/resources/2015/ZOOM0024_Welsh_Tunes_-_Fiddle_Faddle.MP3 new file mode 100644 index 0000000..7657e60 Binary files /dev/null and b/public/resources/2015/ZOOM0024_Welsh_Tunes_-_Fiddle_Faddle.MP3 differ diff --git a/public/resources/2015/ZOOM0025_Mazurkas_-_Steve_Turner.MP3 b/public/resources/2015/ZOOM0025_Mazurkas_-_Steve_Turner.MP3 new file mode 100644 index 0000000..31fbbab Binary files /dev/null and b/public/resources/2015/ZOOM0025_Mazurkas_-_Steve_Turner.MP3 differ diff --git a/public/resources/2015/ZOOM0027_Mazurkas_-_Muzique_Mazurka.MP3 b/public/resources/2015/ZOOM0027_Mazurkas_-_Muzique_Mazurka.MP3 new file mode 100644 index 0000000..96357f8 Binary files /dev/null and b/public/resources/2015/ZOOM0027_Mazurkas_-_Muzique_Mazurka.MP3 differ diff --git a/public/resources/2015/ZOOM0028_Swedish_Songs_-_Der_Brinner_en_Eld.MP3 b/public/resources/2015/ZOOM0028_Swedish_Songs_-_Der_Brinner_en_Eld.MP3 new file mode 100644 index 0000000..6423ba7 Binary files /dev/null and b/public/resources/2015/ZOOM0028_Swedish_Songs_-_Der_Brinner_en_Eld.MP3 differ diff --git a/public/resources/2015/ZOOM0029_Swedish_Songs_-_Du_och_Jag_och_Vi_To_(Song_about_clogs).MP3 b/public/resources/2015/ZOOM0029_Swedish_Songs_-_Du_och_Jag_och_Vi_To_(Song_about_clogs).MP3 new file mode 100644 index 0000000..22cb7eb Binary files /dev/null and b/public/resources/2015/ZOOM0029_Swedish_Songs_-_Du_och_Jag_och_Vi_To_(Song_about_clogs).MP3 differ diff --git a/public/resources/2015/ZOOM0030_Swedish_Songs_-_Waltz.MP3 b/public/resources/2015/ZOOM0030_Swedish_Songs_-_Waltz.MP3 new file mode 100644 index 0000000..514c1cd Binary files /dev/null and b/public/resources/2015/ZOOM0030_Swedish_Songs_-_Waltz.MP3 differ diff --git a/public/resources/2015/ZOOM0031_Bourees_-_Lachaud.MP3 b/public/resources/2015/ZOOM0031_Bourees_-_Lachaud.MP3 new file mode 100644 index 0000000..0a0979d Binary files /dev/null and b/public/resources/2015/ZOOM0031_Bourees_-_Lachaud.MP3 differ diff --git a/public/resources/2015/ZOOM0033_Bourees_-_Alfred_Mourre.MP3 b/public/resources/2015/ZOOM0033_Bourees_-_Alfred_Mourre.MP3 new file mode 100644 index 0000000..231d591 Binary files /dev/null and b/public/resources/2015/ZOOM0033_Bourees_-_Alfred_Mourre.MP3 differ diff --git a/public/resources/2015/ZOOM0035_Bourrees_-_Calloren_Calloren_Park.MP3 b/public/resources/2015/ZOOM0035_Bourrees_-_Calloren_Calloren_Park.MP3 new file mode 100644 index 0000000..1a19d20 Binary files /dev/null and b/public/resources/2015/ZOOM0035_Bourrees_-_Calloren_Calloren_Park.MP3 differ diff --git a/public/resources/2015/ZOOM0036_Bourrees_-_La_Pitale.MP3 b/public/resources/2015/ZOOM0036_Bourrees_-_La_Pitale.MP3 new file mode 100644 index 0000000..77a0c05 Binary files /dev/null and b/public/resources/2015/ZOOM0036_Bourrees_-_La_Pitale.MP3 differ diff --git a/public/resources/2016/Arthur.mp3 b/public/resources/2016/Arthur.mp3 new file mode 100644 index 0000000..524fef1 Binary files /dev/null and b/public/resources/2016/Arthur.mp3 differ diff --git a/public/resources/2016/Bunch of Roses.mp3 b/public/resources/2016/Bunch of Roses.mp3 new file mode 100644 index 0000000..e2221e5 Binary files /dev/null and b/public/resources/2016/Bunch of Roses.mp3 differ diff --git a/public/resources/2016/Easter Thursday.mp3 b/public/resources/2016/Easter Thursday.mp3 new file mode 100644 index 0000000..90b4e62 Binary files /dev/null and b/public/resources/2016/Easter Thursday.mp3 differ diff --git a/public/resources/2016/Finnskog Pols 1.mp3 b/public/resources/2016/Finnskog Pols 1.mp3 new file mode 100644 index 0000000..a9a86bf Binary files /dev/null and b/public/resources/2016/Finnskog Pols 1.mp3 differ diff --git a/public/resources/2016/Finnskog Pols 2.mp3 b/public/resources/2016/Finnskog Pols 2.mp3 new file mode 100644 index 0000000..3f2b27c Binary files /dev/null and b/public/resources/2016/Finnskog Pols 2.mp3 differ diff --git a/public/resources/2016/Finnskog Pols 3.mp3 b/public/resources/2016/Finnskog Pols 3.mp3 new file mode 100644 index 0000000..281d06c Binary files /dev/null and b/public/resources/2016/Finnskog Pols 3.mp3 differ diff --git a/public/resources/2016/If you will not have me let me go.mp3 b/public/resources/2016/If you will not have me let me go.mp3 new file mode 100644 index 0000000..814bc0a Binary files /dev/null and b/public/resources/2016/If you will not have me let me go.mp3 differ diff --git a/public/resources/2016/Sylvia_s Serenade.mp3 b/public/resources/2016/Sylvia_s Serenade.mp3 new file mode 100644 index 0000000..9ccd350 Binary files /dev/null and b/public/resources/2016/Sylvia_s Serenade.mp3 differ diff --git a/public/resources/2016/Varmland Polska 1.mp3 b/public/resources/2016/Varmland Polska 1.mp3 new file mode 100644 index 0000000..b49bb45 Binary files /dev/null and b/public/resources/2016/Varmland Polska 1.mp3 differ diff --git a/public/resources/2016/Varmland Polska 2.mp3 b/public/resources/2016/Varmland Polska 2.mp3 new file mode 100644 index 0000000..3d9470d Binary files /dev/null and b/public/resources/2016/Varmland Polska 2.mp3 differ diff --git a/public/resources/2016/Wonderful Waltz.mp3 b/public/resources/2016/Wonderful Waltz.mp3 new file mode 100644 index 0000000..0d03717 Binary files /dev/null and b/public/resources/2016/Wonderful Waltz.mp3 differ diff --git a/public/resources/2018/Bridgewater.jpg b/public/resources/2018/Bridgewater.jpg new file mode 100644 index 0000000..910e3b3 Binary files /dev/null and b/public/resources/2018/Bridgewater.jpg differ diff --git a/public/resources/2018/Idumea.jpg b/public/resources/2018/Idumea.jpg new file mode 100644 index 0000000..8677641 Binary files /dev/null and b/public/resources/2018/Idumea.jpg differ diff --git a/public/resources/2018/Oak Grove.jpg b/public/resources/2018/Oak Grove.jpg new file mode 100644 index 0000000..da149a5 Binary files /dev/null and b/public/resources/2018/Oak Grove.jpg differ diff --git a/public/resources/2018/Old Hundred.jpg b/public/resources/2018/Old Hundred.jpg new file mode 100644 index 0000000..5ed2729 Binary files /dev/null and b/public/resources/2018/Old Hundred.jpg differ diff --git a/public/resources/2018/Primrose.jpg b/public/resources/2018/Primrose.jpg new file mode 100644 index 0000000..b450470 Binary files /dev/null and b/public/resources/2018/Primrose.jpg differ diff --git a/public/resources/2018/Shape Note Singing - Idumea.mp3 b/public/resources/2018/Shape Note Singing - Idumea.mp3 new file mode 100644 index 0000000..b0fcc44 Binary files /dev/null and b/public/resources/2018/Shape Note Singing - Idumea.mp3 differ diff --git a/public/resources/2018/Shape Note Singing - Oak Grove.mp3 b/public/resources/2018/Shape Note Singing - Oak Grove.mp3 new file mode 100644 index 0000000..26c8c15 Binary files /dev/null and b/public/resources/2018/Shape Note Singing - Oak Grove.mp3 differ diff --git a/public/resources/2018/Shape Note Singing - Primrose.mp3 b/public/resources/2018/Shape Note Singing - Primrose.mp3 new file mode 100644 index 0000000..41391e6 Binary files /dev/null and b/public/resources/2018/Shape Note Singing - Primrose.mp3 differ diff --git a/public/resources/2018/Shape Note Singing Bridgewater.mp3 b/public/resources/2018/Shape Note Singing Bridgewater.mp3 new file mode 100644 index 0000000..2d05f73 Binary files /dev/null and b/public/resources/2018/Shape Note Singing Bridgewater.mp3 differ diff --git a/public/resources/2018/Spelmanslag - Three red roses.mp3 b/public/resources/2018/Spelmanslag - Three red roses.mp3 new file mode 100644 index 0000000..d01a5e1 Binary files /dev/null and b/public/resources/2018/Spelmanslag - Three red roses.mp3 differ diff --git a/public/resources/2018/Tune Swap - Romja.mp3 b/public/resources/2018/Tune Swap - Romja.mp3 new file mode 100644 index 0000000..991fae9 Binary files /dev/null and b/public/resources/2018/Tune Swap - Romja.mp3 differ diff --git a/public/resources/2018/Tune Swap - Simply.mp3 b/public/resources/2018/Tune Swap - Simply.mp3 new file mode 100644 index 0000000..76cf424 Binary files /dev/null and b/public/resources/2018/Tune Swap - Simply.mp3 differ diff --git a/public/resources/2018/Tune Swap - Waltz efter Carl Fanta.mp3 b/public/resources/2018/Tune Swap - Waltz efter Carl Fanta.mp3 new file mode 100644 index 0000000..6daba27 Binary files /dev/null and b/public/resources/2018/Tune Swap - Waltz efter Carl Fanta.mp3 differ diff --git a/public/resources/2018/olga bayati shiraz.mp3 b/public/resources/2018/olga bayati shiraz.mp3 new file mode 100644 index 0000000..afa0236 Binary files /dev/null and b/public/resources/2018/olga bayati shiraz.mp3 differ diff --git a/public/resources/2018/olga nawa tune.mp3 b/public/resources/2018/olga nawa tune.mp3 new file mode 100644 index 0000000..31d8366 Binary files /dev/null and b/public/resources/2018/olga nawa tune.mp3 differ diff --git a/public/resources/2019/2019_11_02_12_57_33- Vallåtspolska från Orsa -efter Björn Ståbi-.mp3 b/public/resources/2019/2019_11_02_12_57_33- Vallåtspolska från Orsa -efter Björn Ståbi-.mp3 new file mode 100644 index 0000000..28be171 Binary files /dev/null and b/public/resources/2019/2019_11_02_12_57_33- Vallåtspolska från Orsa -efter Björn Ståbi-.mp3 differ diff --git a/public/resources/2019/2019_11_02_13_02_40- Vallåtspolska från Orsa -efter Björn Ståbi-2nd voice.mp3 b/public/resources/2019/2019_11_02_13_02_40- Vallåtspolska från Orsa -efter Björn Ståbi-2nd voice.mp3 new file mode 100644 index 0000000..c41ad2b Binary files /dev/null and b/public/resources/2019/2019_11_02_13_02_40- Vallåtspolska från Orsa -efter Björn Ståbi-2nd voice.mp3 differ diff --git a/public/resources/2019/2019_11_02_23_03_21- Klezmer tune-.mp3 b/public/resources/2019/2019_11_02_23_03_21- Klezmer tune-.mp3 new file mode 100644 index 0000000..5ad02ed Binary files /dev/null and b/public/resources/2019/2019_11_02_23_03_21- Klezmer tune-.mp3 differ diff --git a/public/resources/2019/2019_11_02_23_06_19 - where were you during prohibition-.mp3 b/public/resources/2019/2019_11_02_23_06_19 - where were you during prohibition-.mp3 new file mode 100644 index 0000000..762b78b Binary files /dev/null and b/public/resources/2019/2019_11_02_23_06_19 - where were you during prohibition-.mp3 differ diff --git a/src/components/Card.astro b/src/components/Card.astro deleted file mode 100644 index c68fa2a..0000000 --- a/src/components/Card.astro +++ /dev/null @@ -1,63 +0,0 @@ ---- -export interface Props { - title: string; - body: string; - href: string; -} - -const { href, title, body } = Astro.props; ---- - - - diff --git a/src/components/DatesAndBooking.astro b/src/components/DatesAndBooking.astro new file mode 100644 index 0000000..ca2212e --- /dev/null +++ b/src/components/DatesAndBooking.astro @@ -0,0 +1,17 @@ +--- +--- + +
+
+

3rd-5th November 2023

+
+
+ diff --git a/src/components/Footer.astro b/src/components/Footer.astro new file mode 100644 index 0000000..c07619e --- /dev/null +++ b/src/components/Footer.astro @@ -0,0 +1,62 @@ +--- +--- + + +
+
+
+ Subscribe to our mailing list +
+
+
+ + + +
+ +
+
+
+
+
+ + + diff --git a/src/components/Hero.astro b/src/components/Hero.astro new file mode 100644 index 0000000..53a7229 --- /dev/null +++ b/src/components/Hero.astro @@ -0,0 +1,14 @@ +--- +--- + +
+

+ +

+
+ diff --git a/src/components/Library.scss b/src/components/Library.scss new file mode 100644 index 0000000..1b0c29d --- /dev/null +++ b/src/components/Library.scss @@ -0,0 +1,77 @@ +.media { + display: flex; + > i { + margin-right: 16px; + min-width: 40px; + } +} + + .resource-row { + padding: 20px; + margin: 20px; + border: 1px solid #ccc; + cursor: pointer; + } + + table.resource-table { + margin-top: 20px; + } + + .resource-table { + a { + text-decoration: none; + &:hover, + *:hover { + cursor: pointer; + } + } + + tr:hover { + background-color: #edb579; + + a { + color: #000; + } + } + + i { + font-size: x-large; + } + } + + .resource-row:hover { + background-color: #ff7f2a; + border: 1px solid #d95d29; + } + + @media (min-width: 767px) { + #resource-filter-input { + width: 50%; + display: inline-block; + } + } + + .year-filters .year-filter { + &.selected { + background-color: #edb579; + border-left: 1px solid #edb579; + border-right: 1px solid #edb579; + } + + &:hover { + background-color: #ff7f2a; + } + + display: inline-block; + height: 46px; + width: 60px; + padding-top: 11px; + text-align: center; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; + color: #000 !important; + } + + .input-group-addon { + background-color: transparent !important; + } \ No newline at end of file diff --git a/src/components/Library.tsx b/src/components/Library.tsx new file mode 100644 index 0000000..d2d2ed9 --- /dev/null +++ b/src/components/Library.tsx @@ -0,0 +1,112 @@ +import { useState } from "react"; +import 'bootstrap/dist/css/bootstrap.css'; +import './Library.scss'; + +interface Resource { + displayName: string; + year: number; + category: string; + tuneType: string; + workshop: string; + source: string; +} + +const ToRow = (r: Resource) => { + return ( + + +
+ +
+ +
{r.displayName}
+
+
+ {`${r.tuneType}, from ${r.workshop} ${r.year}`} +
+
+
+ + + ) +} + +const Library = (x: {resources: Resource[]}) => { + + const [yearFilter, setYearFilter] = useState(null); + const [searchFilter, setSearchFilter] = useState(null); + + const resources = x.resources + const years = [...new Set(resources.map(r => r.year))] + + const filter = (r: Resource) => { + const normalize = (s: string | null) => + s?.toLocaleLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, "") + + const nSearchFilter = normalize(searchFilter) + + const nDisplayName = normalize(r.displayName) + const nCategrory = normalize(r.category) + const nTuneType = normalize(r.tuneType) + + return (!yearFilter || r.year === yearFilter) + && (!nSearchFilter + || nDisplayName?.includes(nSearchFilter) + || nCategrory?.includes(nSearchFilter) + || nTuneType?.includes(nSearchFilter)) + } + + return ( + <> + +
+ + setSearchFilter(e.target.value)} + /> + + + +
setYearFilter(null)} + > + All +
+
+ {years.sort().map(y => ( + +
setYearFilter(y)}> + {y} +
+
+ ))} +
+
+ +
+ + + {resources + .filter(filter) + .sort((a, b) => a.displayName.localeCompare(b.displayName)) + .map(ToRow)} + +
+
+ + ) +} + +export default Library; \ No newline at end of file diff --git a/src/components/Navbar.astro b/src/components/Navbar.astro new file mode 100644 index 0000000..7d19f82 --- /dev/null +++ b/src/components/Navbar.astro @@ -0,0 +1,87 @@ +--- +import logo from "../img/logo.svg"; +--- + +
+ +
+ +
+
+ + diff --git a/src/data/resources.json b/src/data/resources.json new file mode 100644 index 0000000..3dcabb9 --- /dev/null +++ b/src/data/resources.json @@ -0,0 +1,386 @@ +[ + { + "displayName": "Vallåtspolska från Orsa -efter Björn Ståbi", + "year": 2019, + "category": "Recording", + "tuneType": "Vallåtspolska", + "workshop": "Swedish", + "source": "2019_11_02_12_57_33- Vallåtspolska från Orsa -efter Björn Ståbi-.mp3" + }, + { + "displayName": "Vallåtspolska från Orsa -efter Björn Ståbi (Second voice)", + "year": 2019, + "category": "Recording", + "tuneType": "Vallåtspolska", + "workshop": "Swedish", + "source": "2019_11_02_13_02_40- Vallåtspolska från Orsa -efter Björn Ståbi-2nd voice.mp3" + }, + { + "displayName": "Klezmer tune", + "year": 2019, + "category": "Recording", + "tuneType": "Klezmer", + "workshop": "Klezmer", + "source": "2019_11_02_23_03_21- Klezmer tune-.mp3" + }, + { + "displayName": "Where Were You During Prohibition?", + "year": 2019, + "category": "Recording", + "tuneType": "Unknown", + "workshop": "Unknown", + "source": "2019_11_02_23_06_19 - where were you during prohibition-.mp3" + }, + { + "displayName": "Bridgewater", + "year": 2018, + "category": "Sheet Music", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Bridgewater.jpg" + }, + { + "displayName": "Idumea", + "year": 2018, + "category": "Sheet Music", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Idumea.jpg" + }, + { + "displayName": "Oak Grove", + "year": 2018, + "category": "Sheet Music", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Oak Grove.jpg" + }, + { + "displayName": "Old Hundred", + "year": 2018, + "category": "Sheet Music", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Old Hundred.jpg" + }, + { + "displayName": "Primrose", + "year": 2018, + "category": "Sheet Music", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Primrose.jpg" + }, + { + "displayName": "Bayati Shiraz", + "year": 2018, + "category": "Recording", + "tuneType": "Jewish / Arabic", + "workshop": "Jewish / Arabic tunes", + "source": "olga bayati shiraz.mp3" + }, + { + "displayName": "Nawa Tune", + "year": 2018, + "category": "Recording", + "tuneType": "Jewish / Arabic", + "workshop": "Jewish / Arabic tunes", + "source": "olga nawa tune.mp3" + }, + { + "displayName": "Idumea", + "year": 2018, + "category": "Recording", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Shape Note Singing - Idumea.mp3" + }, + { + "displayName": "Oak Grove", + "year": 2018, + "category": "Recording", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Shape Note Singing - Oak Grove.mp3" + }, + { + "displayName": "Primrose", + "year": 2018, + "category": "Recording", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Shape Note Singing - Primrose.mp3" + }, + { + "displayName": "Bridgewater", + "year": 2018, + "category": "Recording", + "tuneType": "Choral", + "workshop": "Sacred Harp", + "source": "Shape Note Singing Bridgewater.mp3" + }, + { + "displayName": "Three Red Roses", + "year": 2018, + "category": "Recording", + "tuneType": "Schottisch", + "workshop": "Spelmanslag", + "source": "Spelmanslag - Three red roses.mp3" + }, + { + "displayName": "Romja", + "year": 2018, + "category": "Recording", + "tuneType": "Schottisch", + "workshop": "Tune Swap", + "source": "Tune Swap - Romja.mp3" + }, + { + "displayName": "Simply", + "year": 2018, + "category": "Recording", + "tuneType": "Gavotte de L'Aven", + "workshop": "Tune Swap", + "source": "Tune Swap - Simply.mp3" + }, + { + "displayName": "Waltz e. Carl Fanta", + "year": 2018, + "category": "Recording", + "tuneType": "Waltz", + "workshop": "Tune Swap", + "source": "Tune Swap - Waltz efter Carl Fanta.mp3" + }, + { + "displayName": "If you will not have me let me go", + "year": 2016, + "category": "Recording", + "tuneType": "3/2", + "workshop": "3/2 Tunes", + "source": "If you will not have me let me go.mp3" + }, + { + "displayName": "Sylvia's Serenade", + "year": 2016, + "category": "Recording", + "tuneType": "3/2", + "workshop": "3/2 Tunes", + "source": "Sylvia_s Serenade.mp3" + }, + { + "displayName": "Easter Thursday", + "year": 2016, + "category": "Recording", + "tuneType": "3/2", + "workshop": "3/2 Tunes", + "source": "Easter Thursday.mp3" + }, + { + "displayName": "Finnskog Pols 1", + "year": 2016, + "category": "Recording", + "tuneType": "Pols", + "workshop": "Finnskog Pols", + "source": "Finnskog Pols 1.mp3" + }, + { + "displayName": "Finnskog Pols 2", + "year": 2016, + "category": "Recording", + "tuneType": "Pols", + "workshop": "Finnskog Pols", + "source": "Finnskog Pols 2.mp3" + }, + { + "displayName": "Finnskog Pols 3", + "year": 2016, + "category": "Recording", + "tuneType": "Pols", + "workshop": "Finnskog Pols", + "source": "Finnskog Pols 3.mp3" + }, + { + "displayName": "Arthur", + "year": 2016, + "category": "Recording", + "tuneType": "Mazurka", + "workshop": "French Style Tunes", + "source": "Arthur.mp3" + }, + { + "displayName": "Wonderful Waltz", + "year": 2016, + "category": "Recording", + "tuneType": "Waltz", + "workshop": "French Style Tunes", + "source": "Wonderful Waltz.mp3" + }, + { + "displayName": "Bunch of Roses", + "year": 2016, + "category": "Recording", + "tuneType": "Jig", + "workshop": "French Style Tunes", + "source": "Bunch of Roses.mp3" + }, + { + "displayName": "Varmland Polska 1", + "year": 2016, + "category": "Recording", + "tuneType": "Polska", + "workshop": "Varmland Polska", + "source": "Varmland Polska 1.mp3" + }, + { + "displayName": "Varmland Polska 2", + "year": 2016, + "category": "Recording", + "tuneType": "Polska", + "workshop": "Varmland Polska", + "source": "Varmland Polska 2.mp3" + }, + { + "displayName": "Aalborg Polka", + "year": 2015, + "category": "Recording", + "tuneType": "Polka", + "workshop": "Danish Tunes", + "source": "ZOOM0012_Danish_Tunes_-_Aalborg_Polka.MP3" + }, + { + "displayName": "Ostindiens Velkomst", + "year": 2015, + "category": "Recording", + "tuneType": "Sonderhoning", + "workshop": "Danish Tunes", + "source": "ZOOM0013_Danish_Tunes_-_Ostindiens_Velkomst.MP3" + }, + { + "displayName": "Polonaisse från Litresk", + "year": 2015, + "category": "Recording", + "tuneType": "Polonaisse", + "workshop": "Swedish Tunes", + "source": "ZOOM0015_Megan_-_Polonaisse_från_Litresk.MP3" + }, + { + "displayName": "Polska e. Janne Mortenson", + "year": 2015, + "category": "Recording", + "tuneType": "Polska", + "workshop": "Swedish Tunes", + "source": "ZOOM0016_Megan_-_Polska_e._Janne_Mortenson.MP3" + }, + { + "displayName": "Polska e. Jorgen Lind", + "year": 2015, + "category": "Recording", + "tuneType": "Polska", + "workshop": "Swedish Tunes", + "source": "ZOOM0017_Megan_-_Polska_e._Jorgen_Lind.MP3" + }, + { + "displayName": "Welsh Morris", + "year": 2015, + "category": "Recording", + "tuneType": "U/K", + "workshop": "Welsh Tunes", + "source": "ZOOM0021_Welsh_Tunes_-_Welsh_Morris.MP3" + }, + { + "displayName": "Welsh Waltz", + "year": 2015, + "category": "Recording", + "tuneType": "Waltz", + "workshop": "Welsh Tunes", + "source": "ZOOM0022_Welsh_Tunes_-_Waltz.MP3" + }, + { + "displayName": "Fiddle Faddle", + "year": 2015, + "category": "Recording", + "tuneType": "Polka", + "workshop": "Welsh Tunes", + "source": "ZOOM0024_Welsh_Tunes_-_Fiddle_Faddle.MP3" + }, + { + "displayName": "Mazurka by Steve Turner", + "year": 2015, + "category": "Recording", + "tuneType": "Mazurka", + "workshop": "French Tunes", + "source": "ZOOM0025_Mazurkas_-_Steve_Turner.MP3" + }, + { + "displayName": "Muzique Mazurka", + "year": 2015, + "category": "Recording", + "tuneType": "Mazurka", + "workshop": "French Tunes", + "source": "ZOOM0027_Mazurkas_-_Muzique_Mazurka.MP3" + }, + { + "displayName": "Der Brinner en Eld", + "year": 2015, + "category": "Recording", + "tuneType": "Polska (Song)", + "workshop": "Swedish Songs", + "source": "ZOOM0028_Swedish_Songs_-_Der_Brinner_en_Eld.MP3" + }, + { + "displayName": "Du och Jag och Vi To (Song about clogs)", + "year": 2015, + "category": "Recording", + "tuneType": "Hottis (Song)", + "workshop": "Swedish Songs", + "source": "ZOOM0029_Swedish_Songs_-_Du_och_Jag_och_Vi_To_(Song_about_clogs).MP3" + }, + { + "displayName": "Waltz", + "year": 2015, + "category": "Recording", + "tuneType": "Waltz (Song)", + "workshop": "Swedish Songs", + "source": "ZOOM0030_Swedish_Songs_-_Waltz.MP3" + }, + { + "displayName": "La Chaud", + "year": 2015, + "category": "Recording", + "tuneType": "Bourrée", + "workshop": "French Tunes", + "source": "ZOOM0031_Bourees_-_Lachaud.MP3" + }, + { + "displayName": "Bourrée de Alfred Mourre", + "year": 2015, + "category": "Recording", + "tuneType": "Bourrée", + "workshop": "French Tunes", + "source": "ZOOM0033_Bourees_-_Alfred_Mourre.MP3" + }, + { + "displayName": "Calarem Calarem Pas", + "year": 2015, + "category": "Recording", + "tuneType": "Bourrée", + "workshop": "French Tunes", + "source": "ZOOM0035_Bourrees_-_Calloren_Calloren_Park.MP3" + }, + { + "displayName": "Bourrée de l'hôpital", + "year": 2015, + "category": "Recording", + "tuneType": "Bourrée", + "workshop": "French Tunes", + "source": "ZOOM0036_Bourrees_-_La_Pitale.MP3" + }, + { + "displayName": "Bourrée de l'hôpital", + "year": 2015, + "category": "Sheet Music", + "tuneType": "Bourrée", + "workshop": "French Tunes", + "source": "Bourree de l_Hopital.pdf" + } +] \ No newline at end of file diff --git a/src/img/favicon.ico b/src/img/favicon.ico new file mode 100644 index 0000000..9bb8f55 Binary files /dev/null and b/src/img/favicon.ico differ diff --git a/src/img/frontPage/dancing.jpg b/src/img/frontPage/dancing.jpg new file mode 100644 index 0000000..7208eb4 Binary files /dev/null and b/src/img/frontPage/dancing.jpg differ diff --git a/src/img/frontPage/dancing1.jpg b/src/img/frontPage/dancing1.jpg new file mode 100644 index 0000000..54e669e Binary files /dev/null and b/src/img/frontPage/dancing1.jpg differ diff --git a/src/img/frontPage/food.jpg b/src/img/frontPage/food.jpg new file mode 100644 index 0000000..6020510 Binary files /dev/null and b/src/img/frontPage/food.jpg differ diff --git a/src/img/frontPage/food2.jpg b/src/img/frontPage/food2.jpg new file mode 100644 index 0000000..3855f4e Binary files /dev/null and b/src/img/frontPage/food2.jpg differ diff --git a/src/img/frontPage/funAndGames.jpg b/src/img/frontPage/funAndGames.jpg new file mode 100644 index 0000000..697ac29 Binary files /dev/null and b/src/img/frontPage/funAndGames.jpg differ diff --git a/src/img/frontPage/music1.jpg b/src/img/frontPage/music1.jpg new file mode 100644 index 0000000..ccd2ee5 Binary files /dev/null and b/src/img/frontPage/music1.jpg differ diff --git a/src/img/frontPage/music2.jpg b/src/img/frontPage/music2.jpg new file mode 100644 index 0000000..11916cf Binary files /dev/null and b/src/img/frontPage/music2.jpg differ diff --git a/src/img/getInvolved/photo1.jpg b/src/img/getInvolved/photo1.jpg new file mode 100644 index 0000000..4c521dd Binary files /dev/null and b/src/img/getInvolved/photo1.jpg differ diff --git a/src/img/getInvolved/photo2.jpg b/src/img/getInvolved/photo2.jpg new file mode 100644 index 0000000..4a81024 Binary files /dev/null and b/src/img/getInvolved/photo2.jpg differ diff --git a/src/img/getInvolved/safe.jpg b/src/img/getInvolved/safe.jpg new file mode 100644 index 0000000..7208eb4 Binary files /dev/null and b/src/img/getInvolved/safe.jpg differ diff --git a/src/img/getInvolved/whatIsIt.jpg b/src/img/getInvolved/whatIsIt.jpg new file mode 100644 index 0000000..e32e9fa Binary files /dev/null and b/src/img/getInvolved/whatIsIt.jpg differ diff --git a/src/img/logo.svg b/src/img/logo.svg new file mode 100644 index 0000000..11ccbba --- /dev/null +++ b/src/img/logo.svg @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + Skint + + + + + + diff --git a/src/img/yourVisit/car.jpg b/src/img/yourVisit/car.jpg new file mode 100644 index 0000000..34ebe49 Binary files /dev/null and b/src/img/yourVisit/car.jpg differ diff --git a/src/img/yourVisit/explore.jpg b/src/img/yourVisit/explore.jpg new file mode 100644 index 0000000..ddcf413 Binary files /dev/null and b/src/img/yourVisit/explore.jpg differ diff --git a/src/img/yourVisit/food.jpg b/src/img/yourVisit/food.jpg new file mode 100644 index 0000000..22b41db Binary files /dev/null and b/src/img/yourVisit/food.jpg differ diff --git a/src/img/yourVisit/indoorCamping.jpg b/src/img/yourVisit/indoorCamping.jpg new file mode 100644 index 0000000..c56c0ef Binary files /dev/null and b/src/img/yourVisit/indoorCamping.jpg differ diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index f1a62a5..e606f94 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,35 +1,138 @@ --- +import "bootstrap/dist/css/bootstrap.css"; +import Navbar from "../components/Navbar.astro"; +import Hero from "../components/Hero.astro"; +import Footer from "../components/Footer.astro"; + +import favicon from "../img/favicon.ico"; + export interface Props { - title: string; + title?: string; + hero?: string; } -const { title } = Astro.props; +const { hero, title } = Astro.props; --- - - - - - - {title} - - - - + + + + + Skint Dance - International Dance and Music Weekend + + + + + + + {hero && {hero}} +
+
+ {title &&

{title}

} + +
+
+