This is the website for the ECNUVIS lab (https://ecnuvis.net), built with next.js.
All the website content (people, publication, news, gallery items) is stored in the content directory and all the images are stored in the public/images/{people,publication,news,gallery} directory. We use markdown frontmatters to store fields for each content document.
You can refer to the templates in the content/templates/ directory for all supported fields and their corresponding descriptions for a specific type of content.
We have two naming conventions for documents in the content directory:
- Dated: for
news,publicationandgalleryitems, the document name should be in the format ofYYYYMMDD_slug.md, whereYYYYMMDDis the date of the news, publication or gallery item, andslugis a short name for the item. For example,20231001_paper.mdin thepublicationfolder is a paper item with the date20231001and the slug ofpaper. If no date is specified in the filename, these documents must provide adateattribute in the frontmatter, otherwise we cannot sort them properly. - Undated: for
people, the document name should be in the format ofid.md, whereidis a unique identifier for the person. We recommend using the last two digits of your year of enrollment and your name as the ID. For example,23sanzhang.mdis a person with the ID of23sanzhang, whose URL is/people#23sanzhang.
Here is a guide for you to update your personal information:
- Fork this repo.
- Clone your forked repo.
- (Optional) Create a new branch.
- Update/Add your personal information in the
content/people/directory, and put your photo inside thepublic/images/peopledirectory. - Commit your changes and push them to your forked repo.
- Create a pull request.
Be sure to run the website locally to check if your changes are correct before creating a pull request.
git clone https://github.com/billchen2k/ecnuvis
yarn
yarn devNote: the Mapbox view in the contact page will not work locally unless you provide your own Mapbox token in the .env.local file (see .env.example).
If you find any bugs or have any suggestions, feel free to open an issue or create a pull request.