Top Related Projects
The React Framework
The best React-based framework with performance, scalability and security built in.
The library for web and native user interfaces.
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
Cybernetically enhanced web apps
The Intuitive Vue Framework.
Quick Overview
leerob/site is the personal website and blog of Lee Robinson, VP of Developer Experience at Vercel. It's built with Next.js and serves as a showcase of Lee's work, writing, and expertise in web development. The repository also functions as an example of modern web development practices and Next.js implementation.
Pros
- Built with Next.js, demonstrating best practices and advanced features
- Clean, minimalist design that focuses on content
- Includes a blog with MDX support for rich content creation
- Implements modern web technologies like server-side rendering and API routes
Cons
- Highly personalized, which may limit its use as a template for others
- Some features may be overkill for simpler personal websites
- Requires familiarity with Next.js and React to fully understand and modify
- May be challenging for beginners to set up and customize
Getting Started
To get started with this project:
-
Clone the repository:
git clone https://github.com/leerob/site.git
-
Install dependencies:
cd site npm install
-
Run the development server:
npm run dev
-
Open
http://localhost:3000
in your browser to view the site.
Note: You'll need to customize the content, including blog posts and personal information, to make it your own. Familiarity with Next.js, React, and MDX is recommended for modifying this project.
Competitor Comparisons
The React Framework
Pros of Next.js
- Extensive documentation and large community support
- Built-in performance optimizations and server-side rendering
- Wider range of features and integrations for complex applications
Cons of Next.js
- Steeper learning curve for beginners
- More complex setup and configuration for simple projects
- Larger bundle size due to additional features
Code Comparison
Next.js:
import { useRouter } from 'next/router'
function ActiveLink({ children, href }) {
const router = useRouter()
const style = {
color: router.asPath === href ? 'red' : 'black',
}
return (
<a href={href} style={style}>
{children}
</a>
)
}
site:
import { useRouter } from 'next/router';
import Link from 'next/link';
import cn from 'classnames';
function NavItem({ href, text }) {
const router = useRouter();
const isActive = router.asPath === href;
return (
<Link
href={href}
className={cn(
isActive
? 'font-semibold text-gray-800 dark:text-gray-200'
: 'font-normal text-gray-600 dark:text-gray-400',
'hidden md:inline-block p-1 sm:px-3 sm:py-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-800 transition-all'
)}
>
<span>{text}</span>
</Link>
);
}
The site repository uses a more customized approach with additional styling and dark mode support, while Next.js provides a simpler, more generic implementation.
The best React-based framework with performance, scalability and security built in.
Pros of Gatsby
- Extensive plugin ecosystem for enhanced functionality
- Built-in performance optimizations like image processing and code splitting
- Large community and extensive documentation
Cons of Gatsby
- Steeper learning curve due to GraphQL integration
- Longer build times for large sites
- More complex setup and configuration
Code Comparison
site (Next.js):
export default function Home() {
return (
<Layout>
<h1>Welcome to my site</h1>
</Layout>
)
}
Gatsby:
export default function Home({ data }) {
return (
<Layout>
<h1>{data.site.siteMetadata.title}</h1>
</Layout>
)
}
export const query = graphql`
query HomePageQuery {
site {
siteMetadata {
title
}
}
}
`
The site repository uses Next.js, which offers a simpler setup and faster development experience. Gatsby, on the other hand, provides more built-in features and optimizations but requires additional configuration and GraphQL queries for data fetching.
Both frameworks are capable of building performant websites, but Gatsby excels in static site generation with its extensive plugin ecosystem, while site leverages Next.js for a more flexible approach to server-side rendering and static generation.
The library for web and native user interfaces.
Pros of React
- Larger community and ecosystem, with extensive third-party libraries and tools
- More comprehensive documentation and learning resources
- Widely adopted in industry, making it valuable for career development
Cons of React
- Steeper learning curve for beginners compared to simpler personal site setups
- Potentially overkill for small projects or simple websites
- Requires more setup and configuration for optimal performance
Code Comparison
React (component example):
function Welcome(props) {
return <h1>Hello, {props.name}</h1>;
}
site (Next.js page example):
export default function Home() {
return <h1>Welcome to my site</h1>;
}
Summary
React is a powerful library for building complex user interfaces, while site is a personal website project likely built with simpler tools. React offers more features and flexibility but may be excessive for basic websites. site is probably easier to set up and maintain for personal use but lacks the advanced capabilities of React. The choice between them depends on project requirements and developer preferences.
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
Pros of Vue
- Larger community and ecosystem with more resources and third-party libraries
- More comprehensive framework for building complex applications
- Better suited for large-scale projects with multiple developers
Cons of Vue
- Steeper learning curve for beginners compared to simpler personal site setups
- Potentially overkill for small, static websites or personal portfolios
- More complex build and deployment process
Code Comparison
Vue (from Vue):
export default {
name: 'App',
components: { HelloWorld },
data() {
return { message: 'Welcome to Vue!' }
}
}
React (from site):
export default function Home() {
return (
<Layout>
<h1>Welcome to my website</h1>
<p>This is a simple personal site.</p>
</Layout>
);
}
The Vue example shows a component with data management and child component inclusion, while the site example demonstrates a simpler functional component structure typical for a personal website. Vue's approach offers more built-in features for complex applications, whereas site's setup is more straightforward for basic content presentation.
Cybernetically enhanced web apps
Pros of Svelte
- Comprehensive framework with a full ecosystem for building web applications
- Highly performant with a smaller runtime footprint
- Large and active community with extensive documentation and resources
Cons of Svelte
- Steeper learning curve for developers new to the framework
- Less flexibility for custom configurations compared to a personal site setup
- May be overkill for simple static websites or blogs
Code Comparison
Site (Next.js):
export default function Home() {
return (
<div>
<h1>Welcome to my site</h1>
<p>This is a Next.js based personal website.</p>
</div>
);
}
Svelte:
<script>
let welcome = 'Welcome to my site';
</script>
<h1>{welcome}</h1>
<p>This is a Svelte based application.</p>
Key Differences
- Site is a personal website/blog using Next.js, while Svelte is a full-fledged framework
- Site focuses on simplicity and ease of customization for personal use
- Svelte offers more built-in features and optimizations for larger applications
- Site leverages React ecosystem, whereas Svelte has its own unique syntax and approach
- Svelte compiles to vanilla JavaScript, potentially resulting in smaller bundle sizes
The Intuitive Vue Framework.
Pros of Nuxt
- More comprehensive framework with built-in features for server-side rendering, routing, and state management
- Larger community and ecosystem, providing more plugins and resources
- Better suited for large-scale applications with complex requirements
Cons of Nuxt
- Steeper learning curve due to more extensive features and conventions
- Potentially heavier bundle size for smaller projects
- Less flexibility in customizing the build process compared to a simpler setup
Code Comparison
Site (Next.js):
export default function Home() {
return (
<div>
<h1>Welcome to my site</h1>
</div>
)
}
Nuxt:
<template>
<div>
<h1>Welcome to my site</h1>
</div>
</template>
<script>
export default {
name: 'HomePage'
}
</script>
The code comparison shows that Site uses React-style components with Next.js, while Nuxt uses Vue.js components with a template and script structure. Nuxt requires more boilerplate for a basic component, but provides a clear separation between template and logic.
Both repositories offer modern web development approaches, with Site focusing on simplicity and flexibility using Next.js, while Nuxt provides a more opinionated and feature-rich framework based on Vue.js. The choice between them depends on project requirements, team expertise, and desired level of abstraction.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
leerob.io
- Framework: Next.js
- Database: Postgres
- Deployment: Vercel
- Styling: Tailwind CSS
- Analytics: Vercel Analytics
Running Locally
This application requires Node.js v18.17+.
git clone https://github.com/leerob/site.git
cd site
bun install
bun run delete # Remove all of my notes
bun dev
Optional: Create a .env.local
file with your POSTGRES_URL
environment variable to store redirects.
Database Schema
CREATE TABLE redirects (
id SERIAL PRIMARY KEY,
source VARCHAR(255) NOT NULL,
destination VARCHAR(255) NOT NULL,
permanent BOOLEAN NOT NULL
);
License
- You are free to use this code as inspiration.
- Please do not copy it directly.
- Crediting the author is appreciated.
Please remove all of my personal information by running bun run delete
.
Top Related Projects
The React Framework
The best React-based framework with performance, scalability and security built in.
The library for web and native user interfaces.
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
Cybernetically enhanced web apps
The Intuitive Vue Framework.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot