Skip to content

Commit

Permalink
wip: more content
Browse files Browse the repository at this point in the history
  • Loading branch information
rushiiMachine committed Jun 20, 2024
1 parent da1fb2d commit 23d0b72
Show file tree
Hide file tree
Showing 7 changed files with 106 additions and 43 deletions.
3 changes: 2 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
<meta name="darkreader-lock">
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="theme-color" content="#000000"/>
<meta name="description" content="personal dev site">
<meta name="og:title" content="rushii.dev"/>
<meta name="og:description" content="I'm a software engineer living on the US west coast.
<meta name="og:description" content="I'm a self-taught student developer living on the US west coast.
I love reverse engineering Android apps, writing apps with Jetpack Compose, and working with Kotlin/Rust."/>
<meta name="og:image" content="https://avatars.githubusercontent.com/u/33725716?v=4">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/inter-ui/4.0.2/inter.css" integrity="sha512-hijzqbP8sLpfqc1R7Sn4uta4OW5x4KQ5jBY3gPgxOHVZnDX/xzfgMLKZye+qM+kIGjE8YAUeeKWcnwiTx3kK7g==" crossorigin="anonymous" referrerpolicy="no-referrer" />
Expand Down
2 changes: 2 additions & 0 deletions public/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
User-agent: *
Allow: /
60 changes: 29 additions & 31 deletions src/App.tsx
Original file line number Diff line number Diff line change
@@ -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 <>
<div class="w-screen h-screen flex flex-col pt-16 pl-16 pr-16 site-background">
<div class="flex flex-col space-y-5 grow pt-[5%] pl-[25%] pr-[25%] text-gray-200 text-base">
<div class="flex justify-between align-top">
<div class="flex flex-col space-y-10 h-full pt-[2%] text-gray-200 text-base">
<div class="flex justify-between align-top pl-[25%] pr-[25%]">
<div class="grow">
<Bio/>
</div>
<Socials/>
</div>

<Divider/>

<div class="flex justify-evenly space-x-20 h-full pl-5 pr-5">

<div class="backdrop-brightness-[1.8] w-full rounded-md hover-offset hover:backdrop-brightness-[1.9]"/>
<div class="backdrop-brightness-[1.8] w-full rounded-md hover-offset hover:backdrop-brightness-[1.9]"/>
<div class="backdrop-brightness-[1.8] w-full rounded-md hover-offset hover:backdrop-brightness-[1.9]"/>
</div>
</div>
<Footer/>
</div>
</>;
};

const Socials: Component = () => {
return <>
<div class="flex flex-col w-1/6 justify-evenly items-end pe-8">
<a href={GITHUB} rel="noopener" referrerPolicy="strict-origin">
<div class="group flex space-x-3 text-lg
transition hover:-translate-y-0.5 hover:translate-x-0.5">
<OcMarkgithub2 size={32} color="#FFFFFF"/>
<p class="pt-1 underline-offset-2 text-pink-100 group-hover:underline group-hover:text-pink-300">GitHub</p>
</div>
</a>
</div>
</>
};
}

const Divider: Component = () => {
function Divider(): JSX.Element {
return <div class="h-[1px] bg-white opacity-30"/>;
};
}

const Bio: Component = () => {
function Bio(): JSX.Element {
return <div>
<div class="flex space-x-8 items-center mb-5">
<p class="text-5xl font-semibold">Hi, I'm {" "}
<span class="text-pink-300 font-bold">rushii</span>!</p>
<Link secure url="http://ipa-reader.xyz/?text=%2Fru%CB%90%CA%83i%2F">
<span
class="text-xl text-gray-300 font-semibold hover:text-pink-100 transition-colors no-underline">/ruːʃi/</span>
<Link secure noReferrer
url="http://ipa-reader.xyz/?text=%2Fru%CB%90%CA%83i%2F"
class="text-nowrap text-2xl font-semibold text-gray-300
transition-colors hover:text-pink-100
no-underline hover-offset">
/ruːʃi/
</Link>
</div>
<p>I'm a self-taught student developer living on the US west coast.</p>
Expand All @@ -56,15 +53,16 @@ const Bio: Component = () => {
<p class="mt-3.5">You can find me in various communities you've probably never heard of.</p>
<p class="mt-3.5">I am available for freelance work/jobs/internships.</p>
</div>
};
}

const Footer: Component = () => {
function Footer(): JSX.Element {
return <>
<div class="h-20 w-full flex flex-col justify-center items-center text-center text-xs text-gray-300 font-bold">
<p>rushii © All rights reserved</p>
<Link url={`${GITHUB}/rushii.dev`}>Source Code <span class="text-red-500">❤️</span> GitHub</Link>
<Link url={`${GITHUB_PROFILE_URL}/rushii.dev`}>Source Code <span
class="text-red-500">❤️</span> GitHub</Link>
</div>
</>
};
}

export default App;
33 changes: 26 additions & 7 deletions src/Link.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,28 @@
import { Component, JSX } from "solid-js";
import { JSX } from "solid-js";

type LinkProps<P = {}> = P & { children?: JSX.Element, url: string, secure?: boolean };
type LinkComponent<P = {}> = Component<LinkProps<P>>;
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 <a href={props.url} rel={rel} class="transition-colors text-pink-100 hover:text-pink-200">{props.children}</a>;
}
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 <>
<a href={props.url}
rel={rel}
referrerpolicy={referrer}
class={`transition-colors text-pink-100 hover:text-pink-200
underline underline-offset-2 hover:underline hover:decoration-pink-300 ${props.class ?? ""}`}>
{props.children}
</a>
</>;
}
40 changes: 40 additions & 0 deletions src/Socials.tsx
Original file line number Diff line number Diff line change
@@ -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: () => <OcMarkgithub2 size={32} color="#FFFFFF"/>,
},
{
name: "Blog",
url: BLOG_URL,
icon: () => <ImBlog size={32} color="#FFFFFF"/>,
}
]

function SocialsItem(props: (typeof SOCIALS)[0]): JSX.Element {
return <>
<Link secure url={props.url}>
<div class="group flex space-x-3 text-lg hover-offset">
{props.icon()}
<p class="pt-1 text-pink-100 no-underline group-hover:underline group-hover:text-pink-300">{props.name}</p>
</div>
</Link>
</>;
}

export function Socials(): JSX.Element {
return <>
<div class="flex flex-col justify-center space-y-5 items-start
border-l-[0.5px] border-white border-opacity-30 pl-10">
<For each={SOCIALS}>
{(item) => SocialsItem(item)}
</For>
</div>
</>;
}
4 changes: 2 additions & 2 deletions src/constants.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
/** My current GitHub profile. */
export const GITHUB: string = "https://github.com/rushiiMachine";
export const GITHUB_PROFILE_URL: string = "https://github.com/rushiiMachine";
export const BLOG_URL: string = "https://rushii.materii.dev"
7 changes: 5 additions & 2 deletions src/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

0 comments on commit 23d0b72

Please sign in to comment.