diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..add98f9 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "plugins": ["prettier-plugin-svelte", "prettier-plugin-astro"], + "tabWidth": 4 +} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 997585d..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "prettier.documentSelectors": ["**/*.astro"], - "[astro]": { - "editor.defaultFormatter": "esbenp.prettier-vscode" - } -} diff --git a/astro.config.mjs b/astro.config.mjs index cb9727f..4dd3277 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,9 +1,13 @@ -import { defineConfig } from 'astro/config'; +import { defineConfig } from "astro/config"; import tailwind from "@astrojs/tailwind"; import svelte from "@astrojs/svelte"; // https://astro.build/config export default defineConfig({ - integrations: [tailwind(), svelte()] -}); \ No newline at end of file + integrations: [tailwind(), svelte()], + server: { + port: 8008, + hostname: "RythonDev", + }, +}); diff --git a/package-lock.json b/package-lock.json index 5dc01672..88248d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,8 @@ }, "devDependencies": { "prettier": "^3.0.3", - "prettier-plugin-astro": "^0.12.0" + "prettier-plugin-astro": "^0.12.0", + "prettier-plugin-svelte": "^3.0.3" } }, "node_modules/@alloc/quick-lru": { @@ -4653,6 +4654,16 @@ "integrity": "sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==", "dev": true }, + "node_modules/prettier-plugin-svelte": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.0.3.tgz", + "integrity": "sha512-dLhieh4obJEK1hnZ6koxF+tMUrZbV5YGvRpf2+OADyanjya5j0z1Llo8iGwiHmFWZVG/hLEw/AJD5chXd9r3XA==", + "dev": true, + "peerDependencies": { + "prettier": "^3.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0" + } + }, "node_modules/prismjs": { "version": "1.29.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", diff --git a/package.json b/package.json index 581d3ba..7ef64f0 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,24 @@ { - "name": "dev-portfolio", - "type": "module", - "version": "0.0.1", - "scripts": { - "dev": "astro dev", - "start": "astro dev", - "build": "astro build", - "preview": "astro preview", - "astro": "astro" - }, - "dependencies": { - "@astrojs/svelte": "^4.0.2", - "@astrojs/tailwind": "^5.0.0", - "astro": "^3.2.0", - "svelte": "^4.2.1", - "tailwindcss": "^3.3.3" - }, - "devDependencies": { - "prettier": "^3.0.3", - "prettier-plugin-astro": "^0.12.0" - } + "name": "dev-portfolio", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/svelte": "^4.0.2", + "@astrojs/tailwind": "^5.0.0", + "astro": "^3.2.0", + "svelte": "^4.2.1", + "tailwindcss": "^3.3.3" + }, + "devDependencies": { + "prettier": "^3.0.3", + "prettier-plugin-astro": "^0.12.0", + "prettier-plugin-svelte": "^3.0.3" + } } diff --git a/public/images/logo_circle.webp b/public/images/logo_circle.webp new file mode 100644 index 0000000..28d254b Binary files /dev/null and b/public/images/logo_circle.webp differ diff --git a/public/images/pfp-862x1078.webp b/public/images/pfp-862x1078.webp new file mode 100644 index 0000000..7ee772a Binary files /dev/null and b/public/images/pfp-862x1078.webp differ diff --git a/public/images/pfp-square.webp b/public/images/pfp-square.webp new file mode 100644 index 0000000..2e3dd68 Binary files /dev/null and b/public/images/pfp-square.webp differ diff --git a/public/images/projects/coworking-guide.webp b/public/images/projects/coworking-guide.webp new file mode 100644 index 0000000..f0aac0c Binary files /dev/null and b/public/images/projects/coworking-guide.webp differ diff --git a/public/images/socials/codepen.svg b/public/images/socials/codepen.svg new file mode 100644 index 0000000..f950c61 --- /dev/null +++ b/public/images/socials/codepen.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/socials/email.svg b/public/images/socials/email.svg new file mode 100644 index 0000000..c1b8b8d --- /dev/null +++ b/public/images/socials/email.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/socials/github.svg b/public/images/socials/github.svg new file mode 100644 index 0000000..f5bf5e0 --- /dev/null +++ b/public/images/socials/github.svg @@ -0,0 +1,5 @@ + + +github + + diff --git a/public/images/socials/linkedin.svg b/public/images/socials/linkedin.svg new file mode 100644 index 0000000..f0695a0 --- /dev/null +++ b/public/images/socials/linkedin.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/socials/twitch.svg b/public/images/socials/twitch.svg new file mode 100644 index 0000000..cac773c --- /dev/null +++ b/public/images/socials/twitch.svg @@ -0,0 +1,5 @@ + + +twitch + + diff --git a/public/images/socials/youtube.svg b/public/images/socials/youtube.svg new file mode 100644 index 0000000..040978b --- /dev/null +++ b/public/images/socials/youtube.svg @@ -0,0 +1,5 @@ + + +youtube + + diff --git a/src/components/Card.astro b/src/components/Card.astro index bd6d597..75424b8 100644 --- a/src/components/Card.astro +++ b/src/components/Card.astro @@ -1,61 +1,62 @@ --- interface Props { - title: string; - body: string; - href: string; + primaryColor: string; + bgColor: string; } -const { href, title, body } = Astro.props; +const { primaryColor, bgColor = "#282828" } = Astro.props; --- - - diff --git a/src/components/Education.astro b/src/components/Education.astro new file mode 100644 index 0000000..d8cf8f3 --- /dev/null +++ b/src/components/Education.astro @@ -0,0 +1,61 @@ +--- +import Card from "./Card.astro"; +import Line from "./NetworkLine.astro"; +--- + +
+

Education

+
+
+ +
+
+

+ Diploma in Computer Science +

Jan 2022 - Present

+
+
+

Achievements

+
    +
  • 3-time Dean's List recipient
  • +
  • President of Computer Programming Club
  • +
  • Vice President of Diploma Union
  • +
+
+
+ + +
+
+

Cambridge IGCSE

+ Sep 2016 - June 2021 +

+
+
+

Achievements

+
    +
  • IGCSE 5 A*s, 3 A's
  • +
  • President of Technology Society
  • +
  • Technology Manager of Prefects' Board
  • +
+
+
+
+
+
+ + diff --git a/src/components/Intro.svelte b/src/components/Intro.svelte index eb42367..52b3cec 100644 --- a/src/components/Intro.svelte +++ b/src/components/Intro.svelte @@ -1,19 +1,195 @@ -
-
-
-

- Nice to meet you, I am -
- Ryan -
- I like to make cool stuff -
- as a programmer +

+
+
+

Good {greeting}, I'm

+

+ RythonDev +

+

+ {introState1}| +
{introState2} + {roleState}|

+
+

+ A computer science undergraduate student, passionate in + frontend web development and content creation. +

+
+
-
\ No newline at end of file +
+ + diff --git a/src/components/NetworkLine.astro b/src/components/NetworkLine.astro new file mode 100644 index 0000000..c1dc9cd --- /dev/null +++ b/src/components/NetworkLine.astro @@ -0,0 +1,40 @@ +--- +interface Props { + height: string; +} + +const { height } = Astro.props; +--- + +
+
+
+ + diff --git a/src/components/Projects.svelte b/src/components/Projects.svelte new file mode 100644 index 0000000..ed73303 --- /dev/null +++ b/src/components/Projects.svelte @@ -0,0 +1,453 @@ + + +
+

Projects

+ +
+
+
+ coworking guide + coworking guide + +
+
+

Coworking Guide

+

+ A guide to coworking streams for Twitch streamers, covers + wide range of topics from tips on how to get started with + setting up stream to how to grow your audience! +

+
+
+
+
+

Chat-Task-Tic Widget

+

+ A widget for Coworking and Study Twitch streamers, allows + the streamer and the chatters to add their tasks to the + widget, to be displayed on stream! +

+
+
+ +
+
+ Hover here! + 0/52 +
+
+
+ {#each streamers as { streamer, task }} +
+ O {streamer} : {task} +
+ {/each} +
+
+ {#each streamers as { streamer, task }} +
+ O {streamer} : {task} +
+ {/each} +
+
+
+
+
+ Hover here! + 0/52 +
+
+
+ {#each streamers as { streamer, task }} +
+ O {streamer} : {task} +
+ {/each} +
+
+ {#each streamers as { streamer, task }} +
+ O {streamer} : {task} +
+ {/each} +
+
+
+ + +
+
+
+
+ + diff --git a/src/components/Skills.astro b/src/components/Skills.astro new file mode 100644 index 0000000..2cd931f --- /dev/null +++ b/src/components/Skills.astro @@ -0,0 +1,44 @@ +--- +import Card from "../components/Card.astro"; +--- + +
+

Skills

+
+
+ +
+
+

+ Diploma in Computer Science +

Jan 2022 - Present

+
+
+

Achievements

+
    +
  • 3-time Dean's List recipient
  • +
  • President of Computer Programming Club
  • +
  • Vice President of Diploma Union
  • +
+
+
+
+
+
+ + diff --git a/src/components/WhatIDo.astro b/src/components/WhatIDo.astro new file mode 100644 index 0000000..383bc46 --- /dev/null +++ b/src/components/WhatIDo.astro @@ -0,0 +1,61 @@ +--- +import Card from "../components/Card.astro"; +--- + +
+
+

What I Do

+
+ +
+

Data Science

+
+

+ I possess knowledge of data science and machine learning, + particularly interested in Computer Vision. +

+
+
+ + +
+

Web Development

+
+

+ I like to code things for the web, whether it's to inform or + to entertain. +

+
+
+ + +
+

Content Creation

+
+

+ I am experienced in streaming on Twitch and marketing + myself, but I aim to improve my video editing skills. +

+
+
+
+
+ + diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index e27b155..99cd4a7 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,6 +1,6 @@ --- interface Props { - title: string; + title: string; } const { title } = Astro.props; @@ -8,116 +8,115 @@ const { title } = Astro.props; - - - - - - - {title} - - - - + + + + + + + {title} + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 22ecbc8..19f6500 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,10 +1,18 @@ --- -import Layout from '../layouts/Layout.astro'; -import Card from '../components/Card.astro'; -import Intro from '../components/Intro.svelte'; +import Layout from "../layouts/Layout.astro"; +import NetworkLine from "../components/NetworkLine.astro"; +import WhatIDo from "../components/WhatIDo.astro"; +import Intro from "../components/Intro.svelte"; +import Projects from "../components/Projects.svelte"; +import Education from "../components/Education.astro"; +import Skills from "../components/Skills.astro"; --- - + + + + + + - diff --git a/tailwind.config.cjs b/tailwind.config.cjs index f5368a7..5bbea6a 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.cjs @@ -1,8 +1,25 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'], - theme: { - extend: {}, - }, - plugins: [], -} + content: ["./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}"], + theme: { + extend: { + keyframes: { + gradient: { + "0%": { + "background-position": "0% 50%", + }, + "50%": { + "background-position": "100% 50%", + }, + "100%": { + "background-position": "0% 50%", + }, + }, + }, + animation: { + gradient: "gradient 15s ease infinite", + }, + }, + }, + plugins: [], +};