Initial commit
Needs navbar rework
@@ -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()]
|
||||
});
|
||||
252
package-lock.json
generated
@@ -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",
|
||||
|
||||
10
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"
|
||||
}
|
||||
}
|
||||
BIN
public/resources/2015/Bourree de l_Hopital.pdf
Normal file
BIN
public/resources/2015/ZOOM0012_Danish_Tunes_-_Aalborg_Polka.MP3
Normal file
BIN
public/resources/2015/ZOOM0017_Megan_-_Polska_e._Jorgen_Lind.MP3
Normal file
BIN
public/resources/2015/ZOOM0019_Megan_-_Långdans.MP3
Normal file
BIN
public/resources/2015/ZOOM0021_Welsh_Tunes_-_Welsh_Morris.MP3
Normal file
BIN
public/resources/2015/ZOOM0022_Welsh_Tunes_-_Waltz.MP3
Normal file
BIN
public/resources/2015/ZOOM0024_Welsh_Tunes_-_Fiddle_Faddle.MP3
Normal file
BIN
public/resources/2015/ZOOM0025_Mazurkas_-_Steve_Turner.MP3
Normal file
BIN
public/resources/2015/ZOOM0027_Mazurkas_-_Muzique_Mazurka.MP3
Normal file
BIN
public/resources/2015/ZOOM0030_Swedish_Songs_-_Waltz.MP3
Normal file
BIN
public/resources/2015/ZOOM0031_Bourees_-_Lachaud.MP3
Normal file
BIN
public/resources/2015/ZOOM0033_Bourees_-_Alfred_Mourre.MP3
Normal file
BIN
public/resources/2015/ZOOM0036_Bourrees_-_La_Pitale.MP3
Normal file
BIN
public/resources/2016/Arthur.mp3
Normal file
BIN
public/resources/2016/Bunch of Roses.mp3
Normal file
BIN
public/resources/2016/Easter Thursday.mp3
Normal file
BIN
public/resources/2016/Finnskog Pols 1.mp3
Normal file
BIN
public/resources/2016/Finnskog Pols 2.mp3
Normal file
BIN
public/resources/2016/Finnskog Pols 3.mp3
Normal file
BIN
public/resources/2016/If you will not have me let me go.mp3
Normal file
BIN
public/resources/2016/Sylvia_s Serenade.mp3
Normal file
BIN
public/resources/2016/Varmland Polska 1.mp3
Normal file
BIN
public/resources/2016/Varmland Polska 2.mp3
Normal file
BIN
public/resources/2016/Wonderful Waltz.mp3
Normal file
BIN
public/resources/2018/Bridgewater.jpg
Normal file
|
After Width: | Height: | Size: 3.0 MiB |
BIN
public/resources/2018/Idumea.jpg
Normal file
|
After Width: | Height: | Size: 3.6 MiB |
BIN
public/resources/2018/Oak Grove.jpg
Normal file
|
After Width: | Height: | Size: 3.2 MiB |
BIN
public/resources/2018/Old Hundred.jpg
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
BIN
public/resources/2018/Primrose.jpg
Normal file
|
After Width: | Height: | Size: 3.6 MiB |
BIN
public/resources/2018/Shape Note Singing - Idumea.mp3
Normal file
BIN
public/resources/2018/Shape Note Singing - Oak Grove.mp3
Normal file
BIN
public/resources/2018/Shape Note Singing - Primrose.mp3
Normal file
BIN
public/resources/2018/Shape Note Singing Bridgewater.mp3
Normal file
BIN
public/resources/2018/Spelmanslag - Three red roses.mp3
Normal file
BIN
public/resources/2018/Tune Swap - Romja.mp3
Normal file
BIN
public/resources/2018/Tune Swap - Simply.mp3
Normal file
BIN
public/resources/2018/Tune Swap - Waltz efter Carl Fanta.mp3
Normal file
BIN
public/resources/2018/olga bayati shiraz.mp3
Normal file
BIN
public/resources/2018/olga nawa tune.mp3
Normal file
BIN
public/resources/2019/2019_11_02_23_03_21- Klezmer tune-.mp3
Normal file
@@ -1,63 +0,0 @@
|
||||
---
|
||||
export interface Props {
|
||||
title: string;
|
||||
body: string;
|
||||
href: string;
|
||||
}
|
||||
|
||||
const { href, title, body } = Astro.props;
|
||||
---
|
||||
|
||||
<li class="link-card">
|
||||
<a href={href}>
|
||||
<h2>
|
||||
{title}
|
||||
<span>→</span>
|
||||
</h2>
|
||||
<p>
|
||||
{body}
|
||||
</p>
|
||||
</a>
|
||||
</li>
|
||||
<style>
|
||||
.link-card {
|
||||
list-style: none;
|
||||
display: flex;
|
||||
padding: 0.25rem;
|
||||
background-color: white;
|
||||
background-image: none;
|
||||
background-size: 400%;
|
||||
border-radius: 0.6rem;
|
||||
background-position: 100%;
|
||||
transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
||||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.link-card > a {
|
||||
width: 100%;
|
||||
text-decoration: none;
|
||||
line-height: 1.4;
|
||||
padding: 1rem 1.3rem;
|
||||
border-radius: 0.35rem;
|
||||
color: #111;
|
||||
background-color: white;
|
||||
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;
|
||||
color: #444;
|
||||
}
|
||||
.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));
|
||||
}
|
||||
</style>
|
||||
17
src/components/DatesAndBooking.astro
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
---
|
||||
|
||||
<div class="row">
|
||||
<div class="jumbotron w100">
|
||||
<h1 class="display-5">3<sup>rd</sup>-5<sup>th</sup> November 2023</h1>
|
||||
</div>
|
||||
</div>
|
||||
<style>
|
||||
.jumbotron {
|
||||
text-align: center;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
border-radius: 0;
|
||||
background-color: #e9ecef;
|
||||
}
|
||||
</style>
|
||||
62
src/components/Footer.astro
Normal file
@@ -0,0 +1,62 @@
|
||||
---
|
||||
---
|
||||
|
||||
<!-- Begin MailChimp Signup Form -->
|
||||
<div class="container">
|
||||
<div id="mc_embed_signup">
|
||||
<div style="font-weight:bold; text-align: center">
|
||||
Subscribe to our mailing list
|
||||
</div>
|
||||
<form
|
||||
action="//skintdance.us2.list-manage.com/subscribe/post?u=a8c148ef7fceb7571bb84657c&id=9d72550111"
|
||||
method="post"
|
||||
id="mc-embedded-subscribe-form"
|
||||
name="mc-embedded-subscribe-form"
|
||||
class="validate"
|
||||
target="_blank"
|
||||
novalidate
|
||||
>
|
||||
<div id="mc_embed_signup_scroll">
|
||||
<input
|
||||
type="email"
|
||||
value=""
|
||||
name="EMAIL"
|
||||
class="email"
|
||||
id="mce-EMAIL"
|
||||
placeholder="Email address"
|
||||
required
|
||||
/>
|
||||
<!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups-->
|
||||
<div style="position: absolute; left: -5000px;" aria-hidden="true">
|
||||
<input
|
||||
type="text"
|
||||
name="b_a8c148ef7fceb7571bb84657c_9d72550111"
|
||||
tabindex="-1"
|
||||
value=""
|
||||
/>
|
||||
</div>
|
||||
<div class="clear">
|
||||
<input
|
||||
type="submit"
|
||||
value="Subscribe"
|
||||
name="subscribe"
|
||||
id="mc-embedded-subscribe"
|
||||
class="button"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<!--End mc_embed_signup-->
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
#mc-embedded-subscribe {
|
||||
background-color: $skint-highlight !important;
|
||||
}
|
||||
|
||||
#mc_embed_signup {
|
||||
margin: 0.5rem auto;
|
||||
}
|
||||
</style>
|
||||
14
src/components/Hero.astro
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
---
|
||||
|
||||
<div class="container skint-colour-2">
|
||||
<h4>
|
||||
<slot />
|
||||
</h4>
|
||||
</div>
|
||||
<style lang="scss">
|
||||
div {
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
77
src/components/Library.scss
Normal file
@@ -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;
|
||||
}
|
||||
112
src/components/Library.tsx
Normal file
@@ -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 (
|
||||
<tr key={`${r.displayName}-${r.category}`}>
|
||||
<td>
|
||||
<div className="media">
|
||||
<i
|
||||
className={"mr-3 fas " + (r.category === 'Recording' ? 'fa-music' : 'fa-file')}
|
||||
title={r.category}
|
||||
></i>
|
||||
<div className="media-body">
|
||||
<a href={`/resources/${r.year}/${r.source}`} target="_blank">
|
||||
<h5 className="media-heading">{r.displayName}</h5>
|
||||
</a>
|
||||
<div >
|
||||
{`${r.tuneType}, from ${r.workshop} ${r.year}`}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
)
|
||||
}
|
||||
|
||||
const Library = (x: {resources: Resource[]}) => {
|
||||
|
||||
const [yearFilter, setYearFilter] = useState<number | null>(null);
|
||||
const [searchFilter, setSearchFilter] = useState<string | null>(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 (
|
||||
<>
|
||||
|
||||
<div className="input-group input-group-lg">
|
||||
<span className="input-group-addon"
|
||||
><i className="glyphicon glyphicon-search"></i></span>
|
||||
<input
|
||||
type="text"
|
||||
id="resource-filter-input"
|
||||
className="form-control"
|
||||
placeholder="Search"
|
||||
onChange={(e) => setSearchFilter(e.target.value)}
|
||||
/>
|
||||
|
||||
<span className="year-filters">
|
||||
<a>
|
||||
<div
|
||||
|
||||
className={"year-filter " + (!yearFilter ? "selected" : "")}
|
||||
onClick={() => setYearFilter(null)}
|
||||
>
|
||||
All
|
||||
</div>
|
||||
</a>
|
||||
{years.sort().map(y => (
|
||||
<a key={y}>
|
||||
<div className={"year-filter " + (y === yearFilter ? "selected" : "")} onClick={() => setYearFilter(y)}>
|
||||
{y}
|
||||
</div>
|
||||
</a>
|
||||
))}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<table
|
||||
className="table resource-table"
|
||||
>
|
||||
<tbody>
|
||||
{resources
|
||||
.filter(filter)
|
||||
.sort((a, b) => a.displayName.localeCompare(b.displayName))
|
||||
.map(ToRow)}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default Library;
|
||||
87
src/components/Navbar.astro
Normal file
@@ -0,0 +1,87 @@
|
||||
---
|
||||
import logo from "../img/logo.svg";
|
||||
---
|
||||
|
||||
<div class="skint-colour-1 sticky-top">
|
||||
<nav class="container-fluid">
|
||||
<a class="navbar-brand" href="/">
|
||||
<img class="skint-unobtrusive-img navbar-brand" src={logo} />
|
||||
</a>
|
||||
<button
|
||||
class="navbar-toggler"
|
||||
type="button"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#skint-navbar-collapse"
|
||||
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon" />
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="skint-navbar-collapse">
|
||||
<ul class="nav navbar-nav mr-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/getinvolved">Get Involved</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/tickets">Tickets</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/yourvisit">Your Visit</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/library">Library</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/constitution">Constitution</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/contactus">Contact Us</a>
|
||||
</li>
|
||||
<!--
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
Other
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item" href="/committee">Committee</a>
|
||||
<a class="dropdown-item" href="/constitution">Constitution</a>
|
||||
</div>
|
||||
</li>
|
||||
-->
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="container">
|
||||
<div class="navbar navbar-expand-md navbar-dark skint-nav">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style lang="scss">
|
||||
.skint-nav {
|
||||
border: 0;
|
||||
margin-bottom: 0;
|
||||
|
||||
.navbar-brand {
|
||||
height: 80px;
|
||||
}
|
||||
|
||||
.nav > li {
|
||||
@media (min-width: 992px) {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
> a {
|
||||
font-size: larger;
|
||||
}
|
||||
}
|
||||
> a,
|
||||
&.active > a {
|
||||
font-weight: bold;
|
||||
}
|
||||
.dropdown-menu {
|
||||
a:hover {
|
||||
background-color: $skint-colour-2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
386
src/data/resources.json
Normal file
@@ -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"
|
||||
}
|
||||
]
|
||||
BIN
src/img/favicon.ico
Normal file
|
After Width: | Height: | Size: 9.4 KiB |
BIN
src/img/frontPage/dancing.jpg
Normal file
|
After Width: | Height: | Size: 407 KiB |
BIN
src/img/frontPage/dancing1.jpg
Normal file
|
After Width: | Height: | Size: 678 KiB |
BIN
src/img/frontPage/food.jpg
Normal file
|
After Width: | Height: | Size: 499 KiB |
BIN
src/img/frontPage/food2.jpg
Normal file
|
After Width: | Height: | Size: 560 KiB |
BIN
src/img/frontPage/funAndGames.jpg
Normal file
|
After Width: | Height: | Size: 434 KiB |
BIN
src/img/frontPage/music1.jpg
Normal file
|
After Width: | Height: | Size: 526 KiB |
BIN
src/img/frontPage/music2.jpg
Normal file
|
After Width: | Height: | Size: 227 KiB |
BIN
src/img/getInvolved/photo1.jpg
Normal file
|
After Width: | Height: | Size: 358 KiB |
BIN
src/img/getInvolved/photo2.jpg
Normal file
|
After Width: | Height: | Size: 408 KiB |
BIN
src/img/getInvolved/safe.jpg
Normal file
|
After Width: | Height: | Size: 407 KiB |
BIN
src/img/getInvolved/whatIsIt.jpg
Normal file
|
After Width: | Height: | Size: 607 KiB |
228
src/img/logo.svg
Normal file
@@ -0,0 +1,228 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="290.97519mm"
|
||||
height="114.75461mm"
|
||||
viewBox="0 0 1031.0144 406.61082"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="logoPlaceholder.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect4202"
|
||||
is_visible="true" />
|
||||
<inkscape:path-effect
|
||||
cusp_linecap_type="round"
|
||||
end_linecap_type="zerowidth"
|
||||
miter_limit="4"
|
||||
linejoin_type="round"
|
||||
start_linecap_type="zerowidth"
|
||||
interpolator_beta="0.2"
|
||||
interpolator_type="Linear"
|
||||
sort_points="true"
|
||||
offset_points="0,-1.6668433"
|
||||
is_visible="true"
|
||||
id="path-effect4198"
|
||||
effect="powerstroke" />
|
||||
<inkscape:path-effect
|
||||
is_visible="true"
|
||||
id="path-effect4196"
|
||||
effect="spiro" />
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect3390"
|
||||
is_visible="true" />
|
||||
<inkscape:path-effect
|
||||
effect="powerstroke"
|
||||
id="path-effect3386"
|
||||
is_visible="true"
|
||||
offset_points="0,0.5"
|
||||
sort_points="true"
|
||||
interpolator_type="Linear"
|
||||
interpolator_beta="0.2"
|
||||
start_linecap_type="zerowidth"
|
||||
linejoin_type="round"
|
||||
miter_limit="4"
|
||||
end_linecap_type="zerowidth"
|
||||
cusp_linecap_type="round" />
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect3384"
|
||||
is_visible="true" />
|
||||
<inkscape:path-effect
|
||||
effect="powerstroke"
|
||||
id="path-effect3380"
|
||||
is_visible="true"
|
||||
offset_points="0,-3.4109607"
|
||||
sort_points="true"
|
||||
interpolator_type="Linear"
|
||||
interpolator_beta="0.2"
|
||||
start_linecap_type="zerowidth"
|
||||
linejoin_type="round"
|
||||
miter_limit="4"
|
||||
end_linecap_type="zerowidth"
|
||||
cusp_linecap_type="round" />
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect3378"
|
||||
is_visible="true" />
|
||||
<inkscape:path-effect
|
||||
effect="powerstroke"
|
||||
id="path-effect3370"
|
||||
is_visible="true"
|
||||
offset_points="0.033074709,6.2310523"
|
||||
sort_points="true"
|
||||
interpolator_type="Linear"
|
||||
interpolator_beta="0.2"
|
||||
start_linecap_type="zerowidth"
|
||||
linejoin_type="round"
|
||||
miter_limit="4"
|
||||
end_linecap_type="zerowidth"
|
||||
cusp_linecap_type="round" />
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect3368"
|
||||
is_visible="true" />
|
||||
<inkscape:path-effect
|
||||
effect="powerstroke"
|
||||
id="path-effect3364"
|
||||
is_visible="true"
|
||||
offset_points="0,0.5"
|
||||
sort_points="true"
|
||||
interpolator_type="Linear"
|
||||
interpolator_beta="0.2"
|
||||
start_linecap_type="zerowidth"
|
||||
linejoin_type="round"
|
||||
miter_limit="4"
|
||||
end_linecap_type="zerowidth"
|
||||
cusp_linecap_type="round" />
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect3362"
|
||||
is_visible="true" />
|
||||
<inkscape:path-effect
|
||||
effect="powerstroke"
|
||||
id="path-effect3346"
|
||||
is_visible="true"
|
||||
offset_points="0,-9.7128462"
|
||||
sort_points="true"
|
||||
interpolator_type="Linear"
|
||||
interpolator_beta="0.2"
|
||||
start_linecap_type="zerowidth"
|
||||
linejoin_type="round"
|
||||
miter_limit="4"
|
||||
end_linecap_type="zerowidth"
|
||||
cusp_linecap_type="round" />
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect3344"
|
||||
is_visible="true" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.4142136"
|
||||
inkscape:cx="650.26516"
|
||||
inkscape:cy="31.561615"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1377"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-bottom="-1.6"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(1.1937181,-325.0598)">
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 0.09283715,476.60018 C 175.48462,488.60297 353.41906,463.52483 518.79352,403.43194 c 44.12618,-15.94647 89.62863,-35.08239 135.16659,-49.6436 45.86,-14.66418 92.90883,-25.11736 141.67379,-23.9526 48.78914,1.34468 98.44628,15.17455 137.42336,45.35711 19.37442,15.23029 35.77667,34.35069 47.09613,56.23422 11.32043,21.88506 17.45204,46.49707 16.85647,71.06852 -0.67339,32.70159 -13.4663,64.72171 -34.77634,89.1203 -21.31574,24.40497 -50.91262,41.08679 -82.42432,47.30996 -34.56598,6.86182 -71.33533,1.10787 -101.96567,-15.78099 -30.63759,-16.89286 -54.88534,-44.78017 -67.34571,-77.19108 13.13224,32.15343 37.84507,59.27595 68.36839,75.29033 30.53055,16.01817 66.64437,20.81246 100.05927,13.45634 30.47275,-6.74092 58.57425,-23.54013 78.38412,-47.28975 19.81507,-23.756 31.13312,-54.37642 31.06702,-84.99799 -0.13893,-23.00906 -6.57963,-45.83327 -17.73544,-65.88796 -11.15646,-20.05625 -26.97899,-37.40774 -45.43799,-51.0349 -36.68873,-27.53225 -83.51796,-39.9724 -129.87436,-40.54832 -46.38139,-0.75681 -91.50636,9.52359 -136.37588,24.24456 -45.19259,14.82696 -88.9772,33.72166 -134.22903,50.46281 -167.38741,61.59507 -347.77345,87.79876 -525.9176992,76.33432 z"
|
||||
id="path3342"
|
||||
inkscape:path-effect="#path-effect3344;#path-effect3346"
|
||||
inkscape:original-d="M -0.55047101,486.2917 C 506.0609,411.54042 521.75872,411.54042 521.75872,411.54042 c 0,0 518.02798,-2.02031 470.93452,90.91373 -47.09345,92.93403 79.32916,264.66868 -113.3259,134.359 C 686.71232,506.50347 319.47947,566.15683 710.49782,545.95378"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccssc" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 14.180584,486.19017 c 1.133601,2.00519 2.332875,3.98944 3.596379,5.95038 30.751843,-3.75901 59.05839,-21.83554 75.170312,-47.5854 6.5504,-11.24323 10.850055,-23.62619 12.690155,-36.23484 a 0.00162196,0.26607539 8.317374 0 0 0.0354,-0.25276 l -0.0734,-25.92309 -4.11404,25.59467 0.0354,-0.25275 c -3.106466,11.80797 -8.463345,22.87876 -15.594097,32.45555 -15.858909,22.89932 -42.253699,37.76236 -69.391665,39.79857 -0.716671,2.1592 -1.501123,4.31018 -2.354364,6.44967 z"
|
||||
id="path3366"
|
||||
inkscape:path-effect="#path-effect3368;#path-effect3370"
|
||||
inkscape:original-d="m 14.180584,486.19017 c 24.17881,-52.9724 69.67152,2.63945 75.25636,-43.94163 2.0203,-22.72843 14.142126,-34.3452 14.142126,-34.3452 l 2.0203,-25.75888"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:315.35021973px;line-height:125%;font-family:Cambria;-inkscape-font-specification:Cambria;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="268.54575"
|
||||
y="694.70093"
|
||||
id="text3372"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.9716026,1.0292274)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3374"
|
||||
x="268.54575"
|
||||
y="694.70093">Skint</tspan></text>
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 581.69204,389.69545 c 16.23354,-1.59103 32.60039,-1.00742 48.53338,1.69052 28.55371,4.38074 55.88097,15.62884 79.0603,32.4048 -23.83071,-15.84406 -51.34778,-25.84212 -79.51112,-29.02376 -15.7847,-1.53112 -31.69677,-0.94764 -47.18092,1.69052 z"
|
||||
id="path3376"
|
||||
inkscape:path-effect="#path-effect3378;#path-effect3380"
|
||||
inkscape:original-d="m 582.14286,393.07649 c 91.00073,-92.97044 57.78291,-11.11772 47.85715,0 -4.47715,5.0148 87.89271,-22.03612 79.28571,30.71428"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csc" />
|
||||
<path
|
||||
sodipodi:nodetypes="csc"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:original-d="m 931.16234,376.09819 c 41.56921,47.48284 26.39529,5.67815 21.86119,0 -2.04516,-2.56121 40.14946,11.25452 36.21777,-15.68672"
|
||||
inkscape:path-effect="#path-effect4196;#path-effect4198"
|
||||
id="path4194"
|
||||
d="m 931.40307,374.44882 c 7.036,1.30772 14.30361,1.59427 21.50009,0.82469 13.06357,-1.62592 25.75216,-6.78677 36.33814,-14.86204 -10.23778,8.50825 -22.8197,14.29273 -36.0974,16.5114 -7.27546,1.34262 -14.78634,1.62927 -22.22229,0.82469 z"
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:#aa0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 1029.8207,325.0598 c -4.9302,8.69837 -55.50383,17.06968 -46.1807,38.44885 l 17.3353,-17.69292 c -10.28761,12.80061 -8.42749,7.63371 -15.58781,18.93447 19.59521,-4.42655 37.47921,-16.95104 44.43321,-39.6904 z"
|
||||
id="path4200"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4205"
|
||||
d="m 778.57209,493.97375 c -8.26687,-11.78818 -13.65681,-94.41242 -71.89742,-72.12096 16.79947,9.20127 29.60205,24.79851 43.88694,37.5621 -28.12928,-23.40196 -18.3311,-20.11942 -42.6702,-35.9342 10.60017,46.85184 16.22719,53.86601 70.68068,70.49306 z"
|
||||
style="fill:#ff7f2a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
BIN
src/img/yourVisit/car.jpg
Normal file
|
After Width: | Height: | Size: 2.8 MiB |
BIN
src/img/yourVisit/explore.jpg
Normal file
|
After Width: | Height: | Size: 2.5 MiB |
BIN
src/img/yourVisit/food.jpg
Normal file
|
After Width: | Height: | Size: 397 KiB |
BIN
src/img/yourVisit/indoorCamping.jpg
Normal file
|
After Width: | Height: | Size: 594 KiB |
@@ -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;
|
||||
---
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<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>
|
||||
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
||||
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Skint Dance - International Dance and Music Weekend</title>
|
||||
<link rel="shortcut icon" type="image/x-icon" href={favicon} />
|
||||
<link
|
||||
href="//cdn-images.mailchimp.com/embedcode/horizontal-slim-10_7.css"
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://use.fontawesome.com/releases/v5.5.0/css/all.css"
|
||||
integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU"
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
|
||||
<body class="skint-colour-2">
|
||||
<Navbar />
|
||||
{hero && <Hero>{hero}</Hero>}
|
||||
<div class="container skint-container skint-colour-w rounded">
|
||||
<main>
|
||||
{title && <h1 class="text-center">{title}</h1>}
|
||||
<slot />
|
||||
</main>
|
||||
</div>
|
||||
<Footer />
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
</html>
|
||||
<style is:global>
|
||||
:root {
|
||||
--accent: 124, 58, 237;
|
||||
--accent-gradient: linear-gradient(45deg, rgb(var(--accent)), #da62c4 30%, white 60%);
|
||||
}
|
||||
|
||||
<style lang="scss" is:global>
|
||||
@import url("https://fonts.googleapis.com/css?family=Open+Sans");
|
||||
|
||||
html {
|
||||
font-family: system-ui, sans-serif;
|
||||
background-color: #F6F6F6;
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
|
||||
Bitstream Vera Sans Mono, Courier New, monospace;
|
||||
|
||||
.skint-container {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.skint-colour-1 {
|
||||
background-color: $skint-highlight;
|
||||
}
|
||||
|
||||
.skint-colour-2 {
|
||||
background-color: #edb579;
|
||||
}
|
||||
|
||||
.skint-colour-2-light {
|
||||
background-color: #f6ddc2;
|
||||
}
|
||||
|
||||
.skint-colour-w {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.striped {
|
||||
&:nth-child(odd) {
|
||||
background-color: #fff;
|
||||
.splash {
|
||||
order: 1;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(even) {
|
||||
background-color: #f6ddc2;
|
||||
.splash {
|
||||
order: 13;
|
||||
}
|
||||
}
|
||||
h3 {
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
body:not(.home-body) {
|
||||
font-family: "Open Sans", "sans-serif";
|
||||
}
|
||||
|
||||
.skint-header-img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.skint-unobtrusive-img {
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.centre-align {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
padding-top: 1rem;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.w100 {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.skint-button {
|
||||
background-color: $skint-highlight !important;
|
||||
border-color: $skint-highlight !important;
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
.jumbotron {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
102
src/pages/constitution.astro
Normal file
@@ -0,0 +1,102 @@
|
||||
---
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
---
|
||||
|
||||
<Layout title={"The Constitution"}>
|
||||
<div class="pb-1">
|
||||
<h4>1. Name</h4>
|
||||
<p>
|
||||
The name of the organisation is Skint (which is short for affordable
|
||||
Scandinavian and International music and dance).
|
||||
</p>
|
||||
|
||||
<h4>2. Aims and objectives</h4>
|
||||
<p>
|
||||
The promotion and enjoyment of international folk music and dance,
|
||||
especially to encourage people to try unfamiliar traditions of music and
|
||||
dance from different countries, and to make such opportunities available
|
||||
at affordable rates to those with low disposable incomes. In particular an
|
||||
annual weekend residential event is currently held to support these aims.
|
||||
Skint is a non-profit making organisation.
|
||||
</p>
|
||||
|
||||
<h4>3. Management</h4>
|
||||
<p>
|
||||
The management of the organisation is through a committee which includes
|
||||
with Chair, Secretary, and Treasurer and other members as appropriate. All
|
||||
committee members shall hold office until the next Annual General Meeting
|
||||
(AGM), but shall then be eligible for re-election. During the year, the
|
||||
committee shall have the power to co-opt additional members as necessary
|
||||
until the next AGM.
|
||||
</p>
|
||||
|
||||
<h4>4. Powers of the Committee</h4>
|
||||
<p>a) to raise funds and receive contributions</p>
|
||||
|
||||
<p>
|
||||
b) to organise insurance, e.g. through affiliation to a relevant
|
||||
organisation such as the Society of International Folk Dancing (SIFD)
|
||||
</p>
|
||||
|
||||
<p>
|
||||
c) all other lawful things as appropriate for furthering the aims and
|
||||
objectives.
|
||||
</p>
|
||||
|
||||
<h4>5. Membership</h4>
|
||||
<p>
|
||||
There is no formal membership for Skint. It is open to all. Current and
|
||||
previous attendees of events will be consulted and informed about major
|
||||
future plans for Skint.
|
||||
</p>
|
||||
|
||||
<h4>6. General Meetings</h4>
|
||||
|
||||
<p>
|
||||
An AGM shall normally be held between 15 September and 15 November each
|
||||
year.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Notice shall be given (of the AGM) to participants at the yearly
|
||||
residential event.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
At the AGM, three members of the committee must be present to achieve
|
||||
quorum.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
An Extraordinary General Meeting (EGM) may be called at other times of the
|
||||
year at the discretion of one or more members of the committee, providing
|
||||
notice is also given to the wider body of previous attendees.
|
||||
</p>
|
||||
|
||||
<h4>7. Decision making</h4>
|
||||
<p>
|
||||
Decisions shall be taken via consensus if possible, and through a majority
|
||||
vote if not.
|
||||
</p>
|
||||
|
||||
<h4>8. Accounts</h4>
|
||||
<p>
|
||||
The accounts for Skint shall be kept by the Treasurer, and shall be
|
||||
presented at the AGM. A bank account in the name of Skint and (with three
|
||||
authorised signatories from the Skint committee) shall be used to hold
|
||||
money for the organisation, and withdrawals must be authorised through at
|
||||
least two authorised signatories.
|
||||
</p>
|
||||
|
||||
<h4>9. Dissolution</h4>
|
||||
<p>
|
||||
Skint may be dissolved only by those present at an AGM or EGM. On
|
||||
dissolution of the group, any money held by the organisation shall be
|
||||
disposed of by the Committee, to an organisation which has similar aims to
|
||||
that of Skint.
|
||||
</p>
|
||||
|
||||
<h4>10. Alterations to the rules</h4>
|
||||
<p>These rules may be amended by an AGM or EGM as deemed necessary.</p>
|
||||
</div>
|
||||
</Layout>
|
||||
37
src/pages/contactus.astro
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
---
|
||||
|
||||
<Layout title={"Contact Us"}>
|
||||
<div class="pb-1">
|
||||
<p class="text-center">
|
||||
If you have any questions or just want to chat, then don't hesitate to get
|
||||
in touch!
|
||||
</p>
|
||||
|
||||
<ul class="button-list text-center">
|
||||
<li>
|
||||
<a
|
||||
class="btn skint-button"
|
||||
href="https://www.facebook.com/skintdance"
|
||||
target="_blank"><i class="fab fa-facebook-square"></i> skintdance</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="btn skint-button" href="mailto:skint.dance@gmail.com"
|
||||
><i class="fas fa-at"></i> skint.dance@gmail.com</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</Layout>
|
||||
<style lang="scss">
|
||||
|
||||
.button-list {
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
li {
|
||||
margin-bottom: 20px;
|
||||
margin-left: 20px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
123
src/pages/getinvolved.astro
Normal file
@@ -0,0 +1,123 @@
|
||||
---
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
|
||||
import what from "../img/getInvolved/whatIsIt.jpg";
|
||||
import volunteering from "../img/getInvolved/photo1.jpg";
|
||||
import children from "../img/getInvolved/photo2.jpg";
|
||||
import safe from "../img/getInvolved/safe.jpg";
|
||||
---
|
||||
|
||||
<Layout title={"Get Involved"}>
|
||||
<p>
|
||||
So you want to come to Skint? Whether you’ve never missed one or it’s your
|
||||
first time, we’d love to welcome you.
|
||||
</p>
|
||||
<div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6 order-lg-last">
|
||||
<img src={what} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h3>What is Skint?</h3>
|
||||
|
||||
<p>
|
||||
Skint is a weekend of international music and dance, held each year in
|
||||
Derbyshire, England. One of the main aims of Skint is to make European
|
||||
folk dance and music accessible to all, particularly to those who may
|
||||
be unable to afford festivals in the UK or abroad. You can read more
|
||||
about our aims in our constitution.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Skint is a very easy-going and friendly festival. During the day there
|
||||
are workshops for dancers and musicians, suitable for both complete
|
||||
beginners and the more experienced. The bals in the evening feature
|
||||
music and dancing from a variety of European traditions, (e.g. France,
|
||||
Scandinavia, England, Eastern Europe) much of which will have been
|
||||
taught earlier in the day.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Skint is open to all, regardless of age or experience. You just need
|
||||
an interest in European folk music and dance and a willingness to get
|
||||
involved!
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6">
|
||||
<img src={volunteering} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h3>Volunteering</h3>
|
||||
|
||||
<p>
|
||||
Everyone at Skint pitches in to ensure the smooth running of the
|
||||
festival. When you first arrive there will be a volunteering sheet and
|
||||
you'll sign up to help in one or two tasks. These include things like
|
||||
getting the tables ready for lunch, preparing the food, tidying the
|
||||
hall, and other such things
|
||||
</p>
|
||||
|
||||
<p>
|
||||
All of our workshops and concerts are taught and played by volunteers
|
||||
as well. When you apply for a ticket we'll ask you if there's anything
|
||||
that you would like to share with the festival.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
No-one is paid, and the committee pay the same amount to attend as
|
||||
other attendees.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6 order-lg-last">
|
||||
<img src={children} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h3>Children</h3>
|
||||
|
||||
<p>
|
||||
Children are very welcome at Skint. We seek to provide various
|
||||
activities to keep them entertained however we cannot take any
|
||||
responsibility for looking after them. For this reason we limit the
|
||||
number of children attached to a ticket to 2. We are an inclusive
|
||||
festival so if this causes a problem for you please contact us and we
|
||||
will be happy to work with you to find a solution
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6">
|
||||
<img src={safe} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h3>Safer Spaces and Accessibility</h3>
|
||||
|
||||
<p>
|
||||
At Skint we welcome all people, regardless of gender/gender identity,
|
||||
race, ethnicity, sexual orientation, disability, age, physical
|
||||
appearance, religion, employment status, dance or music ability, style
|
||||
or dance role.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
We are mindful and respectful of the needs and boundaries of each
|
||||
attendee and be ready to make reasonable accommodation for those
|
||||
needs, prioritising those that are typically marginalised by society.
|
||||
We are able to say ‘no’, and respect when others say ‘no’.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Our full safer spaces policy can be <a
|
||||
href="https://drive.google.com/open?id=1HY-979DCm9oXxBp3uxwkIn9w1bRZ8zxI"
|
||||
>read here</a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
@@ -1,81 +1,70 @@
|
||||
---
|
||||
import Layout from '../layouts/Layout.astro';
|
||||
import Card from '../components/Card.astro';
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
import DatesAndBooking from "../components/DatesAndBooking.astro";
|
||||
|
||||
import dancing1 from "../img/frontPage/dancing1.jpg";
|
||||
import music from "../img/frontPage/music1.jpg";
|
||||
import food from "../img/frontPage/food2.jpg";
|
||||
import games from "../img/frontPage/funAndGames.jpg";
|
||||
---
|
||||
|
||||
<Layout title="Welcome to Astro.">
|
||||
<main>
|
||||
<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
|
||||
hero="A warm, budget-friendly Scandi and International folk weekend in the Peaks, where everyone pitches in to help"
|
||||
>
|
||||
<DatesAndBooking />
|
||||
|
||||
<div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-md-6 order-md-last">
|
||||
<img src={dancing1} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h3>Dancing</h3>
|
||||
Skint is above all a dance festival. We revel in all forms of dancing from
|
||||
around the world but have a special love for Scandinavian and French. Whether
|
||||
it's a twirly polska, a slinky mazurka, or a flowing contra, we have them
|
||||
all. We teach the dances during the day and then dance until we drop in the
|
||||
evening.
|
||||
</div>
|
||||
</div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-md-6">
|
||||
<img style="float: right" src={music} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h3>Music</h3>
|
||||
What would dancing be without music? At Skint we aim to have 100% live music
|
||||
all the time and all our live musicians are volunteers - We're here for the
|
||||
love of the music and the dance. Our evening bals have a variety of groups
|
||||
and scratch bands with everyone joining in. There are music workshops and
|
||||
informal sessions throughout the day.
|
||||
</div>
|
||||
</div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-md-6 order-md-last">
|
||||
<img src={food} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h3>Food</h3>
|
||||
The meals of Skint are one of the highlights of the festival. It's a time
|
||||
when almost the entire festival is in one room, sharing one meal, and enjoying
|
||||
the company. The food itself is consistently amazing, having been prepared
|
||||
by festival-goers themselves. Just make sure you grab the midnight snack
|
||||
before it goes!
|
||||
</div>
|
||||
</div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-md-6">
|
||||
<img src={games} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h3>Games and silliness</h3>
|
||||
Skint is not above some little silliness. We enjoy breaking the ice with
|
||||
some form of game on the first night. And the games, and silliness, tend
|
||||
to creep across the entire festival. Whether it's trolls chasing wizards,
|
||||
passing round the boot, or simply singing silly songs, we make sure that
|
||||
everyone has a good time.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
|
||||
<style>
|
||||
main {
|
||||
margin: auto;
|
||||
padding: 1.5rem;
|
||||
max-width: 60ch;
|
||||
}
|
||||
h1 {
|
||||
font-size: 3rem;
|
||||
font-weight: 800;
|
||||
margin: 0;
|
||||
}
|
||||
.text-gradient {
|
||||
background-image: var(--accent-gradient);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
background-size: 400%;
|
||||
background-position: 0%;
|
||||
}
|
||||
.instructions {
|
||||
line-height: 1.6;
|
||||
margin: 1rem 0;
|
||||
border: 1px solid rgba(var(--accent), 25%);
|
||||
background-color: white;
|
||||
padding: 1rem;
|
||||
border-radius: 0.4rem;
|
||||
}
|
||||
.instructions code {
|
||||
font-size: 0.875em;
|
||||
font-weight: bold;
|
||||
background: rgba(var(--accent), 12%);
|
||||
color: rgb(var(--accent));
|
||||
border-radius: 4px;
|
||||
padding: 0.3em 0.45em;
|
||||
}
|
||||
.instructions strong {
|
||||
color: rgb(var(--accent));
|
||||
}
|
||||
.link-card-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(24ch, 1fr));
|
||||
gap: 1rem;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
15
src/pages/library.astro
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
import Library from "../components/Library.jsx";
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
|
||||
import resources from "../data/resources.json";
|
||||
---
|
||||
|
||||
<Layout title="Library">
|
||||
<div class="pb-1">
|
||||
<p>Here we store the records of Skints past.</p>
|
||||
|
||||
<Library resources={resources} client:load/>
|
||||
|
||||
</div>
|
||||
</Layout>
|
||||
166
src/pages/tickets.astro
Normal file
@@ -0,0 +1,166 @@
|
||||
---
|
||||
import DatesAndBooking from "../components/DatesAndBooking.astro";
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
---
|
||||
|
||||
<Layout title={"Tickets"}>
|
||||
<DatesAndBooking />
|
||||
<div class="pb-1">
|
||||
<p>
|
||||
To be alerted when our booking opens, please sign up to our mailing list
|
||||
below or follow us on <a href="https://www.facebook.com/skintdance"
|
||||
>Facebook</a
|
||||
>!
|
||||
</p>
|
||||
|
||||
<h3>Tickets and Booking</h3>
|
||||
|
||||
<p>
|
||||
Tickets for Skint very customisable. Accommodation and meals are optional
|
||||
items. This allows us to overcome the traditional limiting factor of
|
||||
Skint, catering for all of us, and allows you to choose which parts of
|
||||
Skint you want to enjoy.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There are some fantastic pubs in the village which serve food, as well as
|
||||
a small shop, and of course you are welcome to bring your own food.
|
||||
However, there will be no kitchen space or seating in the hall for
|
||||
self-catering.
|
||||
</p>
|
||||
|
||||
<p>You can buy tickets for 2 adults at the same time.</p>
|
||||
|
||||
<p>
|
||||
<strong>Tickets are non-transferrable</strong>. They allow only the named
|
||||
person to attend. You cannot sell or give them to someone else. This is to
|
||||
make the application process fair for everyone, and we enforce the rules.
|
||||
In exceptional cases we may cancel tickets obtained in contravention of
|
||||
the rules.
|
||||
</p>
|
||||
|
||||
<h4>Cancellations and Refunds</h4>
|
||||
|
||||
<p>
|
||||
Due to the exceptional circumstances this year, there will be no cut off
|
||||
for refunds. We will be offering full refunds (minus our booking &
|
||||
banking fees) on tickets right up until the start of the festival. If your
|
||||
circumstances change amd you are unable to attend Skint, please let us
|
||||
know.
|
||||
</p>
|
||||
|
||||
<h4>Children</h4>
|
||||
<p>
|
||||
Children under 16s don't need to buy the admission ticket, but they will
|
||||
need to pay for any meals and camping they wish to use.
|
||||
</p>
|
||||
|
||||
<h3>Costs</h3>
|
||||
<div class="container" style="margin-bottom:20px">
|
||||
<div class="row justify-content-start">
|
||||
<div class="col-md-6">
|
||||
<h5>In advance</h5>
|
||||
<table
|
||||
class="table table-condensed table-bordered"
|
||||
style="background-color:#fff"
|
||||
>
|
||||
<tr>
|
||||
<th colspan="32">A place at Skint</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Admission (adult)</td>
|
||||
<td style="width:70px">£22</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Admission (under 16)</td>
|
||||
<td style="width:70px">£0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="32">Meals</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:10px"></td>
|
||||
<td>Friday evening, 6pm</td>
|
||||
<td style="width:70px">£5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Saturday lunch, 1pm</td>
|
||||
<td>£4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Saturday evening, 6pm</td>
|
||||
<td>£5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Sunday lunch, 1pm</td>
|
||||
<td>£4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="32">Camping</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td
|
||||
>Indoor
|
||||
<div style="font-size:smaller">
|
||||
Friday & Saturday nights. Camping in the hall. Bring camping
|
||||
mat, sleeping bag & ear plugs!
|
||||
</div>
|
||||
</td>
|
||||
<td style="width:70px">£10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td
|
||||
>Outdoor
|
||||
<div style="font-size:smaller">
|
||||
Friday & Saturday nights. Camping in a nearby field. Bring a
|
||||
tent & thermals!
|
||||
</div>
|
||||
</td>
|
||||
<td style="width:70px">£10</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h5>On the door</h5>
|
||||
<table
|
||||
class="table table-condensed table-bordered"
|
||||
style="background-color:#fff"
|
||||
>
|
||||
<tr>
|
||||
<th colspan="32">Dancing and Workshops</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width:10px"></td>
|
||||
<td>Friday evening bal, from 8pm</td>
|
||||
<td style="width:70px">£6</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Saturday workshops</td>
|
||||
<td>£6</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Saturday evening bal, from 8pm</td>
|
||||
<td>£6</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Sunday workshops and bal</td>
|
||||
<td>£6</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Meal tickets are not available on the door.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
115
src/pages/usefulinfo.astro
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
---
|
||||
|
||||
<Layout title={"Useful Info"}>
|
||||
<h1>Useful Info</h1>
|
||||
<h3>Provisional Timetable</h3>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<table class="table table-condensed" style="background-color:#fff">
|
||||
<tr>
|
||||
<th colspan="2"
|
||||
>Friday
|
||||
<th> </th>
|
||||
<tr>
|
||||
<td style="width:120px">15:00</td>
|
||||
<td>Venue opens</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>18:00 - 20:00</td>
|
||||
<td>Dinner</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20:00 - 00:00</td>
|
||||
<td>Bal</td>
|
||||
</tr>
|
||||
</th>
|
||||
</tr>
|
||||
<div class="col-md-4">
|
||||
<table class="table table-condensed" style="background-color:#fff">
|
||||
<tr>
|
||||
<th colspan="2"
|
||||
>Saturday
|
||||
<th> </th>
|
||||
<tr>
|
||||
<td style="width:120px">until 10:15</td>
|
||||
<td>Breakfast</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>10:15 - 11:30</td>
|
||||
<td>Workshop slot 1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11:45 - 13:00</td>
|
||||
<td>Workshop slot 2</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>13:00 - 14:30</td>
|
||||
<td>Lunch</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>14:30 - 15:45</td>
|
||||
<td>Workshop slot 3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>16:00 - 17:15</td>
|
||||
<td>Workshop slot 4</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>18:00 - 20:00</td>
|
||||
<td>Dinner</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>20:00 - 00:00</td>
|
||||
<td>Bal</td>
|
||||
</tr>
|
||||
</th>
|
||||
</tr>
|
||||
<div class="col-md-4">
|
||||
<table
|
||||
class="table table-condensed"
|
||||
style="background-color:#fff"
|
||||
>
|
||||
<tr>
|
||||
<th colspan="2"
|
||||
>Sunday
|
||||
<th> </th>
|
||||
<tr>
|
||||
<td style="width:120px">until 10:00</td>
|
||||
<td>Breakfast</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>10:00 - 11:15</td>
|
||||
<td>Workshop slot 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11:30 - 12:45</td>
|
||||
<td>Workshop slot 6</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>12:45 - 14:00</td>
|
||||
<td>Lunch</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>14:00 - 16:00</td>
|
||||
<td>Clear-up</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>16:00 - 17:30</td>
|
||||
<td>Bal</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>18:00</td>
|
||||
<td>Venue closes</td>
|
||||
</tr>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</table>
|
||||
</div>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
242
src/pages/yourvisit.astro
Normal file
@@ -0,0 +1,242 @@
|
||||
---
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
|
||||
import car from "../img/yourVisit/car.jpg";
|
||||
import indoorCamping from "../img/yourVisit/indoorCamping.jpg";
|
||||
import food from "../img/yourVisit/food.jpg";
|
||||
import explore from "../img/yourVisit/explore.jpg";
|
||||
---
|
||||
|
||||
<Layout title={"Your Visit"}>
|
||||
<div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6 order-lg-last">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<iframe
|
||||
class="embed-responsive-item"
|
||||
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2391.964782681162!2d-1.478728048994796!3d53.16467119590682!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x48798f01f833bedb%3A0x36299d8139872251!2sAshover+Parish+Hall!5e0!3m2!1sen!2suk!4v1459949293259"
|
||||
></iframe>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h2>Where is it?</h2>
|
||||
<p>
|
||||
Skint takes place in Ashover Village Hall. Ashover is a Derbyshire
|
||||
village situated in the Amber valley, just outside the Peak District
|
||||
National Park, 4 miles north east of Matlock. It lies off the B6036
|
||||
Matlock to Chesterfield road.
|
||||
</p>
|
||||
|
||||
<p>The hall is on Milken Lane, opposite the Black Swan pub.</p>
|
||||
|
||||
<p>
|
||||
<a href="http://goo.gl/maps/ll0k"
|
||||
>Ashover Parish Hall, Milken Lane, Ashover, Derbyshire S45 0BA</a
|
||||
>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6">
|
||||
<img src={car} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-lg-6 order-lg-last">
|
||||
<h2>Getting here?</h2>
|
||||
<h4>Train, bus & taxis</h4>
|
||||
<p>
|
||||
The nearest train station is Chesterfield. Matlock and Sheffield
|
||||
stations are also nearby.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Bus number 63 goes from Chesterfield to Ashover village, and number
|
||||
X17 goes from Sheffield/ Chesterfield to Kelstedge (1 mile walk to
|
||||
Ashover village hall). Buses are fairly regular but not frequent so
|
||||
it's worth <a target="_blank" href="https://www.traveline.info/"
|
||||
>checking times in advance</a
|
||||
>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Chesterfield Station's <a
|
||||
target="_blank"
|
||||
href="https://www.nationalrail.co.uk/posters/CHD.pdf"
|
||||
>onward travel information</a
|
||||
> has useful information about bus stop locations, as well as local taxi
|
||||
information in case you happen to arrive at a time when no buses are running:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you're planning to take a taxi from the station, you might want to
|
||||
make use of the Skint car- sharing site to find others to share the
|
||||
taxi with (see below).
|
||||
</p>
|
||||
|
||||
<h4>Car parking</h4>
|
||||
|
||||
<p>There is plenty of parking at the venue.</p>
|
||||
|
||||
<h4>Lift sharing</h4>
|
||||
|
||||
<p>
|
||||
We encourage lift-sharing where possible. If you have a car, please
|
||||
consider offering spaces to other Skinters. If you can drive but don't
|
||||
have a car, maybe it's worth getting a group together to hire one for
|
||||
the weekend.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To help with coordinating car shares we'll be sending out a link to a
|
||||
Skint-specific car sharing site to all attendees, so keep an eye out
|
||||
in your emails.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6 order-lg-last">
|
||||
<img src={indoorCamping} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h2>Accommodation</h2>
|
||||
|
||||
<h4>Stay with us</h4>
|
||||
|
||||
<p>
|
||||
As part of your weekend ticket you will have the option for indoor or
|
||||
outdoor camping. Campers of both varieties have access to the showers
|
||||
in the Sports Pavilion next door at certain times during the weekend.
|
||||
The showers are coin-operated with 20p pieces, so please bring some
|
||||
with you! There are communal showers for males/ females, as well as a
|
||||
separate accessible shower for anyone who prefers to shower alone.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you are camping indoors please bring a sleeping bag, mat, and
|
||||
pillow. As everyone is sleeping in close proximity and there may be
|
||||
music late into the night in adjoining rooms, we suggest that you
|
||||
bring earplugs!
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you are camping outdoors, please bring a sleeping bag, mat, pillow,
|
||||
lots of warm layers, and a tent! There is a small amount of
|
||||
hardstanding for campervans on the camping field. Outdoor camping is
|
||||
in the field next to the village hall. You are not allowed to sleep in
|
||||
the hall carpark by order of the council (this will be externally
|
||||
enforced).
|
||||
</p>
|
||||
|
||||
<h4>Stay elsewhere</h4>
|
||||
|
||||
<p>
|
||||
Some people like to sleep in a real bed. If that's you, you can look
|
||||
for your own accommodation in the village. Here are some ideas to get
|
||||
you started:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://www.titanicbrewery.co.uk/our-pubs/the-old-poets-corner/"
|
||||
>Old Poets Corner</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://stampcoffeeshop.com/accommodation"
|
||||
>Stamp Coffee shop</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://www.airbnb.co.uk/">Airbnb</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6">
|
||||
<img src={food} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h2>Food & Drink</h2>
|
||||
|
||||
<h4>At Skint</h4>
|
||||
|
||||
<p>
|
||||
All food at Skint is delicious, vegetarian, and prepared by
|
||||
Skint-goers themselves. We do cater for other dietary requirements and
|
||||
allergies - please let us know when booking. If you'd like to join in
|
||||
the Skint catering, make sure you include meals in your ticket when
|
||||
you book.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Water, juice, tea, and coffee are provided, as well as late-night
|
||||
snacks. You're welcome to join in these whether you have a meal ticket
|
||||
or not.
|
||||
</p>
|
||||
|
||||
<p>There's no bar on-site. Feel free to bring your own drinks.</p>
|
||||
|
||||
<h4>Nearby</h4>
|
||||
<p>
|
||||
There are several pubs and cafes in the village that offer fantastic
|
||||
food and drinks
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a target="_blank" href="https://www.facebook.com/dwbown/"
|
||||
>D W Brown Butchers</a
|
||||
> - (actually more like a farm shop/ corner shop) - Mon-Sun, ~8am-3 or
|
||||
4pm, closed over lunchtimet
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://stampcoffeeshop.com">Stamp Cafe</a>
|
||||
- Breakfast and lunch, Mon-Sat
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://www.theblackswanashover.com"
|
||||
>Black Swan</a
|
||||
> - Lunch and dinner, Tues-Sun
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://www.facebook.com/TheCrispinInn"
|
||||
>Crispin Inn</a
|
||||
> - Lunch and dinner, Mon-Sun
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
target="_blank"
|
||||
href="https://www.titanicbrewery.co.uk/our-pubs/the-old-poets-corner/"
|
||||
>Old Poets Corner</a
|
||||
> - Lunch and dinner, Tues-Sat
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row striped py-3">
|
||||
<div class="col-lg-6 order-lg-last">
|
||||
<img src={explore} class="img-fluid p-2 rounded" />
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h2>Explore the area</h2>
|
||||
|
||||
<p>
|
||||
Ashover is surrounded by beautiful countryside, great for taking a
|
||||
breather from the festival. Some good landmarks/ viewing points within
|
||||
walking distance are <a
|
||||
target="_blank"
|
||||
href="https://www.greatbritishlife.co.uk/things-to-do/walks/county-walk-ashover-6501638"
|
||||
>Ashover Rock</a
|
||||
> (~ 1 mile) and <a
|
||||
target="_blank"
|
||||
href="http://www.derbyshire-peakdistrict.co.uk/ashoverwalk.htm"
|
||||
>Cocking Tor</a
|
||||
>
|
||||
(~ 2 miles).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Layout>
|
||||
2
src/styles/vars.scss
Normal file
@@ -0,0 +1,2 @@
|
||||
$skint-highlight: hsl(8, 57%, 35%);
|
||||
$skint-colour-2: #edb579;
|
||||
@@ -1,3 +1,7 @@
|
||||
{
|
||||
"extends": "astro/tsconfigs/strict"
|
||||
"extends": "astro/tsconfigs/strict",
|
||||
"compilerOptions": {
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "react"
|
||||
}
|
||||
}
|
||||