Skip to content

Commit

Permalink
update resume
Browse files Browse the repository at this point in the history
  • Loading branch information
karimhossenbux committed Jan 11, 2024
1 parent 3c273f8 commit db666bf
Show file tree
Hide file tree
Showing 6 changed files with 1,257 additions and 4,559 deletions.
54 changes: 24 additions & 30 deletions components/About.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import Link from 'next/link'
import Link from 'next/link';

const About = (props) => {
const info = props.info
const twitter = info.profiles.find(profile => profile.network === 'Twitter')
const info = props.info;
const twitter = info.profiles.find(
(profile) => profile.network === 'Twitter'
);

return (
<div className="section mt-2">
<div className="flex items-center justify-center">
<div className="flex items-baseline justify-center">
<div className="m-2 text-right">
<h1 className="text-2xl md:text-3xl font-extrabold tracking-tight">
{info.name}
Expand All @@ -15,38 +17,30 @@ const About = (props) => {
{info.label}
</h2>
<div className="mt-2 text-xs text-gray-500 md:hidden">
<div>{info.email}</div>
<div className="tabular-nums">{info.phone}</div>
<div>
{info.email}
</div>
<div className="tabular-nums">
{info.phone}
</div>
<div>
<Link href={info.website}>
<a>{info.website}</a>
</Link>
<Link href={info.website}>{info.website}</Link>
</div>
</div>
</div>

<div className="relative flex my-2 mx-4">
<Link href={twitter.url}>
<a className="relative z-10"><img className="w-20 h-20 md:w-16 md:h-16 rounded-full ring-4 ring-green-400 ring-offset-2 dark:ring-offset-gray-900" src={info.image} alt={`Picture of ${info.name}`} /></a>
{/* <div className="relative flex my-2 mx-4">
<Link href={twitter.url} className="relative z-10">
<img
className="w-20 h-20 md:w-16 md:h-16 rounded-full ring-4 ring-green-400 ring-offset-2 dark:ring-offset-gray-900"
src={info.image}
alt={`Picture of ${info.name}`}
/>
</Link>
<div className="absolute inline-flex w-20 h-20 md:w-16 md:h-16 rounded-full ring-8 ring-green-400 animate-ping opacity-20"></div>
</div>
</div> */}

<div className="ml-2 mb-2 md:mb-0 text-xs text-gray-500 hidden md:block">
<div>
{info.email}
</div>
<div className="tabular-nums">
{info.phone}
</div>
<div className="ml-2 mb-2 md:mb-0 text-xs text-gray-500 hidden md:block border-l pl-4 border-gray-700">
<div>{info.email}</div>
<div className="tabular-nums">{info.phone}</div>
<div>
<Link href={info.website}>
<a>{info.website}</a>
</Link>
<Link href={info.website}>{info.website}</Link>
</div>
</div>
</div>
Expand All @@ -55,7 +49,7 @@ const About = (props) => {
{info.summary} based in {info.location.address}
</div>
</div>
)
}
);
};

export default About
export default About;
17 changes: 9 additions & 8 deletions components/Footer.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
import Link from 'next/link'
import Link from 'next/link';

const Title = (props) => {
return (
<footer className="text-center text-xs">
<Link href="https://github.com/karimhossenbux/resume">
<a className="text-gray-400 dark:text-gray-700">
<small>source code: github.com/karimhossenbux/resume</small>
</a>
<Link
href="https://github.com/karimhossenbux/resume"
className="text-gray-400 dark:text-gray-700"
>
<small>source code: github.com/karimhossenbux/resume</small>
</Link>
</footer>
)
}
);
};

export default Title
export default Title;
63 changes: 34 additions & 29 deletions components/Item.js
Original file line number Diff line number Diff line change
@@ -1,37 +1,42 @@
import Link from 'next/link'
import Title from './Title'
import Link from 'next/link';
import Title from './Title';

const Item = (props) => {
return (
<div className={`mb-4 pl-4 border-l-4 border-${props.endDate ? 'gray-200' : 'green-100'} dark:border-${props.endDate ? 'gray-600' : 'green-200'}`}>
<div className="tracking-tight flex items-baseline justify-between">
<div>
<span className="font-extrabold mr-1">{props.title}</span>
<small className="text-gray-500 font-medium italic">
{props.link &&
<Link href={props.link}>
<a target="_blank">@ {props.location}</a>
</Link>
}
<div
className={`mb-4 pl-4 border-l-4 border-${
props.endDate ? 'gray-200' : 'green-100'
} dark:border-${props.endDate ? 'gray-600' : 'green-200'}`}
>
<div className="tracking-tight flex items-baseline justify-between">
<div>
<span className="font-extrabold mr-1">{props.title}</span>
<small className="text-gray-500 font-medium italic">
{props.link && (
<Link href={props.link} target="_blank">
@ {props.location}
</Link>
)}

{!props.link &&
`@ ${props.location}`
}
</small>
</div>

<span className="text-xs text-gray-400 font-mono md:w-auto w-12 text-center ml-2">
<span className="block md:inline">{props.startDate}</span>
<span className="px-1 hidden md:inline">-</span>
<span>{props.endDate ? props.endDate : 'Present'}</span>
</span>
{!props.link && `@ ${props.location}`}
</small>
</div>

{ props.content &&
<p className="text-sm mt-1 text-gray-600 dark:text-gray-500 w-3/4" dangerouslySetInnerHTML={{__html: props.content}}></p>
}
<span className="text-xs text-gray-400 font-mono md:w-auto w-12 text-center ml-2">
<span className="block md:inline">{props.startDate}</span>
<span className="px-1 hidden md:inline">-</span>
<span>{props.endDate ? props.endDate : 'Present'}</span>
</span>
</div>
)
}

export default Item
{props.content && (
<p
className="text-sm mt-1 text-gray-600 dark:text-gray-500 w-3/4"
dangerouslySetInnerHTML={{ __html: props.content }}
></p>
)}
</div>
);
};

export default Item;
24 changes: 14 additions & 10 deletions data/resume.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"basics": {
"name": "Karim Hossenbux",
"label": "Developer / semi-designer",
"image": "https://pbs.twimg.com/profile_images/841284898803470336/7MtFNRui_400x400.jpg",
"image": "https://avatars.githubusercontent.com/u/584224",
"email": "[email protected]",
"website": "https://chewingcode.com",
"summary": "front-end, half back-end, one third designer",
Expand Down Expand Up @@ -30,7 +30,7 @@
"highlights": [],
"position": "Full-Stack Developer",
"startDate": "2018/03",
"summary": "Revamped and optimized the main <a class='underline' target='_blank' href='https://www.ef.com/wwen/blog/language/'>EF WordPress Go Blog</a> (50+ languages and 2+ millions in organic traffic).<br> Migrated WP multisites to Next.js (React) + Storyblok. <br> Involved in more Next.js projects to implement new features requests from stakeholder.",
"summary": "Revamped and optimized the main <a class='underline' target='_blank' href='https://www.ef.com/wwen/blog/language/'>EF Go Blog</a> (50+ languages and 2+ millions in organic traffic).<br> Migrated WP multisites to Next.js (React) + Storyblok. <br> Managed both maintenance and development of various Next.js projects, implementing new features based on stakeholder requests.",
"website": "https://www.ef.com"
},
{
Expand Down Expand Up @@ -122,27 +122,28 @@
"skills": [
{
"keywords": [
"HTML",
"SCSS",
"CSS",
"JS",
"React",
"Next.js",
"Vue",
"Vuex",
"Nuxt.js",
"Tailwind",
"Electron"
"Nuxt.js",
"Vuex",
"Vue",
"Electron",
"HTML",
"SCSS",
"CSS"
],
"level": "Senior",
"name": "Frontend"
},
{
"keywords": [
"PHP",
"Node",
"PostgreSQL",
"MySQL",
"Serverless",
"PHP",
"API",
"REST",
"JWT"
Expand Down Expand Up @@ -194,6 +195,9 @@
{
"name": "dog"
},
{
"name": "running"
},
{
"name": "walking"
},
Expand Down
Loading

1 comment on commit db666bf

@vercel
Copy link

@vercel vercel bot commented on db666bf Jan 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.