diff --git a/index.html b/index.html index 6717aed..7b7c109 100644 --- a/index.html +++ b/index.html @@ -6,8 +6,9 @@ + - diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..02a3d87 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Allow: / \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 98110ba..3f6360f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,51 +1,48 @@ -import type { Component } from 'solid-js'; -import { GITHUB } from "./constants"; +import { JSX } from 'solid-js'; +import { GITHUB_PROFILE_URL } from "./constants"; import { Link } from "./Link"; -import { OcMarkgithub2 } from "solid-icons/oc"; +import { Socials } from "./Socials"; -const App: Component = () => { +function App(): JSX.Element { return <>
-
-
+
+
+ + +
+ +
+
+
+
; -}; - -const Socials: Component = () => { - return <> - - -}; +} -const Divider: Component = () => { +function Divider(): JSX.Element { return
; -}; +} -const Bio: Component = () => { +function Bio(): JSX.Element { return

Hi, I'm {" "} rushii!

- - /ruːʃi/ + + /ruːʃi/

I'm a self-taught student developer living on the US west coast.

@@ -56,15 +53,16 @@ const Bio: Component = () => {

You can find me in various communities you've probably never heard of.

I am available for freelance work/jobs/internships.

-}; +} -const Footer: Component = () => { +function Footer(): JSX.Element { return <>

rushii © All rights reserved

- Source Code ❤️ GitHub + Source Code ❤️ GitHub
-}; +} export default App; diff --git a/src/Link.tsx b/src/Link.tsx index 568f3e7..e31a5e3 100644 --- a/src/Link.tsx +++ b/src/Link.tsx @@ -1,9 +1,28 @@ -import { Component, JSX } from "solid-js"; +import { JSX } from "solid-js"; -type LinkProps

= P & { children?: JSX.Element, url: string, secure?: boolean }; -type LinkComponent

= Component>; +interface LinkProps { + children: JSX.Element, + url: string, + class?: string, + secure?: boolean, + noReferrer?: boolean, +} -export const Link: LinkComponent = (props: LinkProps) => { - let rel = props.secure ? "noopener noreferrer" : "noopener"; - return {props.children}; -} \ No newline at end of file +export function Link(props: LinkProps): JSX.Element { + let rel = props.secure + ? "noopener noreferrer" + : "noopener"; + let referrer: JSX.HTMLReferrerPolicy = props.noReferrer + ? "no-referrer" + : "strict-origin" + + return <> + + {props.children} + + ; +} diff --git a/src/Socials.tsx b/src/Socials.tsx new file mode 100644 index 0000000..23ce24e --- /dev/null +++ b/src/Socials.tsx @@ -0,0 +1,40 @@ +import { For, JSX } from "solid-js"; +import { Link } from "./Link"; +import { BLOG_URL, GITHUB_PROFILE_URL } from "./constants"; +import { ImBlog } from "solid-icons/im"; +import { OcMarkgithub2 } from "solid-icons/oc"; + +const SOCIALS = [ + { + name: "GitHub", + url: GITHUB_PROFILE_URL, + icon: () => , + }, + { + name: "Blog", + url: BLOG_URL, + icon: () => , + } +] + +function SocialsItem(props: (typeof SOCIALS)[0]): JSX.Element { + return <> + +

+ {props.icon()} +

{props.name}

+
+ + ; +} + +export function Socials(): JSX.Element { + return <> +
+ + {(item) => SocialsItem(item)} + +
+ ; +} \ No newline at end of file diff --git a/src/constants.ts b/src/constants.ts index ce0ce52..777d46b 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,2 +1,2 @@ -/** My current GitHub profile. */ -export const GITHUB: string = "https://github.com/rushiiMachine"; \ No newline at end of file +export const GITHUB_PROFILE_URL: string = "https://github.com/rushiiMachine"; +export const BLOG_URL: string = "https://rushii.materii.dev" diff --git a/src/index.css b/src/index.css index 9814a3e..4ded9f2 100644 --- a/src/index.css +++ b/src/index.css @@ -13,6 +13,9 @@ a { .site-background { background-size: 100%; background: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), - url("/background.webp") - no-repeat; + url("/background.webp") no-repeat; +} + +.hover-offset { + @apply transition hover:-translate-y-0.5 hover:translate-x-0.5 }