Portfolio Cookbook & Maintenance Guide 🍳

This cookbook provides guides, shortcuts, and commands to manage, update, and run your academic portfolio website.


πŸ› οΈ Portfolio Management Utility (scripts/manage.py)

A custom Python script has been added to scripts/manage.py to automate common updates. To use it, make sure you are in your active Python environment where pyyaml is installed.

1. Run the Local Development Server

Starts the Jekyll server with hot-reloading enabled.

./scripts/manage.py serve
# Or: python3 scripts/manage.py serve

The website will be hosted locally at http://localhost:4000/.

2. Add a Publication (Interactive)

Prompts you for all metadata, sets up tags (Year, Venue, Rank, Impact), links, and custom BibTeX, then formats and inserts it in the correct year order inside _data/publications.yml.

./scripts/manage.py add-pub

3. Add a Project (Interactive)

Prompts you to add a new Bootcamp, Research Project, or Industry Collaboration, handles point list formats, and saves to _data/projects.yml.

./scripts/manage.py add-project

4. Add a News/Update Item

Quickly prepends a new update to the home page timeline modal.

./scripts/manage.py add-news --text "Paper on VLA models accepted at <strong>CVPR'27</strong>! Check project page <a href='https://example.com' target='_blank'>here</a>."

Note: You can specify a custom date (e.g. July 2026) using the optional --date flag. Defaults to the current Month & Year.


πŸ“‚ Content Data Guide (_data/)

The website is fully data-driven. You can update any page content by editing the corresponding YAML file in the _data/ folder:

πŸ“– publications.yml

List of research publications.

πŸ’Ό education.yml

Education details rendered on the Experience page.

🏒 experience.yml

Research and professional work experience.

πŸŽ“ teaching.yml

Courses taught or assisted.

πŸ† awards.yml

Scholarships, medals, and academic awards.


🎨 Layout & CSS Structures (_sass/theme/)

The website styling has been modularized:


πŸš€ Publishing Updates

To deploy changes to your live portfolio:

  1. Edit the relevant file (or use manage.py).
  2. Test changes locally using ./scripts/manage.py serve.
  3. Commit and push the updates:
    git add .
    git commit -m "update: add new paper to publications"
    git push origin master