Skip to content

sashkhen/shu-website

Repository files navigation

Personal website

  • 4 theme combinations - 2 variants x 2 modes (light/dark)
  • responsive
  • PWA
  • SSG
  • Intl

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load custom fonts.

Contributing

Components

This project utilizes generate-react-cli for bootstrapping components.

To generate new component, run:

npm run generate:component Button

UI Data

In order to update static data that appears in UI please update ./src/constants/data.json. For localization, please see Localization.

In order to update metadata used in <head> and manifest.json, please update ./src/constants/metadata.ts.

In order to update default theme used in <html>, <head> and in <ThemeProvider> please update ./src/constants/theme.ts.

Localization

This project utilizes react-intl for managing translations.

In order to add dictionary:

  • add ./src/dictionaries/[lang].json file
  • run npm run compile:all to pre-compile your messages for performance
  • add pre-compiled dictionary to ./src/utils/get-dictionary.ts

Pre-compile command will run every time you start dev server (once) or build app.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.