diff --git a/astro.config.mjs b/astro.config.mjs index 39d964c..a3eac5a 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -3,7 +3,10 @@ import { defineConfig } from 'astro/config'; // https://astro.build/config import tailwind from "@astrojs/tailwind"; +// https://astro.build/config +import react from "@astrojs/react"; + // https://astro.build/config export default defineConfig({ - integrations: [tailwind()] + integrations: [tailwind(), react()] }); \ No newline at end of file diff --git a/package.json b/package.json index 64cd9a4..e47c111 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,13 @@ "astro": "astro" }, "dependencies": { + "@astrojs/react": "^2.0.2", "@astrojs/tailwind": "^3.0.1", + "@types/react": "^18.0.21", + "@types/react-dom": "^18.0.6", "astro": "^2.0.6", + "react": "^18.0.0", + "react-dom": "^18.0.0", "tailwindcss": "^3.0.24" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3faba66..6d79b5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,15 +1,25 @@ lockfileVersion: 5.4 specifiers: + '@astrojs/react': ^2.0.2 '@astrojs/tailwind': ^3.0.1 + '@types/react': ^18.0.21 + '@types/react-dom': ^18.0.6 astro: ^2.0.6 prettier: ^2.8.3 prettier-plugin-tailwindcss: ^0.2.2 + react: ^18.0.0 + react-dom: ^18.0.0 tailwindcss: ^3.0.24 dependencies: + '@astrojs/react': 2.0.2_fxtgt6bjwd6p4cwoordejim2zi '@astrojs/tailwind': 3.0.1_jiulpwjund37q6yckwlgwo54mu + '@types/react': 18.0.27 + '@types/react-dom': 18.0.10 astro: 2.0.6 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 tailwindcss: 3.2.4 devDependencies: @@ -82,6 +92,25 @@ packages: prismjs: 1.29.0 dev: false + /@astrojs/react/2.0.2_fxtgt6bjwd6p4cwoordejim2zi: + resolution: {integrity: sha512-UmQNvzJul5M/Q9aZJXnqz4z0ODZXkLuaNvgsYoKB7OdM8c2v85FsTjMZZJ7BvFo4On31jJ0rL/gwTaCeuYqmpw==} + engines: {node: '>=16.12.0'} + peerDependencies: + '@types/react': ^17.0.50 || ^18.0.21 + '@types/react-dom': ^17.0.17 || ^18.0.6 + react: ^17.0.2 || ^18.0.0 + react-dom: ^17.0.2 || ^18.0.0 + dependencies: + '@babel/core': 7.20.12 + '@babel/plugin-transform-react-jsx': 7.20.13_@babel+core@7.20.12 + '@types/react': 18.0.27 + '@types/react-dom': 18.0.10 + react: 18.2.0 + react-dom: 18.2.0_react@18.2.0 + transitivePeerDependencies: + - supports-color + dev: false + /@astrojs/tailwind/3.0.1_jiulpwjund37q6yckwlgwo54mu: resolution: {integrity: sha512-QSYh/xmz454j1yZU9rjw2J24PpH7j3h2ClesqMaAniOtcuL8RfP7KYCnCrk01xvjwqqO+QBpZNDD/SUhHNtFFg==} peerDependencies: @@ -715,10 +744,32 @@ packages: resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} dev: false + /@types/prop-types/15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: false + + /@types/react-dom/18.0.10: + resolution: {integrity: sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==} + dependencies: + '@types/react': 18.0.27 + dev: false + + /@types/react/18.0.27: + resolution: {integrity: sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.2 + csstype: 3.1.1 + dev: false + /@types/resolve/1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: false + /@types/scheduler/0.16.2: + resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} + dev: false + /@types/unist/2.0.6: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: false @@ -1120,6 +1171,10 @@ packages: hasBin: true dev: false + /csstype/3.1.1: + resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} + dev: false + /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -1736,6 +1791,13 @@ packages: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} dev: false + /loose-envify/1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: false + /lru-cache/5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -2546,6 +2608,23 @@ packages: engines: {node: '>=10'} dev: false + /react-dom/18.2.0_react@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + dev: false + + /react/18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: false + /read-cache/1.0.0: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: @@ -2733,6 +2812,12 @@ packages: suf-log: 2.5.3 dev: false + /scheduler/0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + dev: false + /section-matter/1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} diff --git a/src/components/BaseHead.astro b/src/components/BaseHead.astro index 02ae4d8..79f3eb5 100644 --- a/src/components/BaseHead.astro +++ b/src/components/BaseHead.astro @@ -7,7 +7,7 @@ export interface Props { const { title, description, permalink } = Astro.props; --- - diff --git a/src/components/Hero.astro b/src/components/Hero.astro new file mode 100644 index 0000000..19f9d22 --- /dev/null +++ b/src/components/Hero.astro @@ -0,0 +1,4 @@ +--- +--- + + diff --git a/src/components/Icons/GithubIcon.tsx b/src/components/Icons/GithubIcon.tsx new file mode 100644 index 0000000..b879019 --- /dev/null +++ b/src/components/Icons/GithubIcon.tsx @@ -0,0 +1,32 @@ +const GitHubIcon = () => ( + +); + +export default GitHubIcon; diff --git a/src/components/Icons/Linkedin.tsx b/src/components/Icons/Linkedin.tsx new file mode 100644 index 0000000..7fda0c2 --- /dev/null +++ b/src/components/Icons/Linkedin.tsx @@ -0,0 +1,19 @@ +const LinkedinIcon = () => ( + +); + +export default LinkedinIcon; diff --git a/src/components/NavItem.astro b/src/components/NavItem.astro index eceaaa9..b2ab2dc 100644 --- a/src/components/NavItem.astro +++ b/src/components/NavItem.astro @@ -4,21 +4,8 @@ interface Props { path: string; } const { name, path } = Astro.props; -const si = "0"; -let number = "before:content-['0" + si + "']"; --- -