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.example
to.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 lint
andnpm 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.