Skip to content

sarkadiu/areksitek

Repository files navigation

Academic Portfolio Website

A modern, responsive personal academic website built with Next.js, TypeScript, and Tailwind CSS. Inspired by academic portfolio designs, optimized for showcasing research, publications, and professional information.

Features

  • 🎨 Clean, professional design
  • πŸ“± Fully responsive (mobile, tablet, desktop)
  • ⚑ Fast performance with Next.js static export
  • 🎯 Easy content management through data files
  • πŸš€ Ready for Vercel deployment
  • β™Ώ Accessible navigation and content structure
  • πŸ“ Separate pages for: About, Lab, Hiring, Teaching, Talks, Publications

Quick Start

1. Install Dependencies

npm install

2. Customize Your Content

Edit the data files in the data/ directory:

  • data/personal.ts - Your name, title, bio, contact information
  • data/news.ts - News items and announcements
  • data/publications.ts - Your publications organized by year

3. Add Your Images

Place images in the public/ folder:

  • public/headshot.jpg - Your professional photo
  • public/papers/ - Paper thumbnails and visualizations (paper1.png, paper2.png, etc.)

4. Run Development Server

npm run dev

Open http://localhost:3000 to see your site.

5. Customize Other Pages

Edit the following pages as needed:

  • app/lab/page.tsx - Lab information and members
  • app/hiring/page.tsx - Hiring information
  • app/teaching/page.tsx - Courses and teaching philosophy
  • app/talks/page.tsx - Talks, podcasts, and tutorials
  • app/publications/page.tsx - Full publications list

Deploy to Vercel

Option 1: Deploy from GitHub

  1. Push your code to a GitHub repository
  2. Go to vercel.com
  3. Click "New Project"
  4. Import your repository
  5. Vercel will automatically detect Next.js and deploy

Option 2: Deploy with Vercel CLI

# Install Vercel CLI
npm install -g vercel

# Deploy
vercel

Follow the prompts, and your site will be live!

Project Structure

β”œβ”€β”€ app/                    # Next.js app directory
β”‚   β”œβ”€β”€ layout.tsx         # Main layout
β”‚   β”œβ”€β”€ page.tsx           # Homepage
β”‚   β”œβ”€β”€ globals.css        # Global styles
β”‚   β”œβ”€β”€ lab/               # Lab page
β”‚   β”œβ”€β”€ hiring/            # Hiring page
β”‚   β”œβ”€β”€ teaching/          # Teaching page
β”‚   β”œβ”€β”€ talks/             # Talks page
β”‚   └── publications/      # Publications page
β”œβ”€β”€ components/            # React components
β”‚   β”œβ”€β”€ Navigation.tsx     # Navigation bar
β”‚   β”œβ”€β”€ Footer.tsx         # Footer
β”‚   β”œβ”€β”€ Hero.tsx           # Hero section with bio
β”‚   β”œβ”€β”€ News.tsx           # News section
β”‚   └── Publications.tsx   # Publications section
β”œβ”€β”€ data/                  # Content data files
β”‚   β”œβ”€β”€ personal.ts        # Personal information
β”‚   β”œβ”€β”€ news.ts            # News items
β”‚   └── publications.ts    # Publications
β”œβ”€β”€ public/                # Static assets
β”‚   β”œβ”€β”€ headshot.jpg       # Your photo
β”‚   └── papers/            # Paper images
β”œβ”€β”€ package.json           # Dependencies
β”œβ”€β”€ tsconfig.json          # TypeScript config
β”œβ”€β”€ tailwind.config.ts     # Tailwind config
└── next.config.js         # Next.js config

Customization Guide

Colors and Styling

Edit tailwind.config.ts to change the color scheme:

theme: {
  extend: {
    colors: {
      primary: "#2563eb",    // Change primary color
      secondary: "#64748b",  // Change secondary color
    },
  },
}

Adding New Pages

  1. Create a new folder in app/ (e.g., app/blog/)
  2. Add a page.tsx file in that folder
  3. Add the route to components/Navigation.tsx

Updating the Footer

Edit components/Footer.tsx to customize copyright and footer content.

Google Analytics (Optional)

To add Google Analytics:

  1. Install package: npm install @next/third-parties
  2. Add to app/layout.tsx:
import { GoogleAnalytics } from '@next/third-parties/google'

// Add inside the <body> tag:
<GoogleAnalytics gaId="G-XXXXXXXXXX" />

Tips for Content

Publications

  • Add paper thumbnails (PNG/JPG) to public/papers/
  • Include links to PDF, code repositories, and project websites
  • Organize by year for easy browsing

News Items

  • Use HTML in news content for formatting and links
  • Most recent items appear first
  • Use emojis sparingly for visual interest

Bio

  • Keep paragraphs concise
  • Link to important papers and resources
  • Highlight key achievements and affiliations

Build for Production

# Create production build
npm run build

# Test production build locally
npm run start

The static site will be exported to the out/ directory.

Troubleshooting

Images not loading?

  • Ensure images are in the public/ folder
  • Check that file names match exactly (case-sensitive)
  • Use relative paths: /headshot.jpg not ./headshot.jpg

Deployment fails?

  • Make sure output: 'export' is in next.config.js
  • Check that all dependencies are in package.json
  • Verify no dynamic routes are used without proper configuration

Styling issues?

  • Clear browser cache
  • Run npm run dev to restart development server
  • Check Tailwind classes are valid

License

Feel free to use this template for your personal academic website.

Support

For Next.js documentation: nextjs.org/docs For Vercel deployment: vercel.com/docs


Built with ❀️ using Next.js, TypeScript, and Tailwind CSS

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors