diff options
author | Manurbhav | 2024-06-04 18:09:45 +0530 |
---|---|---|
committer | Manurbhav | 2024-06-04 18:09:45 +0530 |
commit | df08439fe9a02def62de129b67782f2014418f0a (patch) | |
tree | 2da73e9bfe7d6ac4d0799106b4d6f479badb85de | |
parent | 33e9f2b9cbf81ec873970aece323de8bedf93ad0 (diff) | |
download | IotJS-Astro-df08439fe9a02def62de129b67782f2014418f0a.tar.gz IotJS-Astro-df08439fe9a02def62de129b67782f2014418f0a.tar.bz2 IotJS-Astro-df08439fe9a02def62de129b67782f2014418f0a.zip |
Added md files for better readability
108 files changed, 2293 insertions, 88 deletions
@@ -63,7 +63,7 @@ npm install ## Start the development server: ```bash -npm run dev +npm run start ``` ### Open your browser and navigate to http://localhost:4321 to view the converted website. diff --git a/astro.config.mjs b/astro.config.mjs index 461bd30..9bf6251 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,8 +1,13 @@ -import { defineConfig } from 'astro/config'; - +import { defineConfig } from "astro/config"; import tailwind from "@astrojs/tailwind"; +import node from "@astrojs/node"; + // https://astro.build/config export default defineConfig({ - integrations: [tailwind()] -});
\ No newline at end of file + integrations: [tailwind()], + output: "server", + adapter: node({ + mode: "standalone", + }), +}); diff --git a/package-lock.json b/package-lock.json index abcf7a6..c3e3b77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,17 +9,27 @@ "version": "0.0.1", "dependencies": { "@astrojs/check": "^0.5.10", + "@astrojs/node": "^8.2.5", "@astrojs/tailwind": "^5.1.0", + "@auth/core": "^0.18.6", "@fortawesome/fontawesome-svg-core": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@lucia-auth/adapter-sqlite": "^3.0.0", "@popperjs/core": "^2.11.8", "@types/bootstrap": "^5.2.10", "@xexiu/astro-accordion": "^0.0.10", "astro": "^4.6.2", "astro-bootstrap": "^0.6.2", + "auth-astro": "^4.1.1", + "better-sqlite3": "^9.2.2", "bootstrap": "^5.3.3", + "lucia": "^3.2.0", + "oslo": "^1.0.3", "tailwindcss": "^3.4.3", "typescript": "^5.4.5" + }, + "devDependencies": { + "@types/better-sqlite3": "^7.6.8" } }, "node_modules/@alloc/quick-lru": { @@ -136,6 +146,18 @@ "vfile": "^6.0.1" } }, + "node_modules/@astrojs/node": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/@astrojs/node/-/node-8.2.5.tgz", + "integrity": "sha512-IdVD4dBNyg+ScmCATZ0FM7vNLAHq0TSdiJ3LpR4jcWIUhpN1ps5Jg+9CfzMaLmCCe/SJUZejK5EnzqUJdnGYyg==", + "dependencies": { + "send": "^0.18.0", + "server-destroy": "^1.0.1" + }, + "peerDependencies": { + "astro": "^4.2.0" + } + }, "node_modules/@astrojs/prism": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.1.0.tgz", @@ -186,6 +208,33 @@ "undici": "^5.22.0" } }, + "node_modules/@auth/core": { + "version": "0.18.6", + "resolved": "https://registry.npmjs.org/@auth/core/-/core-0.18.6.tgz", + "integrity": "sha512-AI7tnyNOg5zVS2elA44O03MWS6jyp69S8habJts63IyiCIoSkhqcZX4EcEJ0287m0hxzOltPCV9Zq2aqXbrNSA==", + "dependencies": { + "@panva/hkdf": "^1.1.1", + "@types/cookie": "0.6.0", + "cookie": "0.6.0", + "jose": "^5.1.3", + "oauth4webapi": "^2.4.0", + "preact": "10.11.3", + "preact-render-to-string": "5.2.3" + }, + "peerDependencies": { + "nodemailer": "^6.8.0" + }, + "peerDependenciesMeta": { + "nodemailer": { + "optional": true + } + } + }, + "node_modules/@auth/core/node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, "node_modules/@babel/code-frame": { "version": "7.24.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", @@ -475,6 +524,17 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/runtime": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.6.tgz", + "integrity": "sha512-Ja18XcETdEl5mzzACGd+DKgaGJzPTCow7EglgwTmHdwokzDFYh/MHua6lU6DV/hjF2IaOJ4oX2nqnjG7RElKOw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.24.0", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", @@ -542,6 +602,24 @@ "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz", "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==" }, + "node_modules/@emnapi/core": { + "version": "0.45.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-0.45.0.tgz", + "integrity": "sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "0.45.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-0.45.0.tgz", + "integrity": "sha512-Txumi3td7J4A/xTTwlssKieHKTGl3j4A1tglBx72auZ49YK7ePY6XZricgIg9mnZT4xPfA+UPCUdnhRuEFDL+w==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.19.12", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", @@ -1008,6 +1086,652 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@lucia-auth/adapter-sqlite": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@lucia-auth/adapter-sqlite/-/adapter-sqlite-3.0.1.tgz", + "integrity": "sha512-bzr8+HALrbiYMb/+oL1SAnjbgFqlPs/Kj4lO57t/VvbXzmbpQEKk5Nv6hMpvWSkGAR9LbxYeQAtecikpKZVB0w==", + "peerDependencies": { + "@libsql/client": "^0.3.0", + "better-sqlite3": "8.x - 9.x", + "lucia": "3.x" + }, + "peerDependenciesMeta": { + "@libsql/client": { + "optional": true + }, + "better-sqlite3": { + "optional": true + } + } + }, + "node_modules/@next/env": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.3.tgz", + "integrity": "sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==", + "peer": true + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.3.tgz", + "integrity": "sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.3.tgz", + "integrity": "sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.3.tgz", + "integrity": "sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.3.tgz", + "integrity": "sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.3.tgz", + "integrity": "sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.3.tgz", + "integrity": "sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.3.tgz", + "integrity": "sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.3.tgz", + "integrity": "sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.3.tgz", + "integrity": "sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2/-/argon2-1.7.0.tgz", + "integrity": "sha512-zfULc+/tmcWcxn+nHkbyY8vP3+MpEqKORbszt4UkpqZgBgDAAIYvuDN/zukfTgdmo6tmJKKVfzigZOPk4LlIog==", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@node-rs/argon2-android-arm-eabi": "1.7.0", + "@node-rs/argon2-android-arm64": "1.7.0", + "@node-rs/argon2-darwin-arm64": "1.7.0", + "@node-rs/argon2-darwin-x64": "1.7.0", + "@node-rs/argon2-freebsd-x64": "1.7.0", + "@node-rs/argon2-linux-arm-gnueabihf": "1.7.0", + "@node-rs/argon2-linux-arm64-gnu": "1.7.0", + "@node-rs/argon2-linux-arm64-musl": "1.7.0", + "@node-rs/argon2-linux-x64-gnu": "1.7.0", + "@node-rs/argon2-linux-x64-musl": "1.7.0", + "@node-rs/argon2-wasm32-wasi": "1.7.0", + "@node-rs/argon2-win32-arm64-msvc": "1.7.0", + "@node-rs/argon2-win32-ia32-msvc": "1.7.0", + "@node-rs/argon2-win32-x64-msvc": "1.7.0" + } + }, + "node_modules/@node-rs/argon2-android-arm-eabi": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-android-arm-eabi/-/argon2-android-arm-eabi-1.7.0.tgz", + "integrity": "sha512-udDqkr5P9E+wYX1SZwAVPdyfYvaF4ry9Tm+R9LkfSHbzWH0uhU6zjIwNRp7m+n4gx691rk+lqqDAIP8RLKwbhg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-android-arm64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-android-arm64/-/argon2-android-arm64-1.7.0.tgz", + "integrity": "sha512-s9j/G30xKUx8WU50WIhF0fIl1EdhBGq0RQ06lEhZ0Gi0ap8lhqbE2Bn5h3/G2D1k0Dx+yjeVVNmt/xOQIRG38A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-darwin-arm64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-darwin-arm64/-/argon2-darwin-arm64-1.7.0.tgz", + "integrity": "sha512-ZIz4L6HGOB9U1kW23g+m7anGNuTZ0RuTw0vNp3o+2DWpb8u8rODq6A8tH4JRL79S+Co/Nq608m9uackN2pe0Rw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-darwin-x64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-darwin-x64/-/argon2-darwin-x64-1.7.0.tgz", + "integrity": "sha512-5oi/pxqVhODW/pj1+3zElMTn/YukQeywPHHYDbcAW3KsojFjKySfhcJMd1DjKTc+CHQI+4lOxZzSUzK7mI14Hw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-freebsd-x64": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-freebsd-x64/-/argon2-freebsd-x64-1.7.0.tgz", + "integrity": "sha512-Ify08683hA4QVXYoIm5SUWOY5DPIT/CMB0CQT+IdxQAg/F+qp342+lUkeAtD5bvStQuCx/dFO3bnnzoe2clMhA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-arm-gnueabihf": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm-gnueabihf/-/argon2-linux-arm-gnueabihf-1.7.0.tgz", + "integrity": "sha512-7DjDZ1h5AUHAtRNjD19RnQatbhL+uuxBASuuXIBu4/w6Dx8n7YPxwTP4MXfsvuRgKuMWiOb/Ub/HJ3kXVCXRkg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-arm64-gnu": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm64-gnu/-/argon2-linux-arm64-gnu-1.7.0.tgz", + "integrity": "sha512-nJDoMP4Y3YcqGswE4DvP080w6O24RmnFEDnL0emdI8Nou17kNYBzP2546Nasx9GCyLzRcYQwZOUjrtUuQ+od2g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-arm64-musl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-arm64-musl/-/argon2-linux-arm64-musl-1.7.0.tgz", + "integrity": "sha512-BKWS8iVconhE3jrb9mj6t1J9vwUqQPpzCbUKxfTGJfc+kNL58F1SXHBoe2cDYGnHrFEHTY0YochzXoAfm4Dm/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-x64-gnu": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-x64-gnu/-/argon2-linux-x64-gnu-1.7.0.tgz", + "integrity": "sha512-EmgqZOlf4Jurk/szW1iTsVISx25bKksVC5uttJDUloTgsAgIGReCpUUO1R24pBhu9ESJa47iv8NSf3yAfGv6jQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-linux-x64-musl": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-linux-x64-musl/-/argon2-linux-x64-musl-1.7.0.tgz", + "integrity": "sha512-/o1efYCYIxjfuoRYyBTi2Iy+1iFfhqHCvvVsnjNSgO1xWiWrX0Rrt/xXW5Zsl7vS2Y+yu8PL8KFWRzZhaVxfKA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-wasm32-wasi": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-wasm32-wasi/-/argon2-wasm32-wasi-1.7.0.tgz", + "integrity": "sha512-Evmk9VcxqnuwQftfAfYEr6YZYSPLzmKUsbFIMep5nTt9PT4XYRFAERj7wNYp+rOcBenF3X4xoB+LhwcOMTNE5w==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/core": "^0.45.0", + "@emnapi/runtime": "^0.45.0", + "@tybys/wasm-util": "^0.8.1", + "memfs-browser": "^3.4.13000" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@node-rs/argon2-win32-arm64-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-arm64-msvc/-/argon2-win32-arm64-msvc-1.7.0.tgz", + "integrity": "sha512-qgsU7T004COWWpSA0tppDqDxbPLgg8FaU09krIJ7FBl71Sz8SFO40h7fDIjfbTT5w7u6mcaINMQ5bSHu75PCaA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-win32-ia32-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-ia32-msvc/-/argon2-win32-ia32-msvc-1.7.0.tgz", + "integrity": "sha512-JGafwWYQ/HpZ3XSwP4adQ6W41pRvhcdXvpzIWtKvX+17+xEXAe2nmGWM6s27pVkg1iV2ZtoYLRDkOUoGqZkCcg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/argon2-win32-x64-msvc": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@node-rs/argon2-win32-x64-msvc/-/argon2-win32-x64-msvc-1.7.0.tgz", + "integrity": "sha512-9oq4ShyFakw8AG3mRls0AoCpxBFcimYx7+jvXeAf2OqKNO+mSA6eZ9z7KQeVCi0+SOEUYxMGf5UiGiDb9R6+9Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt/-/bcrypt-1.9.0.tgz", + "integrity": "sha512-u2OlIxW264bFUfvbFqDz9HZKFjwe8FHFtn7T/U8mYjPZ7DWYpbUB+/dkW/QgYfMSfR0ejkyuWaBBe0coW7/7ig==", + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@node-rs/bcrypt-android-arm-eabi": "1.9.0", + "@node-rs/bcrypt-android-arm64": "1.9.0", + "@node-rs/bcrypt-darwin-arm64": "1.9.0", + "@node-rs/bcrypt-darwin-x64": "1.9.0", + "@node-rs/bcrypt-freebsd-x64": "1.9.0", + "@node-rs/bcrypt-linux-arm-gnueabihf": "1.9.0", + "@node-rs/bcrypt-linux-arm64-gnu": "1.9.0", + "@node-rs/bcrypt-linux-arm64-musl": "1.9.0", + "@node-rs/bcrypt-linux-x64-gnu": "1.9.0", + "@node-rs/bcrypt-linux-x64-musl": "1.9.0", + "@node-rs/bcrypt-wasm32-wasi": "1.9.0", + "@node-rs/bcrypt-win32-arm64-msvc": "1.9.0", + "@node-rs/bcrypt-win32-ia32-msvc": "1.9.0", + "@node-rs/bcrypt-win32-x64-msvc": "1.9.0" + } + }, + "node_modules/@node-rs/bcrypt-android-arm-eabi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm-eabi/-/bcrypt-android-arm-eabi-1.9.0.tgz", + "integrity": "sha512-nOCFISGtnodGHNiLrG0WYLWr81qQzZKYfmwHc7muUeq+KY0sQXyHOwZk9OuNQAWv/lnntmtbwkwT0QNEmOyLvA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-android-arm64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-android-arm64/-/bcrypt-android-arm64-1.9.0.tgz", + "integrity": "sha512-+ZrIAtigVmjYkqZQTThHVlz0+TG6D+GDHWhVKvR2DifjtqJ0i+mb9gjo++hN+fWEQdWNGxKCiBBjwgT4EcXd6A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-darwin-arm64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-arm64/-/bcrypt-darwin-arm64-1.9.0.tgz", + "integrity": "sha512-CQiS+F9Pa0XozvkXR1g7uXE9QvBOPOplDg0iCCPRYTN9PqA5qYxhwe48G3o+v2UeQceNRrbnEtWuANm7JRqIhw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-darwin-x64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-darwin-x64/-/bcrypt-darwin-x64-1.9.0.tgz", + "integrity": "sha512-4pTKGawYd7sNEjdJ7R/R67uwQH1VvwPZ0SSUMmeNHbxD5QlwAPXdDH11q22uzVXsvNFZ6nGQBg8No5OUGpx6Ug==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-freebsd-x64": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-freebsd-x64/-/bcrypt-freebsd-x64-1.9.0.tgz", + "integrity": "sha512-UmWzySX4BJhT/B8xmTru6iFif3h0Rpx3TqxRLCcbgmH43r7k5/9QuhpiyzpvKGpKHJCFNm4F3rC2wghvw5FCIg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm-gnueabihf": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm-gnueabihf/-/bcrypt-linux-arm-gnueabihf-1.9.0.tgz", + "integrity": "sha512-8qoX4PgBND2cVwsbajoAWo3NwdfJPEXgpCsZQZURz42oMjbGyhhSYbovBCskGU3EBLoC8RA2B1jFWooeYVn5BA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-gnu/-/bcrypt-linux-arm64-gnu-1.9.0.tgz", + "integrity": "sha512-TuAC6kx0SbcIA4mSEWPi+OCcDjTQUMl213v5gMNlttF+D4ieIZx6pPDGTaMO6M2PDHTeCG0CBzZl0Lu+9b0c7Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-arm64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-arm64-musl/-/bcrypt-linux-arm64-musl-1.9.0.tgz", + "integrity": "sha512-/sIvKDABOI8QOEnLD7hIj02BVaNOuCIWBKvxcJOt8+TuwJ6zmY1UI5kSv9d99WbiHjTp97wtAUbZQwauU4b9ew==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-x64-gnu": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-gnu/-/bcrypt-linux-x64-gnu-1.9.0.tgz", + "integrity": "sha512-DyyhDHDsLBsCKz1tZ1hLvUZSc1DK0FU0v52jK6IBQxrj24WscSU9zZe7ie/V9kdmA4Ep57BfpWX8Dsa2JxGdgQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-linux-x64-musl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-linux-x64-musl/-/bcrypt-linux-x64-musl-1.9.0.tgz", + "integrity": "sha512-duIiuqQ+Lew8ASSAYm6ZRqcmfBGWwsi81XLUwz86a2HR7Qv6V4yc3ZAUQovAikhjCsIqe8C11JlAZSK6+PlXYg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-wasm32-wasi": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-wasm32-wasi/-/bcrypt-wasm32-wasi-1.9.0.tgz", + "integrity": "sha512-ylaGmn9Wjwv/D5lxtawttx3H6Uu2WTTR7lWlRHGT6Ga/MB1Vj4OjSGUW8G8zIVnKuXpGbZ92pgHlt4HUpSLctw==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/core": "^0.45.0", + "@emnapi/runtime": "^0.45.0", + "@tybys/wasm-util": "^0.8.1", + "memfs-browser": "^3.4.13000" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@node-rs/bcrypt-win32-arm64-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-arm64-msvc/-/bcrypt-win32-arm64-msvc-1.9.0.tgz", + "integrity": "sha512-2h86gF7QFyEzODuDFml/Dp1MSJoZjxJ4yyT2Erf4NkwsiA5MqowUhUsorRwZhX6+2CtlGa7orbwi13AKMsYndw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-win32-ia32-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-ia32-msvc/-/bcrypt-win32-ia32-msvc-1.9.0.tgz", + "integrity": "sha512-kqxalCvhs4FkN0+gWWfa4Bdy2NQAkfiqq/CEf6mNXC13RSV673Ev9V8sRlQyNpCHCNkeXfOT9pgoBdJmMs9muA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@node-rs/bcrypt-win32-x64-msvc": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@node-rs/bcrypt-win32-x64-msvc/-/bcrypt-win32-x64-msvc-1.9.0.tgz", + "integrity": "sha512-2y0Tuo6ZAT2Cz8V7DHulSlv1Bip3zbzeXyeur+uR25IRNYXKvI/P99Zl85Fbuu/zzYAZRLLlGTRe6/9IHofe/w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1040,6 +1764,14 @@ "node": ">= 8" } }, + "node_modules/@panva/hkdf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.1.1.tgz", + "integrity": "sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -1266,6 +1998,31 @@ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.3.0.tgz", "integrity": "sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==" }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "peer": true + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", + "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", + "peer": true, + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.8.3.tgz", + "integrity": "sha512-Z96T/L6dUFFxgFJ+pQtkPpne9q7i6kIPYCFnQBHSgSPV9idTsKfIhCss0h5iM9irweZCatkrdeP8yi5uM1eX6Q==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -1303,6 +2060,15 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/better-sqlite3": { + "version": "7.6.10", + "resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-7.6.10.tgz", + "integrity": "sha512-TZBjD+yOsyrUJGmcUj6OS3JADk3+UZcNv3NOBqGkM09bZdi28fNZw8ODqbMOLfKCu7RYCO62/ldq1iHbzxqoPw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/bootstrap": { "version": "5.2.10", "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.10.tgz", @@ -1373,6 +2139,15 @@ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" }, + "node_modules/@types/node": { + "version": "20.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.13.0.tgz", + "integrity": "sha512-FM6AOb3khNkNIXPnHFDYaHerSv8uN22C91z098AnGccVu+Pcdhi+pNUFDi0iLmPIsVE0JBD0KVS7mzUYt4nRzQ==", + "devOptional": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, "node_modules/@types/parse5": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", @@ -4197,6 +4972,22 @@ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==" }, + "node_modules/auth-astro": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/auth-astro/-/auth-astro-4.1.1.tgz", + "integrity": "sha512-7dTs8OcSYIYEmmlVw/HJ2k3otwDrD2fG2NTrKaij/VH8TfQ9EhS4VGgoQw1yArQoV0v6kvqOD4lFHFehQzKKqA==", + "dependencies": { + "next-auth": "^4.18.8", + "set-cookie-parser": "^2.5.1" + }, + "engines": { + "node": ">=17.4" + }, + "peerDependencies": { + "@auth/core": "^0.18.6", + "astro": "^4.0.0" + } + }, "node_modules/autoprefixer": { "version": "10.4.19", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", @@ -4265,15 +5056,13 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz", "integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==", - "optional": true, - "peer": true + "optional": true }, "node_modules/bare-fs": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.2.3.tgz", "integrity": "sha512-amG72llr9pstfXOBOHve1WjiuKKAMnebcmMbPWDZ7BCevAoJLpugjuAPRsDINEyjT0a6tbaVx3DctkXIRbLuJw==", "optional": true, - "peer": true, "dependencies": { "bare-events": "^2.0.0", "bare-path": "^2.0.0", @@ -4284,15 +5073,13 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.1.tgz", "integrity": "sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==", - "optional": true, - "peer": true + "optional": true }, "node_modules/bare-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.1.tgz", "integrity": "sha512-OHM+iwRDRMDBsSW7kl3dO62JyHdBKO3B25FB9vNQBPcGHMo4+eA8Yj41Lfbk3pS/seDY+siNge0LdRTulAau/A==", "optional": true, - "peer": true, "dependencies": { "bare-os": "^2.1.0" } @@ -4321,6 +5108,16 @@ } ] }, + "node_modules/better-sqlite3": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-9.6.0.tgz", + "integrity": "sha512-yR5HATnqeYNVnkaUTf4bOP2dJSnyhP4puJN/QPRyx4YkBEEUxib422n2XzPqDEHjQQqazoYoADdAm5vE15+dAQ==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "prebuild-install": "^7.1.1" + } + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -4332,6 +5129,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, "node_modules/bl": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", @@ -4486,6 +5291,18 @@ "ieee754": "^1.2.1" } }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "peer": true, + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, "node_modules/camelcase": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", @@ -4599,8 +5416,7 @@ "node_modules/chownr": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "optional": true + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "node_modules/ci-info": { "version": "4.0.0", @@ -4652,6 +5468,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "peer": true + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -4909,7 +5731,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "optional": true, "dependencies": { "mimic-response": "^3.1.0" }, @@ -4924,7 +5745,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "optional": true, "engines": { "node": ">=4.0.0" } @@ -4940,6 +5760,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -4948,11 +5776,19 @@ "node": ">=6" } }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, "node_modules/detect-libc": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "optional": true, "engines": { "node": ">=8" } @@ -5021,6 +5857,11 @@ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, "node_modules/electron-to-chromium": { "version": "1.4.738", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.738.tgz", @@ -5046,11 +5887,18 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==" }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "optional": true, "dependencies": { "once": "^1.4.0" } @@ -5116,6 +5964,11 @@ "node": ">=6" } }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -5144,6 +5997,14 @@ "@types/estree": "^1.0.0" } }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/eventemitter3": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", @@ -5183,7 +6044,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "optional": true, "engines": { "node": ">=6" } @@ -5233,6 +6093,11 @@ "reusify": "^1.0.4" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -5303,10 +6168,23 @@ "url": "https://github.com/sponsors/rawify" } }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-monkey": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz", + "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==", "optional": true }, "node_modules/fsevents": { @@ -5371,8 +6249,7 @@ "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", - "optional": true + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, "node_modules/github-slugger": { "version": "2.0.0", @@ -5664,6 +6541,21 @@ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -5708,8 +6600,7 @@ "node_modules/ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "optional": true + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/is-arrayish": { "version": "0.3.2", @@ -5923,6 +6814,14 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jose": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/jose/-/jose-5.3.0.tgz", + "integrity": "sha512-IChe9AtAE79ru084ow8jzkN2lNrG3Ntfiv65Cvj9uOCE2m5LNsdHG+9EbxWxAoWRF9TgDOqLN5jm08++owDVRg==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6081,6 +6980,18 @@ "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==", + "peer": true, + "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", @@ -6089,6 +7000,14 @@ "yallist": "^3.0.2" } }, + "node_modules/lucia": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lucia/-/lucia-3.2.0.tgz", + "integrity": "sha512-eXMxXwk6hqtjRTj4W/x3EnTUtAztLPm0p2N2TEBMDEbakDLXiYnDQ9z/qahjPdPdhPguQc+vwO0/88zIWxlpuw==", + "dependencies": { + "oslo": "1.2.0" + } + }, "node_modules/magic-string": { "version": "0.30.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz", @@ -6342,6 +7261,27 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "optional": true, + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/memfs-browser": { + "version": "3.5.10302", + "resolved": "https://registry.npmjs.org/memfs-browser/-/memfs-browser-3.5.10302.tgz", + "integrity": "sha512-JJTc/nh3ig05O0gBBGZjTCPOyydaTxNF0uHYBrcc1gHNnO+KIHIvo0Y1FKCJsaei6FCl8C6xfQomXqu+cuzkIw==", + "optional": true, + "dependencies": { + "memfs": "3.5.3" + } + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -6928,7 +7868,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "optional": true, "engines": { "node": ">=10" }, @@ -6954,7 +7893,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "optional": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6970,8 +7908,7 @@ "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "optional": true + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "node_modules/mri": { "version": "1.2.0", @@ -7021,8 +7958,7 @@ "node_modules/napi-build-utils": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", - "optional": true + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" }, "node_modules/network-information-types": { "version": "0.1.1", @@ -7032,6 +7968,127 @@ "typescript": ">= 3.0.0" } }, + "node_modules/next": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.3.tgz", + "integrity": "sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==", + "peer": true, + "dependencies": { + "@next/env": "14.2.3", + "@swc/helpers": "0.5.5", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", + "postcss": "8.4.31", + "styled-jsx": "5.1.1" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=18.17.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "14.2.3", + "@next/swc-darwin-x64": "14.2.3", + "@next/swc-linux-arm64-gnu": "14.2.3", + "@next/swc-linux-arm64-musl": "14.2.3", + "@next/swc-linux-x64-gnu": "14.2.3", + "@next/swc-linux-x64-musl": "14.2.3", + "@next/swc-win32-arm64-msvc": "14.2.3", + "@next/swc-win32-ia32-msvc": "14.2.3", + "@next/swc-win32-x64-msvc": "14.2.3" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-auth": { + "version": "4.24.7", + "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.24.7.tgz", + "integrity": "sha512-iChjE8ov/1K/z98gdKbn2Jw+2vLgJtVV39X+rCP5SGnVQuco7QOr19FRNGMIrD8d3LYhHWV9j9sKLzq1aDWWQQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@panva/hkdf": "^1.0.2", + "cookie": "^0.5.0", + "jose": "^4.15.5", + "oauth": "^0.9.15", + "openid-client": "^5.4.0", + "preact": "^10.6.3", + "preact-render-to-string": "^5.1.19", + "uuid": "^8.3.2" + }, + "peerDependencies": { + "next": "^12.2.5 || ^13 || ^14", + "nodemailer": "^6.6.5", + "react": "^17.0.2 || ^18", + "react-dom": "^17.0.2 || ^18" + }, + "peerDependenciesMeta": { + "nodemailer": { + "optional": true + } + } + }, + "node_modules/next-auth/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next-auth/node_modules/jose": { + "version": "4.15.5", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.5.tgz", + "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, "node_modules/nlcst-to-string": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.1.tgz", @@ -7048,7 +8105,6 @@ "version": "3.58.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.58.0.tgz", "integrity": "sha512-pXY1jnGf5T7b8UNzWzIqf0EkX4bx/w8N2AvwlGnk2SYYA/kzDVPaH0Dh0UG4EwxBB5eKOIZKPr8VAHSHL1DPGg==", - "optional": true, "dependencies": { "semver": "^7.3.5" }, @@ -7108,6 +8164,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/oauth": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", + "integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA==" + }, + "node_modules/oauth4webapi": { + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/oauth4webapi/-/oauth4webapi-2.10.4.tgz", + "integrity": "sha512-DSoj8QoChzOCQlJkRmYxAJCIpnXFW32R0Uq7avyghIeB6iJq0XAblOD7pcq3mx4WEBDwMuKr0Y1qveCBleG2Xw==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7124,11 +8193,29 @@ "node": ">= 6" } }, + "node_modules/oidc-token-hash": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.3.tgz", + "integrity": "sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==", + "engines": { + "node": "^10.13.0 || >=12.0.0" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "optional": true, "dependencies": { "wrappy": "1" } @@ -7147,6 +8234,52 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openid-client": { + "version": "5.6.5", + "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.6.5.tgz", + "integrity": "sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==", + "dependencies": { + "jose": "^4.15.5", + "lru-cache": "^6.0.0", + "object-hash": "^2.2.0", + "oidc-token-hash": "^5.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/openid-client/node_modules/jose": { + "version": "4.15.5", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.5.tgz", + "integrity": "sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==", + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/openid-client/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/openid-client/node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/openid-client/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, "node_modules/ora": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/ora/-/ora-7.0.1.tgz", @@ -7196,6 +8329,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/oslo": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/oslo/-/oslo-1.2.0.tgz", + "integrity": "sha512-OoFX6rDsNcOQVAD2gQD/z03u4vEjWZLzJtwkmgfRF+KpQUXwdgEXErD7zNhyowmHwHefP+PM9Pw13pgpHMRlzw==", + "dependencies": { + "@node-rs/argon2": "1.7.0", + "@node-rs/bcrypt": "1.9.0" + } + }, "node_modules/p-limit": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", @@ -7583,11 +8725,30 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, + "node_modules/preact": { + "version": "10.11.3", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz", + "integrity": "sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/preact-render-to-string": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.2.3.tgz", + "integrity": "sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==", + "dependencies": { + "pretty-format": "^3.8.0" + }, + "peerDependencies": { + "preact": ">=10" + } + }, "node_modules/prebuild-install": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", - "optional": true, "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -7613,7 +8774,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "optional": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -7638,7 +8798,6 @@ "url": "https://feross.org/support" } ], - "optional": true, "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -7648,7 +8807,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "optional": true, "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -7660,7 +8818,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "optional": true, "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -7736,6 +8893,11 @@ "optional": true, "peer": true }, + "node_modules/pretty-format": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", + "integrity": "sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==" + }, "node_modules/prismjs": { "version": "1.29.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", @@ -7777,7 +8939,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "optional": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -7808,11 +8969,18 @@ "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", "optional": true }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "optional": true, "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -7823,6 +8991,31 @@ "rc": "cli.js" } }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -7863,6 +9056,11 @@ "node": ">=8.10.0" } }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, "node_modules/rehype": { "version": "13.0.1", "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.1.tgz", @@ -8524,6 +9722,15 @@ "suf-log": "^2.5.3" } }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "peer": true, + "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", @@ -8566,11 +9773,73 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, "node_modules/server-destroy": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==" }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, "node_modules/sharp": { "version": "0.32.6", "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", @@ -8649,8 +9918,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "optional": true + ] }, "node_modules/simple-get": { "version": "4.0.1", @@ -8670,7 +9938,6 @@ "url": "https://feross.org/support" } ], - "optional": true, "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", @@ -8713,6 +9980,14 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/stdin-discarder": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", @@ -8727,6 +10002,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "peer": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/streamx": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.16.1.tgz", @@ -8880,11 +10164,33 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "optional": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "peer": true, + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, "node_modules/sucrase": { "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", @@ -9077,6 +10383,14 @@ "node": ">=8.0" } }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, "node_modules/trim-lines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", @@ -9163,7 +10477,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "optional": true, "dependencies": { "safe-buffer": "^5.0.1" }, @@ -9218,6 +10531,12 @@ "node": ">=14.0" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "devOptional": true + }, "node_modules/unherit": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/unherit/-/unherit-3.0.1.tgz", @@ -9412,6 +10731,14 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/uvu": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", @@ -10335,8 +11662,7 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "optional": true + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/y18n": { "version": "5.0.8", diff --git a/package.json b/package.json index 58bf389..5b4acb3 100644 --- a/package.json +++ b/package.json @@ -11,16 +11,26 @@ }, "dependencies": { "@astrojs/check": "^0.5.10", + "@astrojs/node": "^8.2.5", "@astrojs/tailwind": "^5.1.0", + "@auth/core": "^0.18.6", "@fortawesome/fontawesome-svg-core": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", + "@lucia-auth/adapter-sqlite": "^3.0.0", "@popperjs/core": "^2.11.8", "@types/bootstrap": "^5.2.10", "@xexiu/astro-accordion": "^0.0.10", "astro": "^4.6.2", "astro-bootstrap": "^0.6.2", + "auth-astro": "^4.1.1", + "better-sqlite3": "^9.2.2", "bootstrap": "^5.3.3", + "lucia": "^3.2.0", + "oslo": "^1.0.3", "tailwindcss": "^3.4.3", "typescript": "^5.4.5" + }, + "devDependencies": { + "@types/better-sqlite3": "^7.6.8" } } diff --git a/src/components/Accordion.astro b/src/components/Accordion.astro index 8b763c8..8c9d752 100644 --- a/src/components/Accordion.astro +++ b/src/components/Accordion.astro @@ -10,30 +10,31 @@ interface AccordionItem{ import accordionJson from '../../public/jsonData/accordion.json' + const accordionData : AccordionItem[] = accordionJson; --- <section> { accordionData.map((accordion)=>( - <div class="faq"> - <div class="question"> - <h3>{accordion.heading}</h3> - <svg width = '15' height = '10' viewBox = '0 0 42 25'> - <path d = 'M3 3L21 21L39 3' stroke = 'white' stroke-width="7" stroke-linecape="round" /> - </svg> - </div> - <div class="answer"> - { - accordion.body.map((bodyLine) => ( - <p> - <a href={bodyLine.link} target="_blank">{bodyLine.text}</a> - </p> - )) - } - </div> + <div class="faq"> + <div class="question"> + <h3>{accordion.heading}</h3> + <svg width = '15' height = '10' viewBox = '0 0 42 25'> + <path d = 'M3 3L21 21L39 3' stroke = 'white' stroke-width="7" stroke-linecape="round" /> + </svg> </div> - )) - } + <div class="answer"> + { + accordion.body.map((bodyLine) => ( + <p> + <a href={bodyLine.link} target="_blank">{bodyLine.text}</a> + </p> + )) + } + </div> + </div> + )) +} </section> diff --git a/src/components/Dummy.astro b/src/components/Dummy.astro new file mode 100644 index 0000000..4c9e4ad --- /dev/null +++ b/src/components/Dummy.astro @@ -0,0 +1,136 @@ +--- +var test = await Astro.glob("../content/accordion/*.md"); +--- +<section> + +{ + test.map((item)=>{ + const Content = item.Content; + return( + <div class="faq"> + <div class="question"> + <h3>{item.frontmatter.heading}</h3> + <svg width = '15' height = '10' viewBox = '0 0 42 25'> + <path d = 'M3 3L21 21L39 3' stroke = 'white' stroke-width="7" stroke-linecape="round" /> + </svg> + </div> + <div class="answer"> + <Content /> + </div> + </div> + )}) + } +</section> + + +<style> + + section{ + display: flex; + flex-direction: column; + margin : 0 auto; + width: 60%; + } + + .faq{ + max-width: 100%; + cursor: pointer; + border: 1px solid #f6f4f4; + } + + .question{ + display: flex; + justify-content: space-between; + align-items: center; + color: #1c70cf; + background-color: rgba(0, 0, 0, .02); + padding: 1rem 2rem; + } + + .question h3{ + font-size: 1.1rem; + } + + .question h3:hover{ + text-decoration: underline; + color: #1662b8; + } + + .answer{ + max-height: 0; + overflow: hidden; + transition: max-height 0.8s ease; + } + + .answer ul li{ + padding: 1vh 3vh; + font-size: 1rem; + margin: 0; + line-height: 1.6; + color: black; + font-weight: 500; + background-color: white; + } + + .answer ul li a{ + color: #17a2b8; + text-decoration: none; + } + + .answer ul li a:hover{ + text-decoration: underline; + color: #0e8fa3; + } + + .faq.active .answer{ + max-height: 300px; + animation: fade 1s ease-in-out; + } + + .faq.active svg{ + transform: rotate(180deg); + } + + svg{ + display: none; /* If you want the icon besides the accordion, remove this line */ + transition: transform 0.5s ease-in; + } + + @keyframes fade { + from{ + opacity: 0; + transform: translateY(-10px); + } + to{ + opacity: 1; + transform: translateY(0); + } + } + + @media screen and (max-width: 768px){ + section{ + width: 90%; + } + .answer p{ + padding: 0.4vh 3vh; + font-size: 1rem; + line-height: 1.6; + margin: 0; + } + } +</style> + + +<script> + + const faqs = document.querySelectorAll('.faq'); + + faqs.forEach(faq => { + faq.addEventListener('click', () => { + faq.classList.toggle('active'); + }) + }) + +</script> + + diff --git a/src/components/HomeBody.astro b/src/components/HomeBody.astro index 4a5af65..302c89e 100644 --- a/src/components/HomeBody.astro +++ b/src/components/HomeBody.astro @@ -108,6 +108,11 @@ const faqData : Faq[] = faqJson; }) } </div> + + + +<!-- FAQ --> + <div class="faq-container" id = "faq"> <h1 class="intro">Frequently Asked Questions (FAQ)</h1>{ faqData.map((faq,index) => { @@ -434,6 +439,5 @@ const faqData : Faq[] = faqJson; } } - </style> diff --git a/src/components/Navbar.astro b/src/components/Navbar.astro index 622a642..a4073b7 100644 --- a/src/components/Navbar.astro +++ b/src/components/Navbar.astro @@ -44,7 +44,7 @@ const navbarData : Routes[] = navbarJson; } .off-screen-menu{ background-color: orange; - height: 50vh; + height: 100%; display: none; width: 100%; top: 20%; @@ -89,6 +89,7 @@ const navbarData : Routes[] = navbarJson; margin-left: auto; position: sticky; top: 0; + cursor: pointer; } .ham-menu span{ diff --git a/src/components/ResourcesBody.astro b/src/components/ResourcesBody.astro index c4789a3..70af821 100644 --- a/src/components/ResourcesBody.astro +++ b/src/components/ResourcesBody.astro @@ -1,23 +1,23 @@ --- import Accordion from './Accordion.astro' +import Dummy from './Dummy.astro' --- <div class="resources-main"> <div class="resources-heading"> <h1>Resources</h1> </div> - <Accordion/> + <!-- <Accordion/> --> + <Dummy/> </div> - <style> +<style> .resources-main{ - /* any background color we can add */ margin: 3vh; } .resources-heading h1{ color: rgb(2, 2, 110); font-size: 7.5vh; - /* font-family: 'Roboto Slab', serif !important; */ padding: 3vh 21%; font-weight: 700; } @@ -32,10 +32,5 @@ import Accordion from './Accordion.astro' text-align: center; } } - /* @media screen and (max-width: 983px) { - .resources-main{ - margin: 9vh; - } - } */ - </style> +</style> diff --git a/src/components/ResultsBody.astro b/src/components/ResultsBody.astro index dc58ecd..445caa4 100644 --- a/src/components/ResultsBody.astro +++ b/src/components/ResultsBody.astro @@ -18,11 +18,11 @@ import Login from "./Login.astro"; <script> var resultDate = { year: 2024, - month: 5, - day: 28, + month: 6, + day: 30, hours: 11, - minutes: 7, - seconds: 50, + minutes: 57, + seconds: 0, }; function checkTime() { @@ -64,8 +64,8 @@ function checkTime() { var currentTime = new Date(year, month - 1, day, hours, minutes, seconds); var targetTime = new Date(resultDate.year, resultDate.month - 1, resultDate.day, resultDate.hours, resultDate.minutes, resultDate.seconds); - - if (currentTime >= targetTime) { + var check = false; + if (currentTime >= targetTime && !check) { // location.reload(); document.querySelector(".pre")?.classList.add("hidden"); document.querySelector(".post")?.classList.remove("hidden"); @@ -79,5 +79,5 @@ function checkTime() { // Initial call to checkTime checkTime(); - </script> +</script> diff --git a/src/components/ScheduleBody.astro b/src/components/ScheduleBody.astro index 9c13afa..f42b7c1 100644 --- a/src/components/ScheduleBody.astro +++ b/src/components/ScheduleBody.astro @@ -6,6 +6,7 @@ interface ScheduleItem{ events : string[]; } const scheduleData : ScheduleItem[] = scheduleJson; + --- @@ -15,7 +16,8 @@ const scheduleData : ScheduleItem[] = scheduleJson; </div> <hr> <div class="schedule-content">{ - scheduleData.map((item)=>( + scheduleData.map((item)=>{ + return ( <h2>{item.heading}</h2> <div class="weeks"> { @@ -24,7 +26,7 @@ const scheduleData : ScheduleItem[] = scheduleJson; ) } </div> - )) + )}) } </div> </div> @@ -57,6 +59,7 @@ const scheduleData : ScheduleItem[] = scheduleJson; .weeks p{ font-size: 3vh; padding: 1vh 2.6vh; + width: 75%; border-left: 4px solid blue; } @media screen and (max-width: 983px) { diff --git a/src/content/accordion/a1.md b/src/content/accordion/a1.md new file mode 100644 index 0000000..7cd910d --- /dev/null +++ b/src/content/accordion/a1.md @@ -0,0 +1,7 @@ +--- +Number: 1 +heading: "FOSSEE and Spoken Tutorial" +--- + +- [1. FOSSEE and Spoken Tutorial](https://spoken-tutorial.org/tutorial-search/?search_foss=Arduino&search_language=English) +- [2. FLOSS-Arduino books teach Arduino control via open-source software](https://floss-arduino.fossee.in/) diff --git a/src/content/accordion/a2.md b/src/content/accordion/a2.md new file mode 100644 index 0000000..99bb55a --- /dev/null +++ b/src/content/accordion/a2.md @@ -0,0 +1,7 @@ +--- +Number: 2 +heading: "Soil Nutrients Monitoring and Precision Agriculture" +--- + +- [1. Water Your Garden with IoT - Soil Moisture Sensors](https://www.youtube.com/watch?v=pgGpuws7f9o) +- [2. New Blynk IOT Smart Plant Monitoring System](https://www.youtube.com/watch?v=PTJ9sAk2c2I) diff --git a/src/content/accordion/a3.md b/src/content/accordion/a3.md new file mode 100644 index 0000000..c94c930 --- /dev/null +++ b/src/content/accordion/a3.md @@ -0,0 +1,8 @@ +--- +Number: 3 +heading: "Weather Station" +--- + +- [1. DIY Smart Home Weather Station - Wind, Rain, Temperature, Pressure, Humidity, Light](https://www.youtube.com/watch?v=snCp0TqrER4) +- [2. Arduino Wireless Weather Station Project](https://www.youtube.com/watch?v=l3-y371RlI4) +- [3. LoRa Based Wireless Weather Station using Arduino and ESP32](https://www.youtube.com/watch?v=Nw392q1Sg4M) diff --git a/src/content/accordion/a4.md b/src/content/accordion/a4.md new file mode 100644 index 0000000..70bc5fc --- /dev/null +++ b/src/content/accordion/a4.md @@ -0,0 +1,7 @@ +--- +Number: 4 +heading: "Air Quality and Noise Pollution Level" +--- + +- [1. Air Quality Monitoring and Alert System using Arduino with MQ135](https://www.youtube.com/watch?v=SCXteaUVICw) +- [2. IoT based Noise & Air quality Monitoring using Blynk IoT | New Automation Tab update in Blynk](https://www.youtube.com/watch?v=p3-0mWkOFBk) diff --git a/src/content/accordion/a5.md b/src/content/accordion/a5.md new file mode 100644 index 0000000..13d7277 --- /dev/null +++ b/src/content/accordion/a5.md @@ -0,0 +1,7 @@ +--- +Number: 5 +heading: "Asset Tracking" +--- + +- [1. IoT Asset Tracking System](https://www.youtube.com/watch?v=zFn487G2pY8) +- [2. Arduino GPS And GSM Based Location Tracking System | Women Safety Device Small Version](https://www.youtube.com/watch?v=rdvZpwV9A18) diff --git a/src/content/accordion/a6.md b/src/content/accordion/a6.md new file mode 100644 index 0000000..43d2e47 --- /dev/null +++ b/src/content/accordion/a6.md @@ -0,0 +1,6 @@ +--- +Number: 6 +heading: "Global Warming" +--- + +- [1. Smart Grid: How IoT fights climate change (Kelsey Breseman)](https://www.youtube.com/watch?v=0SulU4QM334) diff --git a/src/content/accordion/a7.md b/src/content/accordion/a7.md new file mode 100644 index 0000000..fbead12 --- /dev/null +++ b/src/content/accordion/a7.md @@ -0,0 +1,6 @@ +--- +Number: 7 +heading: "Disaster Management" +--- + +- [1. Geospatial data for disaster management at ITC](https://www.youtube.com/watch?v=dYG7GsqcCMM) diff --git a/src/content/accordion/a8.md b/src/content/accordion/a8.md new file mode 100644 index 0000000..9d60b84 --- /dev/null +++ b/src/content/accordion/a8.md @@ -0,0 +1,7 @@ +--- +Number: 8 +heading: "Vehicle Detection and Intelligent Transportation" +--- + +- [1. Intelligent Transport Systems made in KOREA English Version 22'](https://www.youtube.com/watch?v=H_JhcBTgwPo) +- [2. Connected Vehicle: The Future of Transportation](https://www.youtube.com/watch?v=Q8Cn47L8FRQ) diff --git a/src/content/carousel/c1.md b/src/content/carousel/c1.md new file mode 100644 index 0000000..c41d559 --- /dev/null +++ b/src/content/carousel/c1.md @@ -0,0 +1,6 @@ +--- +Number: 1 +img: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/iitb-logo.png" +alt: "IITB" +link: "http://iitb.ac.in/" +--- diff --git a/src/content/carousel/c2.md b/src/content/carousel/c2.md new file mode 100644 index 0000000..d112c14 --- /dev/null +++ b/src/content/carousel/c2.md @@ -0,0 +1,6 @@ +--- +Number: 2 +img: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/fossee-logo.png" +alt: "FOSSEE" +link: "https://fossee.in/" +--- diff --git a/src/content/carousel/c3.md b/src/content/carousel/c3.md new file mode 100644 index 0000000..63bee1c --- /dev/null +++ b/src/content/carousel/c3.md @@ -0,0 +1,6 @@ +--- +Number: 3 +img: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/st-logo.png" +alt: "Spoken Tutorial" +link: "https://spoken-tutorial.org/" +--- diff --git a/src/content/carousel/c4.md b/src/content/carousel/c4.md new file mode 100644 index 0000000..8d841cb --- /dev/null +++ b/src/content/carousel/c4.md @@ -0,0 +1,6 @@ +--- +Number: 4 +img: "https://iot-gis-hackathon.fossee.in/static/cms/uploads/images/icfoss-logo.png" +alt: "icfoss" +link: "/" +--- diff --git a/src/content/carousel/c5.md b/src/content/carousel/c5.md new file mode 100644 index 0000000..50941da --- /dev/null +++ b/src/content/carousel/c5.md @@ -0,0 +1,6 @@ +--- +Number: 5 +img: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/rudra-logo.png" +alt: "Rudra" +link: "http://www.rudra.iitb.ac.in/" +--- diff --git a/src/content/carousel/c6.md b/src/content/carousel/c6.md new file mode 100644 index 0000000..f5a2f4a --- /dev/null +++ b/src/content/carousel/c6.md @@ -0,0 +1,6 @@ +--- +Number: 6 +img: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/iit-tirupati.png" +alt: "IIT Tirupati" +link: "https://www.iittp.ac.in/" +--- diff --git a/src/content/carousel/c7.md b/src/content/carousel/c7.md new file mode 100644 index 0000000..1d686ac --- /dev/null +++ b/src/content/carousel/c7.md @@ -0,0 +1,6 @@ +--- +Number: 7 +img: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/navavishkaar.png" +alt: "IITTNiF" +link: "https://iittnif.com/" +--- diff --git a/src/content/carousel/c8.md b/src/content/carousel/c8.md new file mode 100644 index 0000000..b642ed7 --- /dev/null +++ b/src/content/carousel/c8.md @@ -0,0 +1,6 @@ +--- +Number: 8 +img: "https://iot-gis-hackathon.fossee.org/static/cms/uploads/images/NM-ICPS-logo1.png" +alt: "NMICPS" +link: "https://nmicps.in/" +--- diff --git a/src/content/faq/faq1.md b/src/content/faq/faq1.md new file mode 100644 index 0000000..7f54380 --- /dev/null +++ b/src/content/faq/faq1.md @@ -0,0 +1,5 @@ +--- +Number: 1 +question: "Will the winners of the “National OpenHardware-IoT Geospatial Hackathon 2024” receive any refund or is there any prize/ award given?" +answer: "As this is a national-level activity, supported through the FOSSEE project, National Mission on Education through ICT (NMEICT), the prospective winners shall be given ‘prizes/awards ONLY’, based on their performance, category-wise (themes). The winners shall also be eligible for applying to the coveted “IIT Bombay FOSSEE Geospatial + OpenHardware Internship & Summer Fellowship 2024”, and other flagship activities." +--- diff --git a/src/content/faq/faq10.md b/src/content/faq/faq10.md new file mode 100644 index 0000000..42fb322 --- /dev/null +++ b/src/content/faq/faq10.md @@ -0,0 +1,5 @@ +--- +Number: 10 +question: "Are there any specific industry sectors or use cases that the hackathon aims to address through the integration of IoT and geospatial technologies?" +answer: "The ‘National Level OpenHardware-IoT based Geospatial Hackathon’ aims to promote an interdisciplinary approach in cracking solution(s) for the proposed ‘problem statements’ Even though the ‘core organizing committee’ doesn’t confine the scope to scope to specific industries or use cases, rather it encourages participants to ‘consider’ focusing on scenarios like smart cities, environmental monitoring, precision agriculture, transportation, healthcare, transport, logistics, weather forecast, rural development, green energy and sustainability, disaster management. etc. However, the exact focus areas may vary depending on the organizers' goals and themes." +--- diff --git a/src/content/faq/faq11.md b/src/content/faq/faq11.md new file mode 100644 index 0000000..e595c3c --- /dev/null +++ b/src/content/faq/faq11.md @@ -0,0 +1,5 @@ +--- +Number: 11 +question: "Are there any opportunities for participants to contribute to open-source projects or initiatives as part of their hackathon submissions?" +answer: "YES! participants may have opportunities to contribute to open-source projects or initiatives related to IoT and/or Geospatial (GIS) technologies as part of the “National Level OpenHardware-IoT based Geospatial Hackathon”. The ‘qualified submissions’ shall be published as open-source projects on the national project’s website. Collaboration with existing open-source communities shall/may be encouraged or facilitated by the ‘Core Organing Committee’." +--- diff --git a/src/content/faq/faq12.md b/src/content/faq/faq12.md new file mode 100644 index 0000000..4fd67b8 --- /dev/null +++ b/src/content/faq/faq12.md @@ -0,0 +1,6 @@ +--- +Number: 12 +question: "How will the hackathon support participants who may be new to IoT or geospatial technologies and require additional guidance or resources?" +answer: "The ‘Core Organizing Committee’ of the National Level OpenHardware-Iot based Geospatial Hackathon will conduct ‘focused’ workshops, mentoring sessions, orientation (state-wise), online resources such as the award-winning ‘SpokenTutorial’ on relevant technologies, etc. +Note: The main emphasis here is to ensure that the resources deployed work as a support system for participants to learn and enhance their (IoT, and GIS) skills throughout the event." +--- diff --git a/src/content/faq/faq13.md b/src/content/faq/faq13.md new file mode 100644 index 0000000..3d2af8c --- /dev/null +++ b/src/content/faq/faq13.md @@ -0,0 +1,5 @@ +--- +Number: 13 +question: "Will there be any post-hackathon support or mentorship opportunities for participants looking to further develop their projects?" +answer: "YES! The winners, and even enthusiastic participants shall get a chance to apply for some of India’s most coveted internships, fellowships, product development, etc kind of opportunities. To know more about the initiatives of the “IIT Bombay FOSSEE GIS” team, please visit https://www.iitb.ac.in/event/iit-bombay-fossee-gis-activities-calendar-year-2024. There are interesting opportunities given by our organizing partner the “IIT Tirupati Navavishkar I-Hub Foundation” which is IIT Tirupati’s Technology Innovation Hub (TIH) specializes in ‘positioning and precision technologies’. Participants with good ideas and/or geospatial products nearing completion or in the advanced stage of development can explore possibilities for incubating themselves as start-up(s)." +--- diff --git a/src/content/faq/faq14.md b/src/content/faq/faq14.md new file mode 100644 index 0000000..0104ec9 --- /dev/null +++ b/src/content/faq/faq14.md @@ -0,0 +1,6 @@ +--- +Number: 14 +question: "Can participants submit multiple projects, and if so, are there any limitations on the number of submissions per team?" +answer: "YES! But make sure you the team leader is not the same person. There is ‘NO’ lamination on the number of teams. +Note: Institutions fielding more than (valid) 25 teams can assign a SPOC (Single Point of Contact - SPOC) for obtaining dedicated + direct support from the committee." +--- diff --git a/src/content/faq/faq15.md b/src/content/faq/faq15.md new file mode 100644 index 0000000..61f3858 --- /dev/null +++ b/src/content/faq/faq15.md @@ -0,0 +1,6 @@ +--- +Number: 15 +question: "Are there any specific environmental or social impact considerations that participants should take into account when designing their projects?" +answer: "YES! participants are encouraged to consider aligning their project proposal in line with the environmental and social impact while designing/ evolving their problem statement(s). +Note: Solutions that promote sustainability, resilience, inclusivity, and positive societal outcomes are often valued by the ‘Core Organizing/Evaluation Committee”. Please refer to “IIT Bombay FOSSEE GIS Mandates” on https://iot-gis-hackathon.fossee.in/ and the “United Nations Development Programme’s SDGs” on https://www.undp.org/sustainable-development-goals." +--- diff --git a/src/content/faq/faq16.md b/src/content/faq/faq16.md new file mode 100644 index 0000000..7bad447 --- /dev/null +++ b/src/content/faq/faq16.md @@ -0,0 +1,5 @@ +--- +Number: 16 +question: "Will the hackathon provide any resource(s) for participants to access geospatial datasets or learning materials?" +answer: "YES! Please refer FAQ #12" +--- diff --git a/src/content/faq/faq17.md b/src/content/faq/faq17.md new file mode 100644 index 0000000..c318be5 --- /dev/null +++ b/src/content/faq/faq17.md @@ -0,0 +1,10 @@ +--- +Number: 17 +question: "How can participants stay updated on the latest announcements and developments related to the hackathon?" +answer: "Please keep checking the official website of the “National Level OpenHardware-IoT based Geospatial Hackathon” website (URL: https://iot-gis-hackathon.fossee.in/) to get recent updates. +Note: All essential communications will be sent by the core committee through the following Email IDs. Please add them to your ‘contact list’. + +(i). + +(ii). ;" +--- diff --git a/src/content/faq/faq18.md b/src/content/faq/faq18.md new file mode 100644 index 0000000..f3e81b6 --- /dev/null +++ b/src/content/faq/faq18.md @@ -0,0 +1,5 @@ +--- +Number: 18 +question: "Are there any specific hardware or software platforms that participants are encouraged to use?" +answer: "While participants are generally free to choose the hardware and software platforms that best suit their project requirements, organizers may recommend or provide access to specific platforms, tools, or technologies to facilitate project development and integration, based on their project proposal." +--- diff --git a/src/content/faq/faq19.md b/src/content/faq/faq19.md new file mode 100644 index 0000000..ea31393 --- /dev/null +++ b/src/content/faq/faq19.md @@ -0,0 +1,5 @@ +--- +Number: 19 +question: "Are there any specific requirements for project documentation and presentation?" +answer: "YES! participants are typically required to adhere to specific guidelines for project documentation/ report and presentation, per the template issued. Please refer FAQ #6." +--- diff --git a/src/content/faq/faq2.md b/src/content/faq/faq2.md new file mode 100644 index 0000000..0a36765 --- /dev/null +++ b/src/content/faq/faq2.md @@ -0,0 +1,6 @@ +--- +Number: 2 +question: "Is there any filtration before starting the hackathon?" +answer: "Yes, there is a filtration process in place which shall review all the proposals before allowing the individual participant/ team(s) into the main phase of the “National Level OpenHardware-IoT based Geospatial Hackathon”. The aspirants must (i) register themselves/ their team, (ii). Upload their proposal, (iii). The core organizing committee (IIT Bombay FOSSEE GIS/OSHW + IITTNiF + ICFOSS) will evaluate the proposals, (iv). Accepted proposals shall be informed via email. +Note: The project proposals are reviewed by the core committee and shall ensure their alignment with the hackathon's theme and objectives." +--- diff --git a/src/content/faq/faq20.md b/src/content/faq/faq20.md new file mode 100644 index 0000000..41d954e --- /dev/null +++ b/src/content/faq/faq20.md @@ -0,0 +1,5 @@ +--- +Number: 20 +question: "Will there be any workshops or training sessions during the hackathon to help participants develop their technical skills?" +answer: "YES! Please refer FAQ #12" +--- diff --git a/src/content/faq/faq21.md b/src/content/faq/faq21.md new file mode 100644 index 0000000..fd754a3 --- /dev/null +++ b/src/content/faq/faq21.md @@ -0,0 +1,5 @@ +--- +Number: 21 +question: "Does the core organizing committee provide any ‘performance summary’ to a college that has registered with many teams?" +answer: "YES! All the Universities/ Colleges/ Educational Institutions that have IQAC (NAAC/NIRF/NBA purposes) cells, and have registered with more than 25 teams can write to for the performance summary letter after the results are declared." +--- diff --git a/src/content/faq/faq22.md b/src/content/faq/faq22.md new file mode 100644 index 0000000..de4db8f --- /dev/null +++ b/src/content/faq/faq22.md @@ -0,0 +1,5 @@ +--- +Number: 22 +question: "Will the participating Institutions be eligible for the ‘National Geospatial Awards’ organized by the IIT Bombay FOSSEE GIS team?" +answer: "YES! All participating institutions can apply for the annual ‘National Geospatial Awards (2024)’ scheduled to be conducted on September 15, 2024. There are various categories, and event state-specific awards listed." +--- diff --git a/src/content/faq/faq23.md b/src/content/faq/faq23.md new file mode 100644 index 0000000..0e57bd9 --- /dev/null +++ b/src/content/faq/faq23.md @@ -0,0 +1,5 @@ +--- +Number: 23 +question: "Can an Indian citizen studying at some foreign university apply for this hackathon?" +answer: "YES! Indian Citizens pursuing their studies abroad can register. They shall get ‘e-certificates’ if they emerge as winners, but they (Indian students studying in foreign universities) won't be eligible for cash awards as transferring honoraria outside India is not allowed as per the policy laid by the funding agency/ prize sponsor." +--- diff --git a/src/content/faq/faq24.md b/src/content/faq/faq24.md new file mode 100644 index 0000000..1c5df88 --- /dev/null +++ b/src/content/faq/faq24.md @@ -0,0 +1,5 @@ +--- +Number: 24 +question: "Can a faculty/ research scholar/ staff participate in the hackathon?" +answer: "YES! Students, Faculty, Research Scholars, Staff, and Project Staff from any UGC/ AICTE/ Institutes of National importance/ NMC/ NLB/ AIU/ Government of India or State Government recognized Institutions/ organization can participate in the “National Level OpenHardware-IoT based Geospatial Hackathon”." +--- diff --git a/src/content/faq/faq25.md b/src/content/faq/faq25.md new file mode 100644 index 0000000..2011df5 --- /dev/null +++ b/src/content/faq/faq25.md @@ -0,0 +1,5 @@ +--- +Number: 25 +question: "Whom should we contact for any partnership related query?" +answer: "For all partnership and sponsorship-related queries, please write to Mr. Mohamed Kasim Khan, National Coordinator - FOSSEE(GIS), IIT Bombay at . As we are in the process of identifying nodal agencies (DHE. DTE, Technical Univeristy, Skill Development Body, etc) in each state and union territory, the officers concerned can directly write to us." +--- diff --git a/src/content/faq/faq3.md b/src/content/faq/faq3.md new file mode 100644 index 0000000..ced7293 --- /dev/null +++ b/src/content/faq/faq3.md @@ -0,0 +1,5 @@ +--- +Number: 3 +question: "Can we use any proprietary hardware for other components if the open source is not available for that item?" +answer: "Participants are permitted to utilize proprietary hardware or components in the absence of open-source alternatives. This should not exceed 40%. However, they (participating team(s)/ individuals) must adhere to any licensing agreements or restrictions related to proprietary technologies. It is to be noted and essential that all designs and code submitted must adhere to the CC-BY-SA license requirements." +--- diff --git a/src/content/faq/faq4.md b/src/content/faq/faq4.md new file mode 100644 index 0000000..7068392 --- /dev/null +++ b/src/content/faq/faq4.md @@ -0,0 +1,6 @@ +--- +Number: 4 +question: "What are the judging criteria for project evaluation?" +answer: "The judging criteria typically include factors such as novelty, methodology, innovation, technical implementation, usability, impact, and presentation (report) quality. Each project is evaluated based on these criteria to determine the winners. +Note: The project proposal and final submissions must adhere to the mandates laid by the “IIT Bombay FOSSEE GIS team” at all times. By participating in the “National Level OpenHardware-IoT based Geospatial Hackathon” the teams agree that the decision taken by the ‘Core Organizing Committee’ and/or the ‘IIT Bombay FOSSEE GIS & OSHW’ team(s) shall be final and non-appealable." +--- diff --git a/src/content/faq/faq5.md b/src/content/faq/faq5.md new file mode 100644 index 0000000..58e8cec --- /dev/null +++ b/src/content/faq/faq5.md @@ -0,0 +1,5 @@ +--- +Number: 5 +question: "Is there a registration fee to participate in the hackathon?" +answer: "NO! Participation in the “National Level OpenHardware-IoT based Geopstial Hackathon” is completely ‘FREE OF COST/ NO FEE”." +--- diff --git a/src/content/faq/faq6.md b/src/content/faq/faq6.md new file mode 100644 index 0000000..bb9bd1b --- /dev/null +++ b/src/content/faq/faq6.md @@ -0,0 +1,5 @@ +--- +Number: 6 +question: "Is there any format for submitting reports and presentations?" +answer: "YES! The report and presentation template shall be shared by the core committee during the ‘Orientation phase’." +--- diff --git a/src/content/faq/faq7.md b/src/content/faq/faq7.md new file mode 100644 index 0000000..aad1845 --- /dev/null +++ b/src/content/faq/faq7.md @@ -0,0 +1,6 @@ +--- +Number: 7 +question: "How will the hackathon be conducted? Is it an online event or will there be physical venues?" +answer: "The main phase of the “National Level OpenHardware-IoT based Geospatial Hackathon” will exclusively take place in ‘ONLINE MODE’ only. +Note: The ‘Grand Finale’ of the “National Level OpenHardware-IoT based Geospatial Hackathon” shall be conducted in offline mode. For the ‘Grand Finale’ only the teams shortlisted for the final stage/ round will be invited to participate." +--- diff --git a/src/content/faq/faq8.md b/src/content/faq/faq8.md new file mode 100644 index 0000000..7a9abd2 --- /dev/null +++ b/src/content/faq/faq8.md @@ -0,0 +1,10 @@ +--- +Number: 8 +question: "What level of expertise in IoT and geospatial technologies is expected from participants?" +answer: "Participants/ Team(s) with varying levels of expertise in IoT and geospatial technologies are welcome to participate. The hackathon shall serve as a platform for beginners, intermediate, and advanced-level participants, with lots of opportunities to learn and collaborate. +Note: The proposals for the “National Level OpenHardware-IoT based Geospatial Hackathon 2024” can be submitted under two broad categories, + +(i). Purely ‘IoT’ based (OR) + +(ii). A blend of GIS + IoT (Special prizes/ awards are to be given for this category)" +--- diff --git a/src/content/faq/faq9.md b/src/content/faq/faq9.md new file mode 100644 index 0000000..f2ffffe --- /dev/null +++ b/src/content/faq/faq9.md @@ -0,0 +1,6 @@ +--- +Number: 9 +question: "Can participants use pre-existing IoT devices or hardware prototypes for their projects, or do they need to develop new solutions from scratch?" +answer: "The participants/ participating team(s) are encouraged to develop their solutions/ prototypes from scratch. But, to spread awareness about “OpenSource Hardware-IoT’ and ‘GIS’ technologies in all domains, we encourage the students cutting across domains to give it a try. Hence, we do allow participants to use pre-existing IoT devices or hardware prototypes for their projects, as long as they meet the project requirements and objectives. All designs and code submitted must adhere to the CC-BY-SA license requirements. +Note: The decision of the ‘Core Organizing Committee’ of the National Level OpenHardware-IoT based Geospatial Hackathon, and/or the ‘IIT Bombay FOSSEE GIS & OSHW’ team(s) shall be final and non-appealable, in all circumstances." +--- diff --git a/src/content/footer/about/abt1.md b/src/content/footer/about/abt1.md new file mode 100644 index 0000000..56a634b --- /dev/null +++ b/src/content/footer/about/abt1.md @@ -0,0 +1,5 @@ +--- +Number: 1 +name: "IIT Bombay" +link: "https://www.iitb.ac.in/" +--- diff --git a/src/content/footer/about/abt2.md b/src/content/footer/about/abt2.md new file mode 100644 index 0000000..d96590f --- /dev/null +++ b/src/content/footer/about/abt2.md @@ -0,0 +1,5 @@ +--- +Number: 2 +name: "FOSSEE" +link: "https://fossee.in/" +--- diff --git a/src/content/footer/about/abt3.md b/src/content/footer/about/abt3.md new file mode 100644 index 0000000..76ac865 --- /dev/null +++ b/src/content/footer/about/abt3.md @@ -0,0 +1,5 @@ +--- +Number: 3 +name: "NMEICT" +link: "https://www.nmeict.ac.in/" +--- diff --git a/src/content/footer/about/abt4.md b/src/content/footer/about/abt4.md new file mode 100644 index 0000000..4aa3942 --- /dev/null +++ b/src/content/footer/about/abt4.md @@ -0,0 +1,5 @@ +--- +Number: 4 +name: "The RuDRA Lab" +link: "https://www.rudra.iitb.ac.in/" +--- diff --git a/src/content/footer/about/abt5.md b/src/content/footer/about/abt5.md new file mode 100644 index 0000000..cee769c --- /dev/null +++ b/src/content/footer/about/abt5.md @@ -0,0 +1,5 @@ +--- +Number: 5 +name: "IITTNiF" +link: "https://www.iittnif.org/" +--- diff --git a/src/content/footer/about/abt6.md b/src/content/footer/about/abt6.md new file mode 100644 index 0000000..d9191c0 --- /dev/null +++ b/src/content/footer/about/abt6.md @@ -0,0 +1,5 @@ +--- +Number: 6 +name: "ICFOSS" +link: "https://www.icfoss.in/" +--- diff --git a/src/content/footer/about/abt7.md b/src/content/footer/about/abt7.md new file mode 100644 index 0000000..af6aff4 --- /dev/null +++ b/src/content/footer/about/abt7.md @@ -0,0 +1,5 @@ +--- +Number: 7 +name: "Spoken Tutorial" +link: "https://spoken-tutorial.org/" +--- diff --git a/src/content/footer/resources/res1.md b/src/content/footer/resources/res1.md new file mode 100644 index 0000000..e37ab30 --- /dev/null +++ b/src/content/footer/resources/res1.md @@ -0,0 +1,5 @@ +--- +Number: 1 +name: "QGIS" +link: "https://qgis.org/en/site/forusers/download.html" +--- diff --git a/src/content/footer/resources/res2.md b/src/content/footer/resources/res2.md new file mode 100644 index 0000000..d5301b0 --- /dev/null +++ b/src/content/footer/resources/res2.md @@ -0,0 +1,5 @@ +--- +Number: 2 +name: "Spoken Tutorials - FOSSEE - GIS" +link: "https://spoken-tutorial.org/tutorial-search/?search_foss=QGIS&search_language=English" +--- diff --git a/src/content/fruits/apple.md b/src/content/fruits/apple.md new file mode 100644 index 0000000..afb80d3 --- /dev/null +++ b/src/content/fruits/apple.md @@ -0,0 +1,70 @@ +--- +heading: "Resources" +body: + [ + [ + head: "FOSSEE and Spoken Tutorial", + desc: + [ + text: "1. Arduino Tutorial Series by Spoken Tutorial", + link: "https://spoken-tutorial.org/tutorial-search/?search_foss=Arduino&search_language=English", + ], + ], + [ + head: "Soil Nutrients Monitoring and Precision Agriculture", + desc: + [ + text: "1. Water Your Garden with IoT - Soil Moisture Sensors", + link: "https://www.youtube.com/watch?v=pgGpuws7f9o", + ], + ], + [ + head: "Weather Station", + desc: + [ + text: "1. DIY Smart Home Weather Station - Wind, Rain, Temperature, Pressure, Humidity, Ligh", + link: "https://www.youtube.com/watch?v=snCp0TqrER4", + ], + ], + [ + head: "Air Quality and Noise Pollution Level", + desc: + [ + text: "1. Air Quality Monitoring and Alert System using Arduino with MQ135", + link: "https://www.youtube.com/watch?v=SCXteaUVICw", + ], + ], + [ + head: "Asset Tracking", + desc: + [ + text: "1. IOT Asset Tracking System", + link: "https://www.youtube.com/watch?v=zFn487G2pY8", + ], + ], + [ + head: "Global Warming", + desc: + [ + text: "1. Smart Grid: How IoT fights climate change (Kelsey Breseman)", + link: "https://www.youtube.com/watch?v=0SulU4QM334", + ], + ], + [ + head: "Disaster Management", + desc: + [ + text: "1. Geospatial data for disaster management at ITC", + link: "https://www.youtube.com/watch?v=dYG7GsqcCMM", + ], + ], + [ + head: "Vehicle Detection and Intelligent Transportation", + desc: + [ + text: "1. Intelligent Transport Systems made in KOREA English Version 22'", + link: "https://www.youtube.com/watch?v=H_JhcBTgwPo", + ], + ], + ] +--- diff --git a/src/content/fruits/peach.md b/src/content/fruits/peach.md new file mode 100644 index 0000000..ede5c52 --- /dev/null +++ b/src/content/fruits/peach.md @@ -0,0 +1,4 @@ +--- +heading: "Peach" +phurr: hey +--- diff --git a/src/content/home/core/core1.md b/src/content/home/core/core1.md new file mode 100644 index 0000000..f90d9dc --- /dev/null +++ b/src/content/home/core/core1.md @@ -0,0 +1,6 @@ +--- +Number: 1 +name: "Prof. Kannan Moudgalya" +position: ['P.I., FOSSEE'] +institute: "Indian Institute of Technology Bombay" +--- diff --git a/src/content/home/core/core2.md b/src/content/home/core/core2.md new file mode 100644 index 0000000..a5a4a22 --- /dev/null +++ b/src/content/home/core/core2.md @@ -0,0 +1,6 @@ +--- +Number: 2 +name: "Prof. Pennan Chinnasamy" +position: ['Co.P.I., FOSSEE & PiC, The Rural Data Research & Analysis (RuDRA) Lab, IIT Bombay'] +institute: "Indian Institute of Technology Bombay" +--- diff --git a/src/content/home/core/core3.md b/src/content/home/core/core3.md new file mode 100644 index 0000000..205b3ec --- /dev/null +++ b/src/content/home/core/core3.md @@ -0,0 +1,6 @@ +--- +Number: 3 +name: "Prof. Roshan Srivastav" +position: ['Project Director, IIT Tirupati Navavishkar I-Hub Foundation (NM-ICPS, DST)'] +institute: "Indian Institute of Technology Tirupati" +--- diff --git a/src/content/home/core/core4.md b/src/content/home/core/core4.md new file mode 100644 index 0000000..5965961 --- /dev/null +++ b/src/content/home/core/core4.md @@ -0,0 +1,6 @@ +--- +Number: 4 +name: "Mr. Rajesh Kushalkar" +position: ['Senior Manager, FOSSEE-Open Hardware'] +institute: "Indian Institute of Technology Bombay" +--- diff --git a/src/content/home/core/core5.md b/src/content/home/core/core5.md new file mode 100644 index 0000000..a2df3fe --- /dev/null +++ b/src/content/home/core/core5.md @@ -0,0 +1,6 @@ +--- +Number: 5 +name: "Dr. Sunil T T" +position: ['Director'] +institute: "ICFOSS" +--- diff --git a/src/content/home/core/core6.md b/src/content/home/core/core6.md new file mode 100644 index 0000000..2d31a5a --- /dev/null +++ b/src/content/home/core/core6.md @@ -0,0 +1,6 @@ +--- +Number: 6 +name: "Dr. Srinivasan Ravindran" +position: ['Program Head, FOSS Business Solutions'] +institute: "Indian Institute of Technology Bombay" +--- diff --git a/src/content/home/core/core7.md b/src/content/home/core/core7.md new file mode 100644 index 0000000..327b00c --- /dev/null +++ b/src/content/home/core/core7.md @@ -0,0 +1,6 @@ +--- +Number: 7 +name: "Mr. Shafeek P M" +position: ['Technical Coordinator - IoT'] +institute: "ICFOSS" +--- diff --git a/src/content/home/core/core8.md b/src/content/home/core/core8.md new file mode 100644 index 0000000..8eadfaa --- /dev/null +++ b/src/content/home/core/core8.md @@ -0,0 +1,6 @@ +--- +Number: 8 +name: "Mr. Jayakumar K S" +position: ['Manager, Incubation & FOSS Business Solutions'] +institute: "ICFOSS" +--- diff --git a/src/content/home/core/core9.md b/src/content/home/core/core9.md new file mode 100644 index 0000000..06207ed --- /dev/null +++ b/src/content/home/core/core9.md @@ -0,0 +1,6 @@ +--- +Number: 9 +name: "Mr. Mohamed Kasim Khan" +position: ['National Coordinator, FOSSEE-GIS', 'National Mission on Education through ICT, Ministry of Education, Government of India'] +institute: "Indian Institute of Technology Bombay" +--- diff --git a/src/content/home/partner/partner1.md b/src/content/home/partner/partner1.md new file mode 100644 index 0000000..fb074a0 --- /dev/null +++ b/src/content/home/partner/partner1.md @@ -0,0 +1,4 @@ +--- +Number: 1 +description: "The IIT Bombay FOSSEE GIS & OSHW project teams are the main organizers of this National Level Geospatial IoT Hackathon 2024 (Edition 01). FOSSEE promotes the usage of Free/Libre Open Source Software in academia and industry and is funded through the National Mission on Education through ICT, Ministry of Education, Government of India." +--- diff --git a/src/content/home/partner/partner2.md b/src/content/home/partner/partner2.md new file mode 100644 index 0000000..493cdb5 --- /dev/null +++ b/src/content/home/partner/partner2.md @@ -0,0 +1,4 @@ +--- +Number: 2 +description: "The Rural Data Research and Analysis (RuDRA) Lab, IIT Bombay is India's first HPC-powered data center dedicated to Rural Development." +--- diff --git a/src/content/home/partner/partner3.md b/src/content/home/partner/partner3.md new file mode 100644 index 0000000..93eff18 --- /dev/null +++ b/src/content/home/partner/partner3.md @@ -0,0 +1,4 @@ +--- +Number: 3 +description: "The <span> IIT Tirupati Navavishkar I-Hub Foundation </span> is the Technology Innovation Hub specializing in Positioning and Precision Technologies, funded through the National Mission on Interdisciplinary Cyber-Physical System (NM-ICPS), Department of Science and Technology, Government of India." +--- diff --git a/src/content/home/partner/partner4.md b/src/content/home/partner/partner4.md new file mode 100644 index 0000000..46dea29 --- /dev/null +++ b/src/content/home/partner/partner4.md @@ -0,0 +1,4 @@ +--- +Number: 4 +description: "and has the combined mandate of popularizing Free and Open Source Software for universal use; consolidating the early FOSS work done in Kerala; and networking with different nations, communities, and governments to collaboratively promote FOSS" +--- diff --git a/src/content/home/purpose/purp1.md b/src/content/home/purpose/purp1.md new file mode 100644 index 0000000..b5afe43 --- /dev/null +++ b/src/content/home/purpose/purp1.md @@ -0,0 +1,4 @@ +--- +Number: 1 +desc: "This hackathon is more than just a competition; it's a platform for innovators, creators, and visionaries to come together and pioneer solutions for a brighter future. Our purpose is to harness the power of open source hardware, the Internet of Things (IoT), and Geographic Information Systems (GIS) to address some of the world's most pressing challenges." +--- diff --git a/src/content/home/purpose/purp2.md b/src/content/home/purpose/purp2.md new file mode 100644 index 0000000..a2e7974 --- /dev/null +++ b/src/content/home/purpose/purp2.md @@ -0,0 +1,4 @@ +--- +Number: 2 +desc: "The FOSSEE project, IIT Bombay promotes the use of Free/ Libre Open Source Software in academia and Industry. The FOSSEE project is funded through the National Mission on Education through ICT (NMEICT), Ministry of Education, Government of India. The FOSSEE-GIS team manages the overall coordination of the 'IIT Bombay FOSSEE GIS Internship in Geospatial Dashboard Design and Implementation'." +--- diff --git a/src/content/home/significance/sig1.md b/src/content/home/significance/sig1.md new file mode 100644 index 0000000..b0d8427 --- /dev/null +++ b/src/content/home/significance/sig1.md @@ -0,0 +1,17 @@ +--- +Numnber: 1 +intro: "In a world where technology shapes our daily lives, the significance of this hackathon cannot be overstated. Here, participants have the opportunity to redefine the boundaries of what's possible. By merging open source principles with cutting-edge technologies, we aim to:" +point: + [ + "Solve Real-World Problems: Tackle critical issues such as environmental sustainability, disaster management, precision agriculture, and more. Your solutions can change lives and protect our planet.", + "Foster Innovation: Innovation thrives when knowledge is shared openly. By promoting open source hardware and IoT, we empower you to push the boundaries of creativity and discovery.", + "Create Collaborative Communities: Through this hackathon, we build communities of like-minded individuals passionate about making a difference. Together, we can achieve more than any one of us can alone.", + "Empower Future Leaders: Whether you're a student, a professional, or an enthusiast, this hackathon is a launchpad for your ideas. It's a chance to develop your skills, showcase your talents, and make your mark on the world.", + ] +end: "Join us on this extraordinary journey, where innovation knows no bounds. Together, let's turn ideas into actions and make a lasting impact on society and the environment. The Open Source Hardware IoT GIS Hackathon is your stage to shine, and the world is waiting to witness your brilliance." +--- + +- "Solve Real-World Problems: Tackle critical issues such as environmental sustainability, disaster management, precision agriculture, and more. Your solutions can change lives and protect our planet." +- "Foster Innovation: Innovation thrives when knowledge is shared openly. By promoting open source hardware and IoT, we empower you to push the boundaries of creativity and discovery." +- "Create Collaborative Communities: Through this hackathon, we build communities of like-minded individuals passionate about making a difference. Together, we can achieve more than any one of us can alone." +- "Empower Future Leaders: Whether you're a student, a professional, or an enthusiast, this hackathon is a launchpad for your ideas. It's a chance to develop your skills, showcase your talents, and make your mark on the world." diff --git a/src/content/navbar/nav1.md b/src/content/navbar/nav1.md new file mode 100644 index 0000000..7199b5d --- /dev/null +++ b/src/content/navbar/nav1.md @@ -0,0 +1,5 @@ +--- +Number: 1 +path: "/" +name: "Home" +--- diff --git a/src/content/navbar/nav2.md b/src/content/navbar/nav2.md new file mode 100644 index 0000000..46d2ece --- /dev/null +++ b/src/content/navbar/nav2.md @@ -0,0 +1,5 @@ +--- +Number: 2 +path: "/#purpose" +name: "About" +--- diff --git a/src/content/navbar/nav3.md b/src/content/navbar/nav3.md new file mode 100644 index 0000000..aca7e20 --- /dev/null +++ b/src/content/navbar/nav3.md @@ -0,0 +1,5 @@ +--- +Number: 3 +path: "/resources" +name: "Resources" +--- diff --git a/src/content/navbar/nav4.md b/src/content/navbar/nav4.md new file mode 100644 index 0000000..d9377ee --- /dev/null +++ b/src/content/navbar/nav4.md @@ -0,0 +1,5 @@ +--- +Number: 4 +path: "/schedule" +name: "Schedule" +--- diff --git a/src/content/navbar/nav5.md b/src/content/navbar/nav5.md new file mode 100644 index 0000000..4189027 --- /dev/null +++ b/src/content/navbar/nav5.md @@ -0,0 +1,5 @@ +--- +Number: 5 +path: "/#register" +name: "Register" +--- diff --git a/src/content/navbar/nav6.md b/src/content/navbar/nav6.md new file mode 100644 index 0000000..bc4c362 --- /dev/null +++ b/src/content/navbar/nav6.md @@ -0,0 +1,5 @@ +--- +Number: 6 +path: "/#partners" +name: "Partners" +--- diff --git a/src/content/navbar/nav7.md b/src/content/navbar/nav7.md new file mode 100644 index 0000000..dc381f7 --- /dev/null +++ b/src/content/navbar/nav7.md @@ -0,0 +1,5 @@ +--- +Number: 7 +path: "/#contact-us" +name: "Contact Us" +--- diff --git a/src/content/navbar/nav8.md b/src/content/navbar/nav8.md new file mode 100644 index 0000000..5107d3e --- /dev/null +++ b/src/content/navbar/nav8.md @@ -0,0 +1,5 @@ +--- +Number: 8 +path: "/#faq" +name: "FAQ" +--- diff --git a/src/content/navbar/nav9.md b/src/content/navbar/nav9.md new file mode 100644 index 0000000..6011217 --- /dev/null +++ b/src/content/navbar/nav9.md @@ -0,0 +1,5 @@ +--- +Number: 9 +path: "/results" +name: "Results" +--- diff --git a/src/content/schedule/s1.md b/src/content/schedule/s1.md new file mode 100644 index 0000000..b8ccbe1 --- /dev/null +++ b/src/content/schedule/s1.md @@ -0,0 +1,11 @@ +--- +Number: 1 +heading: "Week 1: Kickoff and Orientation [March 01 to 07, 2024]" +--- + +- "Working Day 1: Registration and Welcome Ceremony" +- "Working Day 2: Opening Keynote and Theme Announcement" +- "Working Day 3: Workshop 1 - Introduction to Open Hardware and IoT" +- "Working Day 4: Workshop 2 - Geospatial Technology Fundamentals" +- "Working Day 5: Team Formation and Ideation Session" +- "Working Day 6-7: Self-Study and Project Brainstorming" diff --git a/src/content/schedule/s2.md b/src/content/schedule/s2.md new file mode 100644 index 0000000..c9d3359 --- /dev/null +++ b/src/content/schedule/s2.md @@ -0,0 +1,9 @@ +--- +Number: 2 +heading: "Week 2: Deep Dive into IoT and GIS [March 08 to 14, 2024]" +--- + +- "Working Day 8: Workshop 3 - IoT Sensors and Data Collection" +- "Working Day 9: Workshop 4 - Advanced GIS Applications" +- "Working Day 10: Hacking Session Begins" +- "Working Day 11-14: Guided Hacking, Team Check-Ins, and Progress Reports" diff --git a/src/content/schedule/s3.md b/src/content/schedule/s3.md new file mode 100644 index 0000000..e2deb0f --- /dev/null +++ b/src/content/schedule/s3.md @@ -0,0 +1,8 @@ +--- +Number: 3 +heading: "Week 3: Prototyping and Development [March 15 to 21, 2024]" +--- + +- "Working Day 15: Workshop 5 - Data Visualization with GIS" +- "Working Day 16: Workshop 6 - Open Source Hardware Prototyping" +- "Working Day 17-21: Dedicated Hacking and Prototype Development" diff --git a/src/content/schedule/s4.md b/src/content/schedule/s4.md new file mode 100644 index 0000000..bd6d2f3 --- /dev/null +++ b/src/content/schedule/s4.md @@ -0,0 +1,9 @@ +--- +Number: 4 +heading: "Week 4: Final Touches and Presentations [March 22 to April 05, 2024]" +--- + +- "Working Day 22: Workshop 7 - IoT Data Analysis" +- "Working Day 23-25: Final Project Development and Testing" +- "Working Day 26: Project Submissions" +- "Working Day 27-28: Team Rehearsals and Presentation Prep" diff --git a/src/content/schedule/s5.md b/src/content/schedule/s5.md new file mode 100644 index 0000000..f4418c5 --- /dev/null +++ b/src/content/schedule/s5.md @@ -0,0 +1,8 @@ +--- +Number: 5 +heading: "Week 5: Grand Finale and Awards" +--- + +- "Working Day 29: Presentations by Hackathon Teams" +- "April 12, 2023 (tentative): Judging and Results Declaration" +- "Date to be announced: Awards Ceremony and Celebration" diff --git a/src/content/topbar/top1.md b/src/content/topbar/top1.md new file mode 100644 index 0000000..0902ba0 --- /dev/null +++ b/src/content/topbar/top1.md @@ -0,0 +1,8 @@ +--- +Number: 1 +link: "http://iitb.ac.in/" +image: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/iitb-logo.png" +alt: "IITB" +classname: "img-fluid logos" +id: "iitb" +--- diff --git a/src/content/topbar/top2.md b/src/content/topbar/top2.md new file mode 100644 index 0000000..2192cf1 --- /dev/null +++ b/src/content/topbar/top2.md @@ -0,0 +1,8 @@ +--- +Number: 2 +link: "https://fossee.in" +image: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/fossee-logo.png" +alt: "FOSSEE" +classname: "img-fluid logos" +id: "" +--- diff --git a/src/content/topbar/top3.md b/src/content/topbar/top3.md new file mode 100644 index 0000000..b4f0087 --- /dev/null +++ b/src/content/topbar/top3.md @@ -0,0 +1,8 @@ +--- +Number: 3 +link: "https://nmeict.ac.in" +image: "https://fossee.in/sites/all/themes/software_responsive_theme/img/nmeict-logo.png" +alt: "NMEICT" +classname: "img-fluid logos" +id: "" +--- diff --git a/src/content/topbar/top4.md b/src/content/topbar/top4.md new file mode 100644 index 0000000..46dd551 --- /dev/null +++ b/src/content/topbar/top4.md @@ -0,0 +1,8 @@ +--- +Number: 4 +link: "http://www.rudra.iitb.ac.in/" +image: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/rudra-logo.png" +alt: "Rudra" +classname: "img-fluid logos" +id: "" +--- diff --git a/src/content/topbar/top5.md b/src/content/topbar/top5.md new file mode 100644 index 0000000..566f120 --- /dev/null +++ b/src/content/topbar/top5.md @@ -0,0 +1,8 @@ +--- +Number: 5 +link: "https://www.iittp.ac.in/" +image: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/iit-tirupati.png" +alt: "IIT Tirupati" +classname: "img-fluid logos" +id: "" +--- diff --git a/src/content/topbar/top6.md b/src/content/topbar/top6.md new file mode 100644 index 0000000..8ff1e48 --- /dev/null +++ b/src/content/topbar/top6.md @@ -0,0 +1,8 @@ +--- +Number: 6 +link: "https://iittnif.com/" +image: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/navavishkaar.png" +alt: "IITTNiF" +classname: "img-fluid logos" +id: "" +--- diff --git a/src/content/topbar/top7.md b/src/content/topbar/top7.md new file mode 100644 index 0000000..cb6856c --- /dev/null +++ b/src/content/topbar/top7.md @@ -0,0 +1,8 @@ +--- +Number: 7 +link: "https://nmicps.in/" +image: "https://iot-gis-hackathon.fossee.org/static/cms/uploads/images/NM-ICPS-logo1.png" +alt: "NMICPS" +classname: "img-fluid logos" +id: "" +--- diff --git a/src/content/topbar/top8.md b/src/content/topbar/top8.md new file mode 100644 index 0000000..f52976a --- /dev/null +++ b/src/content/topbar/top8.md @@ -0,0 +1,8 @@ +--- +Number: 8 +link: "https://www.icfoss.in/" +image: "https://iot-gis-hackathon.fossee.in/static/cms/uploads/images/icfoss-logo.png" +alt: "icfoss" +classname: "img-fluid logos big-img" +id: "" +--- diff --git a/src/content/topbar/top9.md b/src/content/topbar/top9.md new file mode 100644 index 0000000..5eb9467 --- /dev/null +++ b/src/content/topbar/top9.md @@ -0,0 +1,8 @@ +--- +Number: 9 +link: "https://spoken-tutorial.org" +image: "https://iitb-fossee-mapathon.fossee.in/static/cms/uploads/images/st-logo.png" +alt: "Spoken Tutorial" +classname: "img-fluid logos" +id: "" +--- diff --git a/src/env.d.ts b/src/env.d.ts index f964fe0..acef35f 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -1 +1,2 @@ +/// <reference path="../.astro/types.d.ts" /> /// <reference types="astro/client" /> diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 0534b2c..8f6d4dc 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -34,7 +34,6 @@ const { title } = Astro.props; ); } html { - /* font-family: 'Roboto Slab', serif !important; */ font-family: Trebuchet MS, sans-serif; background: #13151a; background-size: 224px; @@ -43,9 +42,7 @@ const { title } = Astro.props; width: 100%; overflow-x: hidden; min-width: 460px; - /* font-family: 'Roboto Slab', serif !important; */ font-family: Trebuchet MS, sans-serif; - /* min-height: 100vh; */ } code { font-family: diff --git a/src/middleware.ts b/src/middleware.ts new file mode 100644 index 0000000..03d5b85 --- /dev/null +++ b/src/middleware.ts @@ -0,0 +1,47 @@ +// import { lucia } from "./lib/auth"; +// import { verifyRequestOrigin } from "lucia"; +// import { defineMiddleware } from "astro:middleware"; + +// export const onRequest = defineMiddleware(async (context, next) => { +// if (context.request.method !== "GET") { +// const originHeader = context.request.headers.get("Origin"); +// const hostHeader = context.request.headers.get("Host"); +// if ( +// !originHeader || +// !hostHeader || +// !verifyRequestOrigin(originHeader, [hostHeader]) +// ) { +// return new Response(null, { +// status: 403, +// }); +// } +// } + +// const sessionId = context.cookies.get(lucia.sessionCookieName)?.value ?? null; +// if (!sessionId) { +// context.locals.user = null; +// context.locals.session = null; +// return next(); +// } + +// const { session, user } = await lucia.validateSession(sessionId); +// if (session && session.fresh) { +// const sessionCookie = lucia.createSessionCookie(session.id); +// context.cookies.set( +// sessionCookie.name, +// sessionCookie.value, +// sessionCookie.attributes +// ); +// } +// if (!session) { +// const sessionCookie = lucia.createBlankSessionCookie(); +// context.cookies.set( +// sessionCookie.name, +// sessionCookie.value, +// sessionCookie.attributes +// ); +// } +// context.locals.session = session; +// context.locals.user = user; +// return next(); +// }); diff --git a/src/pages/index.astro b/src/pages/index.astro index 36ce3d0..525e450 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -13,7 +13,6 @@ import IconBar from '../components/IconBar.astro'; <div class="main"> <TopBar /> <Navbar /> - <!-- <TestNavbar /> --> <Header /> <IconBar /> <HomeBody /> diff --git a/src/pages/results.astro b/src/pages/results.astro index e233238..ed2b0d7 100644 --- a/src/pages/results.astro +++ b/src/pages/results.astro @@ -5,6 +5,8 @@ import Navbar from '../components/Navbar.astro'; import Footer from '../components/Footer.astro'; import ResultsBody from '../components/ResultsBody.astro'; import IconBar from '../components/IconBar.astro'; + +const fruits = await Astro.glob('../content/fruits/*.md'); --- <Layout title="Welcome to FOSSEE."> @@ -12,8 +14,20 @@ import IconBar from '../components/IconBar.astro'; <TopBar /> <Navbar /> <IconBar/> + + <!-- {fruits.map((fruit)=>{ + const Content = fruit.Content; + const heading = fruit.frontmatter.heading; + return ( + <div> + <h1>{heading}</h1> + <Content /> + </div> + ) + })} --> <ResultsBody/> <Footer/> + </main> </Layout> diff --git a/src/script.py b/src/script.py new file mode 100644 index 0000000..74317ce --- /dev/null +++ b/src/script.py @@ -0,0 +1,45 @@ +import json +import os + +#change +input_dir = '../public/jsonData/home.json' +output_dir = './content/home/core' +output_fileName = 'core' + + +with open(input_dir, 'r', encoding='utf-8') as file: + data = json.load(file) + + +os.makedirs(output_dir, exist_ok=True) + +#change +for count, entry in enumerate(data["coreteam"], start=1): + + + #change + Number = count + name = entry['name'] + positions = entry['position'] + institute = entry['institute'] + + + # positions_content = '\n'.join([f' - "{position}"' for position in positions]) + + # Create the content for the Markdown file + content = f"""--- +Number: {Number} +name: "{name}" +position: {positions} +institute: "{institute}" +--- +""" + + filename = os.path.join(output_dir, f"{output_fileName}{count}.md") + count+=1 + + + with open(filename, 'w', encoding='utf-8') as md_file: + md_file.write(content) + +print("Markdown files created successfully.") |