personal-site

Personal Website

Welcome to my personal website! This is an MIT licensed Next.js-based Jamstack application. It offers a simple interface, easy modifications, static export capabilities, and free automatic deployments via GitHub Pages.

πŸš€ Features

πŸ›  Adapting this Project

πŸ”§ Dependencies

Ensure you have node >= v20. Optionally, use nvm to manage node versions.

πŸš€ Setup and Running

  1. Clone the repository:

    git clone git://github.com/arthurgassner/personal-site.git
    cd personal-site
    
  2. (Optional) Ensure you’re on Node v20 or higher:

    nvm install
    node --version
    
  3. Install dependencies:

    npm install
    
  4. Start the development server:

    npm run dev
    

    By default, the application will be available at http://localhost:3000/.

πŸ— Building for Production

  1. Build the static export:

    npm run build
    

    The build process automatically creates a static export in the out/ directory.

  2. Preview the production build locally:

    npm run start
    

🚒 Deploying

Deploying to GitHub Pages

  1. Update the environment variables and Git remote URL in .github/workflows/github-pages.yml.

  2. Enable GitHub Actions and Pages for your repository.

  3. Push to the main branch to trigger automatic deployment.

    git add .
    git commit -m "Deploy to GitHub Pages"
    git push origin main
    

Static Export

You can export the site as static HTML to host anywhere:

npm run build

The static files will be automatically generated in the out/ directory.

πŸ”¬ Testing

npm run lint          # Run ESLint
npm run type-check    # Run TypeScript type checking
npm run format        # Format code with Prettier
npm run format:check  # Check code formatting
npm test              # Run Jest tests

🎨 Customization

πŸ“ License

MIT