Updates
This commit is contained in:
parent
89b33d03e5
commit
3844713f90
4
bun.lock
4
bun.lock
@ -6,7 +6,7 @@
|
||||
"name": "new-personal-site",
|
||||
"dependencies": {
|
||||
"@moduletrace/buncid": "^1.0.7",
|
||||
"@moduletrace/bunext": "^1.0.42",
|
||||
"@moduletrace/bunext": "^1.0.43",
|
||||
"@moduletrace/datasquirel": "^5.7.57",
|
||||
"gray-matter": "^4.0.3",
|
||||
"html-to-react": "^1.7.0",
|
||||
@ -187,7 +187,7 @@
|
||||
|
||||
"@moduletrace/buncid": ["@moduletrace/buncid@1.1.3", "https://git.tben.me/api/packages/Moduletrace/npm/%40moduletrace%2Fbuncid/-/1.1.3/buncid-1.1.3.tgz", { "dependencies": { "kill-port": "^2.0.1" }, "peerDependencies": { "typescript": "^5.0.0" }, "bin": { "buncid": "dist/buncid.js", "buncid-builds-next": "dist/rebuilds/next-js/index.js" } }, "sha512-7lOagXOPJLGdIcx2GkNcpEslMs6KRis4NpWffGjMOS7YlsGhUGvmTIiBk8/Q+fPbYsgtfgMCDX8y/sb2hwTShw=="],
|
||||
|
||||
"@moduletrace/bunext": ["@moduletrace/bunext@1.0.42", "https://git.tben.me/api/packages/Moduletrace/npm/%40moduletrace%2Fbunext/-/1.0.42/bunext-1.0.42.tgz", { "dependencies": { "@tailwindcss/postcss": "^4.2.2", "@types/bun": "latest", "@types/node": "^24.10.0", "@types/react": "^19.2.2", "@types/react-dom": "^19.2.2", "bun-plugin-tailwind": "^0.1.2", "chalk": "^5.6.2", "commander": "^14.0.2", "esbuild": "^0.27.4", "lightningcss-wasm": "^1.32.0", "lodash": "^4.17.23", "micromatch": "^4.0.8", "ora": "^9.0.0", "postcss": "^8.5.8", "react": "19.0.0", "react-dom": "19.0.0", "tailwindcss": "^4.2.2", "typescript": "^5.0.0" }, "bin": { "bunext": "dist/commands/index.js" } }, "sha512-DOQkuYbm4/KnBlphAFvzl5zKtUmgha/c/0Cbo/jptYqLwkF6/VOh0EHXs2bmoksQXMYPosljaGSDDlAV3PxVlA=="],
|
||||
"@moduletrace/bunext": ["@moduletrace/bunext@1.0.43", "https://git.tben.me/api/packages/Moduletrace/npm/%40moduletrace%2Fbunext/-/1.0.43/bunext-1.0.43.tgz", { "dependencies": { "@tailwindcss/postcss": "^4.2.2", "@types/bun": "latest", "@types/node": "^24.10.0", "@types/react": "^19.2.2", "@types/react-dom": "^19.2.2", "bun-plugin-tailwind": "^0.1.2", "chalk": "^5.6.2", "commander": "^14.0.2", "esbuild": "^0.27.4", "lightningcss-wasm": "^1.32.0", "lodash": "^4.17.23", "micromatch": "^4.0.8", "ora": "^9.0.0", "postcss": "^8.5.8", "react": "19.0.0", "react-dom": "19.0.0", "tailwindcss": "^4.2.2", "typescript": "^5.0.0" }, "bin": { "bunext": "dist/commands/index.js" } }, "sha512-h0bp2+xDk2SgP32xC2jG5er8zOJ7pl9Tnhkv7OXvanExSrS6nzv3+Et6KAfw33SDQjk1uGhyjUHt+adGrzZFSw=="],
|
||||
|
||||
"@moduletrace/datasquirel": ["@moduletrace/datasquirel@5.7.57", "https://git.tben.me/api/packages/Moduletrace/npm/%40moduletrace%2Fdatasquirel/-/5.7.57/datasquirel-5.7.57.tgz", { "dependencies": { "@types/ace": "^0.0.52", "@types/lodash": "^4.17.13", "@types/next": "^9.0.0", "@types/node": "^22.7.5", "@types/nodemailer": "^6.4.17", "@types/react": "^18.2.21", "@types/react-dom": "^19.0.0", "@types/tinymce": "^4.6.9", "dotenv": "^16.3.1", "generate-password": "^1.7.1", "google-auth-library": "^9.15.0", "inquirer": "^12.5.2", "lodash": "^4.17.21", "mariadb": "^3.4.4", "nodemailer": "^6.9.14", "sanitize-html": "^2.13.1", "sql-formatter": "^15.6.10" }, "bin": { "dsql-dump": "dist/engine/dump.js", "dsql-schema-to-typedef": "dist/engine/schema-to-typedef.js", "dsql-watch": "dist/engine/dsql.js" } }, "sha512-tPNfhMIwdptKjmraVqxj/qZ5yrO4QUZ/QxwZE+jIFj37UnUCXZOfF6yVWFClsqn2fNAjU2NDqrwC9w65ZzsmKg=="],
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@moduletrace/buncid": "^1.0.7",
|
||||
"@moduletrace/bunext": "^1.0.42",
|
||||
"@moduletrace/bunext": "^1.0.43",
|
||||
"@moduletrace/datasquirel": "^5.7.57",
|
||||
"gray-matter": "^4.0.3",
|
||||
"html-to-react": "^1.7.0",
|
||||
|
||||
@ -5,14 +5,9 @@ import Footer from "./Footer";
|
||||
import { twMerge } from "tailwind-merge";
|
||||
import MobileMenu from "./(sections)/MobileMenu";
|
||||
|
||||
type Props = PropsWithChildren & {
|
||||
meta?: {
|
||||
title?: string;
|
||||
description?: string;
|
||||
};
|
||||
};
|
||||
type Props = PropsWithChildren;
|
||||
|
||||
export default function Layout({ children, meta }: Props) {
|
||||
export default function Layout({ children }: Props) {
|
||||
const [menuOpen, setMenuOpen] = React.useState(false);
|
||||
|
||||
return (
|
||||
|
||||
13
src/pages/(partials)/root-head.tsx
Normal file
13
src/pages/(partials)/root-head.tsx
Normal file
@ -0,0 +1,13 @@
|
||||
import { SchemaJSON } from "@/src/layouts/main/(data)/schema";
|
||||
import { BunextPageHeadFCProps } from "@moduletrace/bunext/types";
|
||||
|
||||
export const RootHead = ({}: BunextPageHeadFCProps) => {
|
||||
return (
|
||||
<script
|
||||
type="application/ld+json"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: JSON.stringify(SchemaJSON),
|
||||
}}
|
||||
></script>
|
||||
);
|
||||
};
|
||||
@ -6,7 +6,9 @@ import {
|
||||
BunextRootComponentProps,
|
||||
BunextHTMLProps,
|
||||
BunextRouteConfig,
|
||||
BunextPageModuleMeta,
|
||||
} from "@moduletrace/bunext/types";
|
||||
import { RootHead } from "./(partials)/root-head";
|
||||
|
||||
export type AppContextType = {
|
||||
pageProps: PagePropsType;
|
||||
@ -40,3 +42,11 @@ export const config: BunextRouteConfig = {
|
||||
cacheExpiry: 60 * 60, // 1 hour
|
||||
cachePage: true,
|
||||
};
|
||||
|
||||
export const meta: BunextPageModuleMeta = {
|
||||
title: `10X Devops/SRE Engineer | Tben.me`,
|
||||
description:
|
||||
"Software Engineer, DevOps Engineer, Full Stack Developer, Software Architect, Philosopher, Solar Energy Enthusiast.",
|
||||
};
|
||||
|
||||
export const Head = RootHead;
|
||||
|
||||
@ -1,10 +1,15 @@
|
||||
import Layout from "@/src/layouts/main";
|
||||
import Main from "@/src/components/pages/about";
|
||||
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
|
||||
|
||||
export default function ContactPage() {
|
||||
export default function AboutMePage() {
|
||||
return (
|
||||
<Layout meta={{ title: "About Me | Tben.me" }}>
|
||||
<Layout>
|
||||
<Main />
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
|
||||
export const meta: BunextPageModuleMeta = {
|
||||
title: `About Me | Tben.me`,
|
||||
};
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
import Layout from "@/src/layouts/main";
|
||||
import Main from "@/src/components/pages/blog/slug";
|
||||
import { PagePropsType } from "@/src/types";
|
||||
import { BunextPageModuleMetaFn } from "@moduletrace/bunext/types";
|
||||
|
||||
export default function SingleBlogPost({ blogPost }: PagePropsType) {
|
||||
export default function SingleBlogPost() {
|
||||
return (
|
||||
<Layout
|
||||
meta={{
|
||||
title: blogPost?.meta_title,
|
||||
description: blogPost?.meta_description,
|
||||
}}
|
||||
>
|
||||
<Layout>
|
||||
<Main />
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
|
||||
export const meta: BunextPageModuleMetaFn = async ({ serverRes }) => {
|
||||
return {
|
||||
title: serverRes?.props?.blogPost?.meta_title,
|
||||
description: serverRes?.props?.blogPost?.meta_description,
|
||||
};
|
||||
};
|
||||
|
||||
@ -1,10 +1,15 @@
|
||||
import Layout from "@/src/layouts/main";
|
||||
import Main from "@/src/components/pages/contact";
|
||||
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
|
||||
|
||||
export default function ContactPage() {
|
||||
return (
|
||||
<Layout meta={{ title: "Contact Me | Tben.me" }}>
|
||||
<Layout>
|
||||
<Main />
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
|
||||
export const meta: BunextPageModuleMeta = {
|
||||
title: "Contact Me | Tben.me",
|
||||
};
|
||||
|
||||
@ -5,15 +5,11 @@ import Divider from "@/src/components/lib/layout/Divider";
|
||||
import MySkillsSection from "@/src/components/pages/Home/(sections)/MySkillsSection";
|
||||
import MyWorkSection from "@/src/components/pages/Home/(sections)/MyWorkSection";
|
||||
import FooterCTASection from "@/src/components/pages/Home/(sections)/footer-cta-section";
|
||||
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<Layout
|
||||
meta={{
|
||||
description:
|
||||
"Software Engineer, DevOps Engineer, Full Stack Developer, Software Architect, Philosopher, Solar Energy Enthusiast.",
|
||||
}}
|
||||
>
|
||||
<Layout>
|
||||
<Main />
|
||||
<Divider />
|
||||
<AboutSection />
|
||||
|
||||
@ -2,13 +2,18 @@ import Layout from "@/src/layouts/main";
|
||||
import Main from "@/src/components/pages/skills";
|
||||
import Divider from "@/src/components/lib/layout/Divider";
|
||||
import MySkillsSection from "@/src/components/pages/Home/(sections)/MySkillsSection";
|
||||
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
|
||||
|
||||
export default function SkillsPage() {
|
||||
return (
|
||||
<Layout meta={{ title: "My Skills | Tben.me" }}>
|
||||
<Layout>
|
||||
<Main />
|
||||
<Divider />
|
||||
<MySkillsSection noTitle expand />
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
|
||||
export const meta: BunextPageModuleMeta = {
|
||||
title: "My Skills | Tben.me",
|
||||
};
|
||||
|
||||
@ -2,13 +2,18 @@ import Layout from "@/src/layouts/main";
|
||||
import Main from "@/src/components/pages/work";
|
||||
import Divider from "@/src/components/lib/layout/Divider";
|
||||
import MyWorkSection from "@/src/components/pages/Home/(sections)/MyWorkSection";
|
||||
import { BunextPageModuleMeta } from "@moduletrace/bunext/types";
|
||||
|
||||
export default function WorkPage() {
|
||||
return (
|
||||
<Layout meta={{ title: "My Work | Tben.me" }}>
|
||||
<Layout>
|
||||
<Main />
|
||||
<Divider />
|
||||
<MyWorkSection noTitle expand />
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
|
||||
export const meta: BunextPageModuleMeta = {
|
||||
title: "My Work | Tben.me",
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user