This is the official website for the Computational Visualization Center (CVC) at UT Austin. Built with Gatsby and deployed to GitHub Pages, it showcases our research, publications, software, and team.
- Ensure you have Node.js and NPM installed. You can check by running:
node --version
npm --version
- Clone this repository to your local machine:
git clone https://github.com/cvc-website/cvc-website.git
- Navigate to the project directory and install the required dependencies:
cd cvc-website
npm install
- Set up environment variables:
- Copy
.env.exampleto.env - Fill in the required values (Firebase configuration, site password, etc.)
- Contact the team for production environment values
- Copy
To start the development server, run the following command in the project directory:
npm run develop
This will start a local development server at http://localhost:8000/.
To build the project for production, run:
npm run build
This command generates a public folder with the optimized website.
To deploy the website to GitHub Pages, run:
npm run deploy
npm run develop- Start development server at http://localhost:8000npm run build- Build for production with path prefixnpm run deploy- Build and deploy to GitHub Pagesnpm run format- Format code with Prettiernpm run lint- Run ESLintnpm run lint:fix- Fix ESLint issues automaticallynpm run clean- Clean Gatsby cache
The following environment variables are required:
GATSBY_FIREBASE_API_KEY- Firebase API keyGATSBY_FIREBASE_AUTH_DOMAIN- Firebase auth domainGATSBY_FIREBASE_PROJECT_ID- Firebase project IDGATSBY_FIREBASE_STORAGE_BUCKET- Firebase storage bucketGATSBY_FIREBASE_MESSAGING_SENDER_ID- Firebase messaging sender IDGATSBY_FIREBASE_APP_ID- Firebase app IDGATSBY_PASSWORD_PROTECT- Password for site protection
See .env.example for a template.
.
├── src/
│ ├── components/ # React components
│ ├── context/ # React context providers
│ ├── data/ # Data files and database
│ ├── images/ # Image assets
│ ├── markdown/ # Markdown content (news, projects, etc.)
│ ├── pages/ # Page components
│ └── styles/ # Global styles
├── docs/ # Documentation for adding content
├── gatsby-*.js # Gatsby configuration files
├── .env.example # Environment variables template
├── .eslintrc.js # ESLint configuration
└── .prettierrc # Prettier configuration
See the documentation in the docs/ folder:
- Create a feature branch from
main - Make your changes
- Run
npm run lintandnpm run format - Test locally with
npm run develop - Submit a pull request
This project is licensed under the 0BSD license - see the LICENSE file for details.