To build the webpage:
- Run
pip install -r requirements.txtfrom the root folder to install Python dependencies - For development, run
quarto previewin the root folder. A brower will open tolocalhost:12800. This uses hot reloading, so whenever any file is changed the webpage will reload - For deployment, run
quarto render. The generated webpage is created in the_sitefolder
For loading performance, consider converting image files to .webp format using, for example, ImageMagick.
File formats and tools used in the webpage:
- YML: Both used for configuration and data files
- SCSS: Style sheets
- EJS: Templating language to turn files/YML into HTML
- Bootstrap: Layout for the webpage
assets: Assets used globally for the webpage itselfassets/images: General folder for images. Images should have a naming scheme of separating individual words using_. If multiple images are present for a single name,-1,-2, etc are appended. If a specific image variant is used (black, white, color, ...) it is separated with--, for examplelogo--white.webpassets/images/banner: Images used for the hero banner section. Images in this folder should be of the aspect ratio φ:1 (1.61803398874989:1)assets/images/carousel: Images that are automatically rotated through in the main page carouselassets/images/features: Images used on feature pagesassets/images/use-cases: Images used on the use-cases pageassets/images/user-meetings: Images used on user meeting pages
assets/brand: Brand assets (logos, wordmarks) for OpenSpace and partner institutionsassets/js: JavaScript files used by the webpageassets/style: SCSS style files used for the webpageassets/team: Profile images and information about team membersassets/listing: Different listings that are used to generate content on different pages. Each.ymlin this folder is named after the webpage on which it is usedassets/videos: Video assets used on the webpage
community/events: A list of events that will automatically be added to the events page. Each event should be in a subfolder that has anindex.qmdresources: Resources that are provided by the webpage for external use_template: Partial pages that are included or EJS file templates used by other pages_announcement.yml: Configuration file to control a top-level announcement banner_footer.yml: Configuration file to control the information provided in the footer_navbar.yml: Configuration file to control the top navigation bar_sidebars.yml: Configuration file to control per-page sidebars_quarto.yml: Root configuration file for Quarto404.qmd: Special 404 page that gets displayed when someone navigates to a page that doesn't existindex.qmd: Root page
- Resize profile image to 500x500 pixels
- Copy profile image into the correct subfolder in
assets/team. The first two characters should be a sequence number within that folder - Add the new person to the
assets/team/team.yml
- Move profile image from the current folder in
assets/teamto the-previousversion - Update the profile image file name to have the correct sequence number. We try our best to have previous members ordered based on their seniority; longer time in the project -> lower number
- Move the persons entry in the
assets/team/team.ymlto the current group, updatetypeandimageentries