├── .npmrc ├── .prettierignore ├── static ├── favicon.webp ├── assets │ └── bigo.png ├── reference │ └── class-reference-sheet.pdf ├── icons │ └── right-arrow.svg ├── questions │ ├── bases.json │ ├── math.json │ ├── precedence.json │ └── strings.json ├── social │ └── github-mark-white.svg ├── cheatsheet │ ├── bases.md │ ├── precedence.md │ ├── primitives.md │ ├── bigo.md │ ├── math.md │ ├── ascii.md │ └── strings.md └── guide │ └── bases.md ├── src ├── types │ └── question.ts ├── components │ ├── Footer.svelte │ ├── UnderlineButton.svelte │ ├── Button.svelte │ ├── Navbar.svelte │ ├── Markdown.svelte │ ├── QuestionContent.svelte │ └── SEO.svelte ├── data │ └── topics.ts ├── routes │ ├── +error.svelte │ ├── topics │ │ ├── [slug] │ │ │ ├── +page.svelte │ │ │ └── [part] │ │ │ │ └── +page.svelte │ │ └── +page.svelte │ ├── resources │ │ ├── +page.svelte │ │ └── resources.md │ ├── +layout.svelte │ ├── reference │ │ └── +page.svelte │ └── +page.svelte ├── app.d.ts ├── app.html ├── lib │ └── Analytics.svelte └── app.css ├── .github └── ISSUE_TEMPLATE │ └── create-new-topic.md ├── .prettierrc ├── .gitignore ├── vite.config.ts ├── tsconfig.json ├── svelte.config.js ├── eslint.config.js ├── LICENSE ├── README.md ├── package.json └── cheatsheet.md /.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Package Managers 2 | package-lock.json 3 | pnpm-lock.yaml 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /static/favicon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Villy-P/UIL-CS-Toolkit/HEAD/static/favicon.webp -------------------------------------------------------------------------------- /static/assets/bigo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Villy-P/UIL-CS-Toolkit/HEAD/static/assets/bigo.png -------------------------------------------------------------------------------- /static/reference/class-reference-sheet.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Villy-P/UIL-CS-Toolkit/HEAD/static/reference/class-reference-sheet.pdf -------------------------------------------------------------------------------- /src/types/question.ts: -------------------------------------------------------------------------------- 1 | export interface Question { 2 | question: string; 3 | answers: string[]; 4 | correct: number; 5 | explanation: string; 6 | }; -------------------------------------------------------------------------------- /src/components/Footer.svelte: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/create-new-topic.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Create new Topic 3 | about: Request a new topic to be added 4 | title: "[TOPIC] Topic Name" 5 | labels: enhancement, topics 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/data/topics.ts: -------------------------------------------------------------------------------- 1 | type TopicScores = { 2 | [key: string]: number; 3 | }; 4 | 5 | export const topics: TopicScores = { 6 | ascii: 100, 7 | bases: 111, 8 | bigo: 100, 9 | math: 101, 10 | precedence: 101, 11 | primitives: 100, 12 | strings: 101 13 | }; -------------------------------------------------------------------------------- /src/routes/+error.svelte: -------------------------------------------------------------------------------- 1 |
2 |

404

3 |

The page you are looking for does not exist.

4 | Go to Home Page 5 |
-------------------------------------------------------------------------------- /src/routes/topics/[slug]/+page.svelte: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "trailingComma": "none", 5 | "printWidth": 100, 6 | "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], 7 | "overrides": [ 8 | { 9 | "files": "*.svelte", 10 | "options": { 11 | "parser": "svelte" 12 | } 13 | } 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | # Output 4 | .output 5 | .vercel 6 | .netlify 7 | .wrangler 8 | /.svelte-kit 9 | /build 10 | 11 | # OS 12 | .DS_Store 13 | Thumbs.db 14 | 15 | # Env 16 | .env 17 | .env.* 18 | !.env.example 19 | !.env.test 20 | 21 | # Vite 22 | vite.config.js.timestamp-* 23 | vite.config.ts.timestamp-* 24 | 25 | # VSCode Environment 26 | /.vscode 27 | -------------------------------------------------------------------------------- /src/app.d.ts: -------------------------------------------------------------------------------- 1 | // See https://svelte.dev/docs/kit/types#app.d.ts 2 | // for information about these interfaces 3 | declare global { 4 | namespace App { 5 | // interface Error {} 6 | // interface Locals {} 7 | // interface PageData {} 8 | // interface PageState {} 9 | // interface Platform {} 10 | } 11 | 12 | interface Window { 13 | gtag: Gtag; 14 | } 15 | } 16 | 17 | export {}; 18 | -------------------------------------------------------------------------------- /src/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | %sveltekit.head% 8 | 9 | 10 |
%sveltekit.body%
11 | 12 | 13 | -------------------------------------------------------------------------------- /src/components/UnderlineButton.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | {text} 9 | 10 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import tailwindcss from '@tailwindcss/vite'; 2 | import { sveltekit } from '@sveltejs/kit/vite'; 3 | import { defineConfig, searchForWorkspaceRoot } from 'vite'; 4 | 5 | export default defineConfig({ 6 | plugins: [sveltekit(), tailwindcss()], 7 | server: { 8 | fs: { 9 | allow: [ 10 | searchForWorkspaceRoot(process.cwd()), 11 | "/static/question/*", 12 | "/static/guide/*", 13 | "/static/cheetsheet/*", 14 | ] 15 | } 16 | } 17 | }); 18 | -------------------------------------------------------------------------------- /src/routes/resources/+page.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 |
9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /src/routes/+layout.svelte: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 |
13 | {@render children()} 14 |
15 |