Welcome to the official repository for the Computational Astrophysics Lab (CALab) website. This site is built with Jekyll and Bootstrap 5, hosted on GitHub Pages.
- Quick Maintenance (GitHub Web Interface)
- Publications Management (Automatic)
- Website Architecture
- Developer Environment & Setup
- Site Standards & Guidelines
You can maintain most of the website's content without any coding knowledge by using the GitHub "Edit" (pencil icon) button.
Member information is stored in _data/members.yml.
- Navigate to
_data/members.yml. - Click the pencil icon to edit.
- Add a member: Copy below block and update the details (name, role, position, image path, etc.).
- english_name: "Firstname Lastname" native_name: "姓名" role: "postdoc" # Use roles from _data/member_roles.yml status: "current" # Choose between "current" and "previous" image: "/assets/img/member/name.webp" website: "https://..." email: "user@example.com" github: "username" begin: 2020 end: 2025 # Only for previous members bio: - "Research interest line 1" - "Line 2" aliases: ["Lastname, F.", "Firstname L."] # Used to bold name in Publications
- Alumni/Previous Members: Simply change
statustoprevious. They will automatically move to the "Previous Members" page. - Images: Upload square (1:1) WebP images to
assets/img/member/.
Projects are individual Markdown files in _projects/.
- Types of Projects:
- Archive Projects: Standard research updates. Use tags like
FDM,GAMER_app, orGAMER_dev. - Main Topic Projects: These appear on the "Research" landing page. They MUST have
tags: ["main"]and amodal_id.
- Archive Projects: Standard research updates. Use tags like
- Add New: Create a file like
_projects/2026-new-study.md. - Template:
--- title: "Study Title" date: 2026-02-11 tags: ["FDM"] # Categorizes the project image: "/assets/img/..." # Thumbnail image link: "https://doi.org/." # External paper link link_text: "Journal Ref" # Text for the link button --- Executive summary of the project...
The special "Highlights" on the News and Research Archive pages are controlled by _data/research_section.yml.
- Add the filename (slug) of a project to the corresponding list:
research_highlights: - project-slug-1 - project-slug-2 fdm_highlights: - project-slug-3 - project-slug-4
- Courses: Managed in
_courses/. Edit the Markdown files to update syllabus or links. - Useful Links: Managed in
_useful/. Add new links or categories by editing the files there.
We use an automated pipeline to handle publications. Do not edit _data/publications.yml directly!
- Step: Edit
_tools/export-bibtex.biband add your BibTeX entries. - Automation: A GitHub Action automatically runs
_tools/bib_to_yml.pyto:- Convert BibTeX to YAML.
- Match authors against our member list (and bold them).
- Convert LaTeX journal macros (e.g.,
\apj) to full names. - Preserve Tags: If you manually add
tags: ["FDM"]to an entry in_data/publications.yml, the script will remember it even when the bib is updated (as long as the title stays the same).
| Folder/File | Purpose |
|---|---|
_data/ |
YAML files for Members, Publications, and Navigation. |
_projects/ |
The core collection of research updates. |
_courses/ |
Course materials and syllabus. |
_useful/ |
Curated links for lab members. |
_includes/ |
Reusable components (Navbar, Cards, Modals). |
_layouts/ |
Page templates (Default). |
_sass/ |
Custom styling and Bootstrap overrides. |
_tools/ |
Tools for automatic updates. |
assets/ |
Static assets: img/, video/, js/, css/. |
research/ |
Page for research projects. (Entrance from research pages' modal) |
_config.yml |
Configuration file for Jekyll. |
Gemfile |
Gemfile for Jekyll. |
- Ruby 3.0+ & Bundler
- Python 3.9+ (for publication script)
bundle installbundle exec jekyll serve --baseurl ""- Open
http://127.0.0.1:4000/
Deployment is automatic! Any push to the main branch triggers:
- Publication script conversion.
- Jekyll build.
- GitHub Pages deployment.
- Format: Use WebP for images and WebM for videos whenever possible for better performance.
- Size: Member photos should be square (e.g., 400x400px).
- Video: Laboratory/Background videos should be muted and under 10MB.
- Files: Use
kebab-case(e.g.,my-new-paper.md). - Tags: Stick to consistent tags:
FDM,GAMER_app,GAMER_dev,main.
Maintained by: CALab Team Last Updated: February 2026