https://github.com/mrlemoos/mrlemoos.dev
My personal portfolio + blog π
https://github.com/mrlemoos/mrlemoos.dev
blog eslint markdown mdx nextjs portfolio postcss reactjs renovate tailwindcss
Last synced: 30 days ago
JSON representation
My personal portfolio + blog π
- Host: GitHub
- URL: https://github.com/mrlemoos/mrlemoos.dev
- Owner: mrlemoos
- License: other
- Created: 2022-11-05T22:15:13.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2026-05-18T23:28:02.000Z (about 1 month ago)
- Last Synced: 2026-05-19T01:40:09.832Z (about 1 month ago)
- Topics: blog, eslint, markdown, mdx, nextjs, portfolio, postcss, reactjs, renovate, tailwindcss
- Language: Astro
- Homepage: https://mrlemoos.dev
- Size: 755 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
mrlemoos.dev
Personal portfolio and blog β Astro, TypeScript, and Tailwind CSS β deployed on Vercel.
## About
Source for [mrlemoos.dev](https://mrlemoos.dev): a prerendered portfolio with a content-driven blog. Posts live in Astro content collections under `src/content/blog`; MDX supports maths via remark-math and rehype-katex. Typography uses Geist for body and UI, Instrument Serif for headings, with a grey-first palette and light motion for a calm, editorial feel.
## Features
- Astro 6 with the Vercel adapter (`@astrojs/vercel`), hybrid/server output and dynamic routes where needed
- Blog and MDX with KaTeX-ready markdown pipeline
- Tailwind CSS v4 via the Vite plugin
- Dynamic Open Graph images (`@vercel/og`)
- Sitemap integration (`@astrojs/sitemap`)
- TypeScript and ESLint
## Tech stack
| Area | Choice |
| ----------- | ------------------------------------------- |
| Framework | Astro 6 |
| Language | TypeScript |
| Styling | Tailwind CSS v4, `@tailwindcss/typography` |
| Content | MDX, Astro content collections |
| Fonts | Geist Sans / Mono, Instrument Serif (npm) |
| Analytics | Vercel Analytics |
| Deployment | Vercel |
## Prerequisites
- Node.js 24.x or newer
- [pnpm](https://pnpm.io/) (version pinned in `package.json`)
## Getting started
```bash
git clone https://github.com/mrlemoos/mrlemoos.dev.git && cd mrlemoos.dev
pnpm install
pnpm dev
```
Open [http://localhost:4321](http://localhost:4321) (Astroβs default dev port).
## Scripts
| Command | Description |
| ------------- | ------------------------ |
| `pnpm dev` | Start Astro dev server |
| `pnpm build` | Production build |
| `pnpm preview`| Preview production build |
| `pnpm lint` | Run ESLint |
| `pnpm check` | Run `astro check` |
## Project structure
```
src/
βββ content/blog/ # MDX posts (content collections)
βββ pages/ # Routes (including `og` route)
βββ layouts/ # Page shells
βββ components/ # Astro components
βββ lib/ # SEO, OG image, data, helpers
βββ styles/ # Global CSS
```
## Customisation
- Site URL and build options: `astro.config.mjs`
- New posts: add MDX under `src/content/blog/` and match the collection schema in `content.config.ts`
- Shared layout and metadata: `src/layouts/BaseLayout.astro`, `src/lib/seo.ts`
- Home and listing pages: `src/pages/index.astro`, `src/pages/blog/`
## Contributing
Contributions are welcome. Please open a pull request with a short description of the change.
## Licence
Apache License 2.0 β see [LICENSE](LICENSE).
## Acknowledgments
- [Astro](https://astro.build/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Vercel](https://vercel.com/)