This repository contains the source code for my personal website and blog, built with Nuxt 3 and styled with Tailwind CSS.
- Blog: Markdown-based content management using Nuxt Content.
- Command Palette: Quick navigation and actions (Ctrl/Cmd + K).
- Last.fm Integration: Displaying current music presence (if configured).
- Dark Mode: Theme switching support.
- SEO Friendly: Meta tags automatically generated for pages and posts.
- Responsive Design: Adapts to different screen sizes.
- Page Transitions & Animations: Smooth transitions and entry animations using VueUse Motion.
- Framework: Nuxt 3 (with Vue 3)
- Styling: Tailwind CSS (with
@tailwindcss/typography
plugin) - Language: TypeScript
- Content: Nuxt Content
- Icons: Iconify (via
nuxt-icon
) - Utilities & Animations: VueUse (including
@vueuse/motion
)
.
βββ assets/
β βββ css/
β βββ main.css # Global styles and Tailwind directives
βββ components/
β βββ command-palette.vue # Command palette component
β βββ footer.vue # Site footer
β βββ image.vue # Image component with blurhash
β βββ link.vue # Custom link component (e.g., with UTM)
β βββ music-presence.vue # music presence component (Last.fm)
β βββ navbar.vue # Site navigation bar
βββ constants/
β βββ socials.ts # Social media links
β βββ work.ts # Work experience data
βββ content/ # Markdown files for blog posts
β βββ posts/
β βββ ...
βββ layouts/ # Layout files (if any, Nuxt uses app.vue by default)
βββ node_modules/ # Project dependencies
βββ pages/
β βββ index.vue # Home/About page
β βββ posts/
β β βββ [id].vue # Individual blog post page
β β βββ index.vue # Blog posts list page
β βββ work.vue # Work experience page
βββ public/ # Static assets (e.g., favicon, robots.txt)
βββ app.vue # Main application layout/entry point
βββ error.vue # Custom error page (e.g., 404)
βββ nuxt.config.ts # Nuxt configuration file
βββ package.json # Project dependencies and scripts
βββ README.md # This file
βββ tsconfig.json # TypeScript configuration
Clone the repository and install dependencies:
# Clone the repo
git clone https://github.com/merloss/website.git
cd website
# Install dependencies (choose your package manager)
# npm
npm install
# pnpm
pnpm install
# yarn
yarn install
# bun
bun install
Start the development server on http://localhost:3000
:
# npm
npm run dev
# pnpm
pnpm dev
# yarn
yarn dev
# bun
bun run dev
The server will automatically reload when you make changes to the code.