From 5e27a0ee223129e0ddb78ec1586fdca50ba30afc Mon Sep 17 00:00:00 2001 From: jamerrq Date: Wed, 17 Jan 2024 14:41:12 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20getting=20rid=20of=20fira,=20usi?= =?UTF-8?q?ng=20simple=20icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bun.lockb | Bin 376713 -> 377840 bytes package.json | 5 +- src/components/about-me-card.astro | 88 - src/components/blog/blog-about.astro | 39 + src/components/blog/blog-bento.astro | 10 + src/components/experience.astro | 221 -- .../featured-and-projects/about.astro | 4 +- .../featured-projects-bento.astro | 4 +- .../featured-and-projects/icons.tsx | 25 + src/components/featured-and-projects/link.tsx | 4 +- .../featured-and-projects/projects.tsx | 20 +- .../featured-and-projects/resources.tsx | 44 +- src/components/icons/home.astro | 5 + src/components/icons/moon.astro | 5 + src/components/icons/sun.astro | 19 + src/components/main/about-me-card.astro | 81 + src/components/{ => main}/background.astro | 0 src/components/{ => main}/bento.astro | 0 src/components/{ => main}/blog.astro | 13 +- .../{ => main}/blur-background.astro | 0 src/components/main/board.astro | 0 src/components/{ => main}/box.astro | 0 src/components/{ => main}/buttons.astro | 80 +- src/components/{ => main}/card.astro | 0 src/components/{ => main}/container.astro | 0 src/components/{ => main}/featured.astro | 1 - src/components/main/footer.astro | 26 + src/components/{ => main}/main-bento.astro | 2 +- .../{ => main}/responsive-container.astro | 7 +- src/components/main/simple-icon.astro | 11 + src/components/{ => main}/socials.astro | 72 +- src/components/{ => main}/spinner.astro | 0 src/components/main/tech-stack.astro | 162 ++ src/components/{ => main}/title.astro | 6 +- src/components/main/typed.astro | 2308 +++++++++++++++++ src/components/main/working-on.astro | 316 +++ src/components/nerd-icon.astro | 8 - src/components/tech-stack.astro | 140 - src/components/tech-stack/about.astro | 8 +- src/components/tech-stack/dev-tools.astro | 197 +- src/components/tech-stack/languages.astro | 46 +- src/components/tech-stack/os.astro | 13 +- src/components/tech-stack/tech-bento.astro | 4 +- src/components/tech-stack/testing.astro | 80 +- src/components/tech-stack/title.astro | 6 +- src/components/tech-stack/web-dev.astro | 228 +- src/components/typed.astro | 2307 ---------------- src/data/blog.json | 9 + src/data/blog/temp.md | 9 + src/data/projects.json | 2 +- src/data/resources.json | 19 +- src/layouts/board-layout.astro | 8 + src/layouts/layout.astro | 9 +- src/pages/404.astro | 18 +- src/pages/blog.astro | 12 + src/pages/board.astro | 96 + src/pages/featured.astro | 8 +- src/pages/index.astro | 2 +- src/pages/tech-stack.astro | 4 +- tailwind.config.mjs | 223 +- 60 files changed, 3815 insertions(+), 3219 deletions(-) delete mode 100644 src/components/about-me-card.astro create mode 100644 src/components/blog/blog-about.astro create mode 100644 src/components/blog/blog-bento.astro delete mode 100644 src/components/experience.astro create mode 100644 src/components/featured-and-projects/icons.tsx create mode 100644 src/components/icons/home.astro create mode 100644 src/components/icons/moon.astro create mode 100644 src/components/icons/sun.astro create mode 100644 src/components/main/about-me-card.astro rename src/components/{ => main}/background.astro (100%) rename src/components/{ => main}/bento.astro (100%) rename src/components/{ => main}/blog.astro (73%) rename src/components/{ => main}/blur-background.astro (100%) create mode 100644 src/components/main/board.astro rename src/components/{ => main}/box.astro (100%) rename src/components/{ => main}/buttons.astro (76%) rename src/components/{ => main}/card.astro (100%) rename src/components/{ => main}/container.astro (100%) rename src/components/{ => main}/featured.astro (95%) create mode 100644 src/components/main/footer.astro rename src/components/{ => main}/main-bento.astro (91%) rename src/components/{ => main}/responsive-container.astro (80%) create mode 100644 src/components/main/simple-icon.astro rename src/components/{ => main}/socials.astro (55%) rename src/components/{ => main}/spinner.astro (100%) create mode 100644 src/components/main/tech-stack.astro rename src/components/{ => main}/title.astro (80%) create mode 100644 src/components/main/typed.astro create mode 100644 src/components/main/working-on.astro delete mode 100644 src/components/nerd-icon.astro delete mode 100644 src/components/tech-stack.astro delete mode 100644 src/components/typed.astro create mode 100644 src/data/blog.json create mode 100644 src/data/blog/temp.md create mode 100644 src/layouts/board-layout.astro create mode 100644 src/pages/blog.astro create mode 100644 src/pages/board.astro diff --git a/bun.lockb b/bun.lockb index aae7b297848254048d7b83a8a82c94d4351dab72..8e8136f0c6283fb69698df8d9a44c82584048c32 100755 GIT binary patch delta 73722 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 delta 73236 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 um$tjQtv?}lH_Q45v+Sh{N&BjC*35wb diff --git a/package.json b/package.json index 7d641ec..3fc0446 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "astro-critters": "^2.0.11", "astro-robots-txt": "^1.0.0", "preact": "^10.19.3", + "simple-icons": "^11.1.0", "tailwindcss": "^3.4.0", "typescript": "^5.3.3" }, @@ -24,6 +25,8 @@ }, "type": "module", "devDependencies": { + "@fontsource/handlee": "^5.0.18", + "@fontsource/redressed": "^5.0.18", "@typescript-eslint/eslint-plugin": "latest", "@typescript-eslint/parser": "latest", "eslint": "^8.56.0", @@ -35,7 +38,7 @@ "prettier": "^3.1.1", "prettier-config-standard": "^7.0.0", "prettier-plugin-astro": "^0.12.3", - "sass": "^1.69.6", + "sass": "^1.69.7", "tailwindcss-debug-screens": "^2.2.1" } } diff --git a/src/components/about-me-card.astro b/src/components/about-me-card.astro deleted file mode 100644 index 06505bb..0000000 --- a/src/components/about-me-card.astro +++ /dev/null @@ -1,88 +0,0 @@ ---- -const ABOUT_ME_STYLES = [ - 'col-span-4', - 'row-span-2', - 'bg-slate-300', - 'dark:bg-slate-900', - 'rounded-sm', - 'shadow-[0_0_0.5rem_rgba(0_0_0_0.5)]', - 'flex', - 'items-center', - 'justify-center', - 'font-bold', - 'text-black', - 'dark:text-slate-300', - 'font-rubik-doodle', - 'w-full', - 'h-full', - // 'transition-all', - 'border-2', - 'border-emerald-950', - 'dark:border-emerald-300', - // 'hover:bg-slate-900', - // 'hover:text-slate-300', - // 'hover:scale-[1.02]', - // 'hover:transition-all', - 'responsive-text-xs', - 'flex-col', - '[&>p]:font-fira', - '[&>p]:text-base', - 'text-black', - 'dark:text-white' -].join(' ') ---- - -
-

About Me

-
-
-

-

- My name is Jamer José, I'm a Math Engineer from - -

-

-

󰜐

- Currently working as part time Backend Developer at - -

-

-

󰮮

- Big fan of the open source and the web, as well as the great possibilities - they offer. -

-

-

󰛓

- I strongly believe that the best way to achieve something is to start it -

-
- - -
-
diff --git a/src/components/blog/blog-about.astro b/src/components/blog/blog-about.astro new file mode 100644 index 0000000..77ace65 --- /dev/null +++ b/src/components/blog/blog-about.astro @@ -0,0 +1,39 @@ +--- +const ABOUT_STYLES = [ + 'col-span-4', + 'row-span-1', + 'bg-slate-300', + 'dark:bg-slate-900', + 'dark:text-slate-300', + 'rounded-sm', + 'shadow-[0_0_0.15rem_rgb(69_26_3)]', // rgb(69, 26, 3) + 'dark:shadow-[0_0_0.15rem_rgb(253_230_138)]', // rgb(253, 230, 138) + 'flex', + 'items-center', + 'justify-center', + 'font-bold', + 'text-black', + 'font-rubik-doodle', + 'w-full', + 'h-full', + 'transition-all', + 'border-2', + 'dark:border-amber-300', + 'border-amber-950', + 'responsive-text-xs', + 'flex-row', + 'gap-2', + 'text-slate-900', + 'dark:text-slate-300' +].join(' ') + +import { siGitbook } from 'simple-icons' +--- + + + Blog + + diff --git a/src/components/blog/blog-bento.astro b/src/components/blog/blog-bento.astro new file mode 100644 index 0000000..14483bb --- /dev/null +++ b/src/components/blog/blog-bento.astro @@ -0,0 +1,10 @@ +--- +import Bento from '../main/bento.astro' +import Buttons from '@components/main/buttons.astro' +import BlogAbout from '@components/blog/blog-about.astro' +--- + + + + + diff --git a/src/components/experience.astro b/src/components/experience.astro deleted file mode 100644 index 840fb82..0000000 --- a/src/components/experience.astro +++ /dev/null @@ -1,221 +0,0 @@ ---- -const EXPERIENCE_STYLES = [ - 'col-span-2', - 'row-span-4', - 'gap-2', - 'bg-slate-300', - 'rounded-sm', - 'shadow-[0_0_0.5rem_rgba(0_0_0_0.5)]', - 'flex', - 'items-center', - 'justify-center', - 'align-center', - // 'text-2xl', - 'font-semibold', - 'text-slate-950', - 'font-rubik-doodle', - 'w-full', - 'h-full', - // 'transition-all', - 'border-2', - 'dark:border-emerald-300', - 'border-emerald-950', - 'dark:bg-slate-800', - 'dark:text-slate-200', - // 'hover:scale-[1.02]', - // 'hover:transition-all', - 'flex', - 'flex-col', - 'p-1', - // '[&>div>ul>li]:bg-emerald-300', - // '[&>div>ul>li]:dark:bg-slate-900', - '[&>div>ul>li]:dark:text-slate-200', - '[&>div>ul>li>a]:bg-emerald-500', - '[&>div>ul>li>a]:dark:bg-emerald-400', - '[&>div>ul>li>a]:dark:text-emerald-950', - '[&>div>ul>li>a]:text-slate-950' -].join(' ') ---- - - diff --git a/src/components/featured-and-projects/about.astro b/src/components/featured-and-projects/about.astro index e0f9236..c6a858b 100644 --- a/src/components/featured-and-projects/about.astro +++ b/src/components/featured-and-projects/about.astro @@ -6,8 +6,8 @@ const ABOUT_STYLES = [ 'dark:bg-slate-900', 'dark:text-slate-300', 'rounded-sm', - 'shadow-[0_0_0.3rem_rgb(69_26_3)]', // rgb(69, 26, 3) - 'dark:shadow-[0_0_0.3rem_rgb(253_230_138)]', // rgb(253, 230, 138) + 'shadow-[0_0_0.15rem_rgb(69_26_3)]', // rgb(69, 26, 3) + 'dark:shadow-[0_0_0.15rem_rgb(253_230_138)]', // rgb(253, 230, 138) 'flex', 'items-center', 'justify-center', diff --git a/src/components/featured-and-projects/featured-projects-bento.astro b/src/components/featured-and-projects/featured-projects-bento.astro index 9fe5e86..5e8c456 100644 --- a/src/components/featured-and-projects/featured-projects-bento.astro +++ b/src/components/featured-and-projects/featured-projects-bento.astro @@ -1,7 +1,7 @@ --- -import Bento from '../bento.astro' +import Bento from '../main/bento.astro' import About from './about.astro' -import Buttons from '../buttons.astro' +import Buttons from '../main/buttons.astro' import ResourcesPreact from './resources.tsx' import ProjectsPreact from './projects.tsx' --- diff --git a/src/components/featured-and-projects/icons.tsx b/src/components/featured-and-projects/icons.tsx new file mode 100644 index 0000000..52760cf --- /dev/null +++ b/src/components/featured-and-projects/icons.tsx @@ -0,0 +1,25 @@ +export function WebIcon (){ + return ( + + ) +} + +export function GithubIcon () { + return ( + GitHub + ) +} + +export function Left() { + return ( + + + + ) + } + + export function Right() { + return ( + + ) + } diff --git a/src/components/featured-and-projects/link.tsx b/src/components/featured-and-projects/link.tsx index decf68e..69051e0 100644 --- a/src/components/featured-and-projects/link.tsx +++ b/src/components/featured-and-projects/link.tsx @@ -10,6 +10,8 @@ type LinkProps = { text: string } +import { WebIcon, GithubIcon } from "./icons" + export default function Link({ href, text }: LinkProps) { return ( - {text} + {text === '' ? : } ) } diff --git a/src/components/featured-and-projects/projects.tsx b/src/components/featured-and-projects/projects.tsx index b275ece..747d6eb 100644 --- a/src/components/featured-and-projects/projects.tsx +++ b/src/components/featured-and-projects/projects.tsx @@ -55,6 +55,8 @@ type ResourcesProps = { n?: number } +import { Left, Right } from './icons' + export default function Resources({ n = 3 }: ResourcesProps) { const goRight = () => { index.value++ @@ -67,8 +69,10 @@ export default function Resources({ n = 3 }: ResourcesProps) { return ( <> -
- +
+
{Array.from(Array(n).keys()).map((i) => { // Array.from(Array(n).keys()) @@ -76,7 +80,7 @@ export default function Resources({ n = 3 }: ResourcesProps) { return (

{project.title}

-

+

{project.description}

{/* Stack */} @@ -85,9 +89,9 @@ export default function Resources({ n = 3 }: ResourcesProps) { ))} - {!project.private && ( + {/* {!project.private && ( Source Code & Demo - )} + )} */}
{project?.repository && ( @@ -97,8 +101,10 @@ export default function Resources({ n = 3 }: ResourcesProps) {
) })} -
- +
+
) diff --git a/src/components/featured-and-projects/resources.tsx b/src/components/featured-and-projects/resources.tsx index f7fd82b..6f32392 100644 --- a/src/components/featured-and-projects/resources.tsx +++ b/src/components/featured-and-projects/resources.tsx @@ -1,4 +1,5 @@ import { data } from '@data/resources.json' + const RESOURCE_STYLES: string = [ 'col-span-2', 'row-span-4', @@ -24,40 +25,21 @@ const RESOURCE_STYLES: string = [ 'dark:bg-slate-900', 'hover:scale-[1.02]', 'hover:transition-all', - 'responsive-text-sm' -].join(' ') -const ANCHOR_STYLES = [ - 'font-thin', - 'responsive-text', - 'dark:text-amber-300', - 'text-amber-950' + 'responsive-text-xxs' ].join(' ') import { signal } from '@preact/signals' const index = signal(0) -type LinkProps = { - href: string - text: string -} -export function Link({ href, text }: LinkProps) { - return ( - - {text} - - ) -} +import Link from './link' type ResourceProps = { n?: number } +import { Left, Right } from './icons' + export default function Resources({ n = 3 }: ResourceProps) { const goRight = () => { index.value++ @@ -70,8 +52,10 @@ export default function Resources({ n = 3 }: ResourceProps) { return ( <> -
- +
+
{Array.from(Array(n).keys()).map((i) => { // Array.from(Array(n).keys()) @@ -83,15 +67,13 @@ export default function Resources({ n = 3 }: ResourceProps) { )} {resource?.website && } - {resource?.links && - resource.links?.map((link, index) => ( - - ))} ) })} -
- +
+
) diff --git a/src/components/icons/home.astro b/src/components/icons/home.astro new file mode 100644 index 0000000..e93ec7d --- /dev/null +++ b/src/components/icons/home.astro @@ -0,0 +1,5 @@ + diff --git a/src/components/icons/moon.astro b/src/components/icons/moon.astro new file mode 100644 index 0000000..47719ce --- /dev/null +++ b/src/components/icons/moon.astro @@ -0,0 +1,5 @@ +Dark Mode + diff --git a/src/components/icons/sun.astro b/src/components/icons/sun.astro new file mode 100644 index 0000000..d0d790c --- /dev/null +++ b/src/components/icons/sun.astro @@ -0,0 +1,19 @@ + diff --git a/src/components/main/about-me-card.astro b/src/components/main/about-me-card.astro new file mode 100644 index 0000000..59c63d9 --- /dev/null +++ b/src/components/main/about-me-card.astro @@ -0,0 +1,81 @@ +--- +const ABOUT_ME_STYLES = [ + 'col-span-4', + 'row-span-2', + 'bg-slate-300', + 'dark:bg-slate-900', + 'rounded-sm', + 'shadow-[0_0_0.5rem_rgba(0_0_0_0.5)]', + 'flex', + 'items-center', + 'justify-center', + 'font-bold', + 'text-black', + 'dark:text-slate-300', + 'font-rubik-doodle', + 'w-full', + 'h-full', + // 'transition-all', + 'border-2', + 'border-emerald-950', + 'dark:border-emerald-300', + // 'hover:bg-slate-900', + // 'hover:text-slate-300', + // 'hover:scale-[1.02]', + // 'hover:transition-all', + 'responsive-text-xs', + 'flex-col', + '[&>p]:text-base', + 'text-black', + 'dark:text-white' +].join(' ') +--- + +
+

About Me

+
+
    +
  • +

    + My name is Jamer José, I'm a Math Engineer from + + EAFIT University + +

    +
  • + +
  • +

    + Currently working as part time Backend Developer at + + Dium + +

    +
  • +
  • +

    + Big fan of the open source and the web, as well as the great + possibilities they offer. +

    +
  • +
  • +

    + I strongly believe that the best way to achieve something is to start + it. +

    +
  • +
+
+
diff --git a/src/components/background.astro b/src/components/main/background.astro similarity index 100% rename from src/components/background.astro rename to src/components/main/background.astro diff --git a/src/components/bento.astro b/src/components/main/bento.astro similarity index 100% rename from src/components/bento.astro rename to src/components/main/bento.astro diff --git a/src/components/blog.astro b/src/components/main/blog.astro similarity index 73% rename from src/components/blog.astro rename to src/components/main/blog.astro index b5e0036..b0a853d 100644 --- a/src/components/blog.astro +++ b/src/components/main/blog.astro @@ -28,9 +28,18 @@ const BLOG_STYLES = [ 'hover:duration-200', 'hover:ease-in-out' ].join(' ') +import { siGitbook } from 'simple-icons' --- - +

Blog

-

+
diff --git a/src/components/blur-background.astro b/src/components/main/blur-background.astro similarity index 100% rename from src/components/blur-background.astro rename to src/components/main/blur-background.astro diff --git a/src/components/main/board.astro b/src/components/main/board.astro new file mode 100644 index 0000000..e69de29 diff --git a/src/components/box.astro b/src/components/main/box.astro similarity index 100% rename from src/components/box.astro rename to src/components/main/box.astro diff --git a/src/components/buttons.astro b/src/components/main/buttons.astro similarity index 76% rename from src/components/buttons.astro rename to src/components/main/buttons.astro index 2be6707..c9465bb 100644 --- a/src/components/buttons.astro +++ b/src/components/main/buttons.astro @@ -1,4 +1,10 @@ --- +interface Props { + href: string +} + +const { href }: Props = Astro.props + const BUTTONS_STYLES = [ 'col-span-2', 'row-span-1', @@ -12,7 +18,6 @@ const BUTTONS_STYLES = [ 'border-2', 'border-emerald-950', 'dark:border-emerald-300', - // 'bg-[#1b383c]', 'text-slate-950', 'font-rubik-doodle', 'w-full', @@ -21,49 +26,70 @@ const BUTTONS_STYLES = [ 'duration-200', 'dark:bg-slate-900', 'dark:text-slate-100', - 'bg-slate-300', - '[&>*]:font-fira' - // '[&>*]:hover:text-slate-300', + 'bg-slate-300' ].join(' ') const BUTTON_STYLES = [ 'dark:hover:text-emerald-300', - 'hover:text-emerald-900' + 'hover:text-emerald-900', + 'cursor-pointer' // 'hover:scale-110', ].join(' ') + +import { + siMicrosofttranslator, + siKashflow, + siGithub, + siGooglecardboard +} from 'simple-icons' + +import Home from '@components/icons/home.astro' +import Moon from '@components/icons/moon.astro' +import Sun from '@components/icons/sun.astro' + +const BOARD_BUTTON_STYLE = + process.env.NODE_ENV === 'development' ? '' : 'hidden' ---
- + + - - + -  + + + + +
diff --git a/src/components/card.astro b/src/components/main/card.astro similarity index 100% rename from src/components/card.astro rename to src/components/main/card.astro diff --git a/src/components/container.astro b/src/components/main/container.astro similarity index 100% rename from src/components/container.astro rename to src/components/main/container.astro diff --git a/src/components/featured.astro b/src/components/main/featured.astro similarity index 95% rename from src/components/featured.astro rename to src/components/main/featured.astro index ced7dbe..9b8b134 100644 --- a/src/components/featured.astro +++ b/src/components/main/featured.astro @@ -41,7 +41,6 @@ const FEATURED_STYLES = [ >

Featured

- 󰂺

&

diff --git a/src/components/main/footer.astro b/src/components/main/footer.astro new file mode 100644 index 0000000..d93914c --- /dev/null +++ b/src/components/main/footer.astro @@ -0,0 +1,26 @@ + + + diff --git a/src/components/main-bento.astro b/src/components/main/main-bento.astro similarity index 91% rename from src/components/main-bento.astro rename to src/components/main/main-bento.astro index e42a959..78040fe 100644 --- a/src/components/main-bento.astro +++ b/src/components/main/main-bento.astro @@ -1,7 +1,7 @@ --- import AboutMe from './about-me-card.astro' import TechTitle from './title.astro' -import Experience from './experience.astro' +import Experience from './working-on.astro' import Buttons from './buttons.astro' import TechStack from './tech-stack.astro' import Featured from './featured.astro' diff --git a/src/components/responsive-container.astro b/src/components/main/responsive-container.astro similarity index 80% rename from src/components/responsive-container.astro rename to src/components/main/responsive-container.astro index 751a6f8..0254376 100644 --- a/src/components/responsive-container.astro +++ b/src/components/main/responsive-container.astro @@ -1,5 +1,5 @@ --- -import ResponsivePeep from './css-peeps/peep.astro' +import ResponsivePeep from '@components/css-peeps/peep.astro' import Container from './container.astro' import BlurBackground from './blur-background.astro' --- @@ -9,8 +9,7 @@ import BlurBackground from './blur-background.astro'
-

You caught me

-

󰚽

+

You caught me!

-

+

The responsive design for this page is still in progress.
I invite you to visit it from a computer or a tablet to get the best experience. diff --git a/src/components/main/simple-icon.astro b/src/components/main/simple-icon.astro new file mode 100644 index 0000000..996899f --- /dev/null +++ b/src/components/main/simple-icon.astro @@ -0,0 +1,11 @@ +--- +interface Props { + icon: { + svg: string + hex: string + } +} +const { icon }: Props = Astro.props +--- + + diff --git a/src/components/socials.astro b/src/components/main/socials.astro similarity index 55% rename from src/components/socials.astro rename to src/components/main/socials.astro index 7afe928..6e90e8f 100644 --- a/src/components/socials.astro +++ b/src/components/main/socials.astro @@ -31,78 +31,94 @@ const SOCIALS_STYLES: string = [ 'grid-rows-2', 'grid-cols-1' ].join(' ') +import { + siMaildotru, + siGithub, + siGmail, + siLichess, + siLinkedin, + siAdobeacrobatreader +} from 'simple-icons' ---

diff --git a/src/components/spinner.astro b/src/components/main/spinner.astro similarity index 100% rename from src/components/spinner.astro rename to src/components/main/spinner.astro diff --git a/src/components/main/tech-stack.astro b/src/components/main/tech-stack.astro new file mode 100644 index 0000000..9555851 --- /dev/null +++ b/src/components/main/tech-stack.astro @@ -0,0 +1,162 @@ +--- +const TECH_STACK_STYLES: string = [ + 'col-span-2', + 'row-span-3', + 'bg-slate-300', + 'rounded-sm', + // 'shadow-[0_0_0.5rem_rgba(0_0_0_0.5)]', + 'shadow-[0_0_0.3rem_rgb(69_26_3)]', // rgb(69, 26, 3) + 'dark:shadow-[0_0_0.3rem_rgb(253_230_138)]', // rgb(253, 230, 138) + 'flex', + 'flex-col', + 'gap-2', + 'items-center', + 'justify-center', + // 'text-2xl', + // 'font-bold', + // 'text-slate-950', + 'font-rubik-doodle', + 'w-full', + 'h-full', + 'transition-all', + 'border-2', + 'border-amber-500', + // 'dark:border-amber-500', + 'text-amber-950', + 'dark:text-amber-300', + 'dark:bg-slate-900', + 'hover:scale-[1.02]', + 'hover:transition-all', + 'responsive-text-xs' +].join(' ') +import { + siNodedotjs, + siExpress, + siSequelize, + siPostgresql, + siTypescript, + siPython, + siCsharp, + siGnubash, + siGit, + siVisualstudiocode, + siDocker, + siUbuntu as siLinux, + siDevdotto +} from 'simple-icons' +// class='flex gap-2 [&>img]:rounded-sm bg-emerald-300 p-1 rounded-sm' +const ICON_BLOCKS_STYLES = [ + 'flex', + 'gap-2', + '[&>img]:rounded-sm', + 'p-1', + 'rounded-sm' +].join(' ') +--- + + +
+

Tech Stack

+
+
+
+

Backend

+
+
+ + + + + + + + +
+
+

Languages

+
+
+ + + + + + + + +
+
+

Tools

+
+
+ + + + + + + + +
+
+ +
diff --git a/src/components/title.astro b/src/components/main/title.astro similarity index 80% rename from src/components/title.astro rename to src/components/main/title.astro index 1b352c8..79868c0 100644 --- a/src/components/title.astro +++ b/src/components/main/title.astro @@ -1,7 +1,7 @@ --- -import Typed from './typed.astro' -import StripedPocketTee from './css-peeps/striped-pocket-tee.astro' -import StripedPocketTeeLight from './css-peeps/striped-pocket-tee-light.astro' +import Typed from '@components/main/typed.astro' +import StripedPocketTee from '@components/css-peeps/striped-pocket-tee.astro' +import StripedPocketTeeLight from '@components/css-peeps/striped-pocket-tee-light.astro' ---
+ +
+ + diff --git a/src/components/main/working-on.astro b/src/components/main/working-on.astro new file mode 100644 index 0000000..5ca72e3 --- /dev/null +++ b/src/components/main/working-on.astro @@ -0,0 +1,316 @@ +--- +const EXPERIENCE_STYLES = [ + 'col-span-2', + 'row-span-4', + 'gap-2', + 'bg-slate-300', + 'rounded-sm', + 'shadow-[0_0_0.5rem_rgba(0_0_0_0.5)]', + 'flex', + 'items-center', + 'justify-center', + 'align-center', + // 'text-2xl', + 'font-semibold', + 'text-slate-950', + 'font-rubik-doodle', + 'w-full', + 'h-full', + // 'transition-all', + 'border-2', + 'dark:border-emerald-300', + 'border-emerald-950', + 'dark:bg-slate-800', + 'dark:text-slate-200', + // 'hover:scale-[1.02]', + // 'hover:transition-all', + 'flex', + 'flex-col', + 'p-1', + // '[&>div>ul>li]:bg-emerald-300', + // '[&>div>ul>li]:dark:bg-slate-900', + '[&>div>ul>li]:dark:text-slate-200', + '[&>div>ul>li>a]:bg-emerald-500', + '[&>div>ul>li>a]:dark:bg-emerald-400', + '[&>div>ul>li>a]:dark:text-emerald-950', + '[&>div>ul>li>a]:text-slate-950' +].join(' ') +import { + siNodedotjs, + siExpress, + siPostgresql, + siSequelize, + siJsonwebtokens, + siPostman, + siReact, + siRedux, + siTailwindcss, + siVercel, + siVite, + siAuth0, + siGitkraken +} from 'simple-icons' +--- + + diff --git a/src/components/nerd-icon.astro b/src/components/nerd-icon.astro deleted file mode 100644 index b7d928f..0000000 --- a/src/components/nerd-icon.astro +++ /dev/null @@ -1,8 +0,0 @@ ---- -const { props = '' } = Astro.props -const NERD_ICON_STYLE = ['font-fira', 'font-thin', props].join(' ') ---- - -

- -

diff --git a/src/components/tech-stack.astro b/src/components/tech-stack.astro deleted file mode 100644 index 52af336..0000000 --- a/src/components/tech-stack.astro +++ /dev/null @@ -1,140 +0,0 @@ ---- -const TECH_STACK_STYLES: string = [ - 'col-span-2', - 'row-span-3', - 'bg-slate-300', - 'rounded-sm', - // 'shadow-[0_0_0.5rem_rgba(0_0_0_0.5)]', - 'shadow-[0_0_0.3rem_rgb(69_26_3)]', // rgb(69, 26, 3) - 'dark:shadow-[0_0_0.3rem_rgb(253_230_138)]', // rgb(253, 230, 138) - 'flex', - 'flex-col', - 'gap-2', - 'items-center', - 'justify-center', - // 'text-2xl', - // 'font-bold', - // 'text-slate-950', - 'font-rubik-doodle', - 'w-full', - 'h-full', - 'transition-all', - 'border-2', - 'border-amber-500', - // 'dark:border-amber-500', - 'text-amber-950', - 'dark:text-amber-300', - 'dark:bg-slate-900', - 'hover:scale-[1.02]', - 'hover:transition-all', - 'responsive-text-xs' -].join(' ') ---- - - -
-

Tech Stack

-

-
-
-
-

Backend

-

󰒍

-
-
- - node js - - express js - - postgresql - - django -
-
-

Languages

-

-
-
- - typescript - - javascript - - python - - c# -
-
-

Tools

-

󱁤

-
-
- - git - - vscode - - docker - - linux -
-
- -
diff --git a/src/components/tech-stack/about.astro b/src/components/tech-stack/about.astro index 5b367f9..fd6fe14 100644 --- a/src/components/tech-stack/about.astro +++ b/src/components/tech-stack/about.astro @@ -21,7 +21,7 @@ const ABOUT_STYLES = [ 'border-emerald-950', 'responsive-text-xs', 'flex-col', - '[&>p]:font-fira', + // '[&>p]:font-fira', '[&>p]:text-base', 'text-slate-900', 'dark:text-slate-300' @@ -29,12 +29,12 @@ const ABOUT_STYLES = [ ---
-

About 

+

About

-

- These are the tools that make my work (and life) easier 󰣐 +

+ These are the tools that make my work (and life) easier

"If I have seen further [than others], it is by standing on the shoulders diff --git a/src/components/tech-stack/dev-tools.astro b/src/components/tech-stack/dev-tools.astro index 2a247f5..a6b0c3b 100644 --- a/src/components/tech-stack/dev-tools.astro +++ b/src/components/tech-stack/dev-tools.astro @@ -28,22 +28,51 @@ const DEV_TOOLS_STYLES = [ 'responsive-text-xs', 'font-bold' ].join(' ') +import { + siVisualstudiocode, + siPostman, + siEslint, + siGit, + siBiome, + siPrettier, + siMarkdown, + siLatex, + siNotion, + siGnubash, + siZsh, + siNeovim, + siInsomnia, + siGithub, + siGithubactions +} from 'simple-icons' +const DEV_ICONS_STYLES = [ + 'w-10', + 'h-10', + 'hover:scale-110', + 'transition-all', + 'dark:bg-slate-300', + 'bg-slate-900', + 'p-1', + 'rounded-md', + 'border-2', + 'border-slate-800' +].join(' ') ---

Dev Tools

-

+
-->
-

Web Development

-

󰜫

+

Web Development

+
-
    +
    • -
      +

      Backend

      -

      󰒍

      +
      -
    • -
      +

      Frontend

      -

      +
      • @@ -171,11 +198,10 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - astro
      • @@ -186,11 +212,9 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - next js @@ -201,11 +225,10 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - react js @@ -216,11 +239,10 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - redux @@ -231,16 +253,15 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - tailwind css -
      • +
      • - css
      • @@ -276,20 +296,19 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - html
    • -
      +

      Cloud Services

      -

      󰅟

      +
      • @@ -299,11 +318,10 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - supabase
      • @@ -314,11 +332,10 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - azure @@ -329,11 +346,24 @@ const WEB_DEV_STYLES = [ target='_blank' rel='noopener noreferrer' > - aws + + +
      • + + +
      • diff --git a/src/components/typed.astro b/src/components/typed.astro deleted file mode 100644 index d86a864..0000000 --- a/src/components/typed.astro +++ /dev/null @@ -1,2307 +0,0 @@ -
        - -
        - - diff --git a/src/data/blog.json b/src/data/blog.json new file mode 100644 index 0000000..685fa38 --- /dev/null +++ b/src/data/blog.json @@ -0,0 +1,9 @@ +{ + "data": [ + { + "title": "The process of creating this website", + "date": "2023-Jan-16", + "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla euismod, nisl vitae aliquam ultricies, nunc nisl aliquet nunc, vitae aliquam" + } + ] +} diff --git a/src/data/blog/temp.md b/src/data/blog/temp.md new file mode 100644 index 0000000..0767aa8 --- /dev/null +++ b/src/data/blog/temp.md @@ -0,0 +1,9 @@ +# Entry #1 + +## Title + +This is a test blog post. + +### Subtitle + +More text. diff --git a/src/data/projects.json b/src/data/projects.json index 08d6acb..ce17817 100644 --- a/src/data/projects.json +++ b/src/data/projects.json @@ -65,7 +65,7 @@ }, { "title": "Sport Scheduling", - "description": "Scheduling of Colombian professional soccer league: A comparison of models and algorithms.", + "description": "Investigation Project. Scheduling of Colombian professional soccer league: A comparison of models and algorithms.", "stack": [ "Python", "Jupyter Notebook", diff --git a/src/data/resources.json b/src/data/resources.json index 7c6adac..7ba1e5f 100644 --- a/src/data/resources.json +++ b/src/data/resources.json @@ -8,24 +8,7 @@ { "title": "Midu.dev", "website": "https://midu.dev/", - "repository": "https://github.com/midudev", - "links": [ - { - "icon": "", - "title": "Twitch Channel", - "url": "https://www.twitch.tv/midudev" - }, - { - "icon": "", - "title": "Youtube Channel", - "url": "https://www.youtube.com/c/midudev" - }, - { - "icon": "", - "title": "Twitter", - "url": "https://twitter.com/midudev" - } - ] + "repository": "https://github.com/midudev" }, { "title": "Free Programming Books", diff --git a/src/layouts/board-layout.astro b/src/layouts/board-layout.astro new file mode 100644 index 0000000..007cbab --- /dev/null +++ b/src/layouts/board-layout.astro @@ -0,0 +1,8 @@ +--- +import BlurBackground from '@components/main/blur-background.astro' +import Footer from '@components/main/footer.astro' +--- + + + +