Projects live in the marc_projects repository (opens in a new tab) on GitHub: one Markdown file per project in the projects/ folder.

marc_projects/
└── projects/
    ├── Example_Project.md
    ├── cover_images/      ← one cover image per project
    └── images/            ← figures used inside project pages

Add or update a project

  1. Open the projects/ (opens in a new tab) folder.
  2. To update a project, open its file and click the pencil icon. To add one, click Add file → Create new file and name it, for example, Example_Project.md. Choose the name carefully: it is the page address, and the publications sheet tab should use the same name.
  3. Upload the cover image to projects/cover_images/ (Add file → Upload files).
  4. Commit to a new branch and open a pull request. When it is merged, the website rebuilds.

Template

---
project: "Example Project: A Short, Descriptive Title"
projectMembers:
  - researcher1@eng.pdn.ac.lk
  - researcher2@eng.pdn.ac.lk
supervisors:
  - supervisor@eng.pdn.ac.lk
researchArea: Computer Vision
researchPillars:
  - "AI in Engineering"
coverImage: ./cover_images/Example_Project.jpg
---

One or two paragraphs that explain the problem and why it matters.

## Approach

What the team is doing, and any results so far.

![Segmentation results on the test set](./images/Example_Project_results.jpg)

Fields

Linking keys: they point at other content. Copy values exactly; don’t retype them from memory.

FieldRequiredMust matchPurpose
projectMembersYesThe email or one of the otherEmails in each researcher’s profileThe researchers on the project, as a list of email addresses. Use [] for none.
supervisorsYesThe email or one of the otherEmails in each supervisor’s profileThe supervisors, as a list of email addresses. Use [] for none.
researchAreaYesOne of Biomedical Engineering and Wearables, Computer Vision, Generative AI, Multispectral Imaging, Smart Grid, SocioeconomicPlaces the project on that research area’s page and gives it the area’s colour.
File nameYesThe project’s tab in the publications sheetThe page address (Example_Project.md → /projects/example_project/) and the main way publications are linked.
projectYesThe publications tab, if the tab uses the title rather than the file nameThe project title on cards and the project page.

Safe to change at any time:

FieldRequiredPurpose
researchPillarsYesShort tags shown on the project, as a list. Use [] for none.
coverImageYesPath to the cover image, starting with ./cover_images/.
DescriptionNoEverything below the closing ---, in Markdown.

The project team

Team members are listed by email address, and each address is matched to a profile in marc_people by the profile’s email or any of its otherEmails. On the project page:

  • people with a profile appear with their photo, name and role, linking to their profile;
  • an email with no matching profile is left out until that person adds their profile, or adds that address to their otherEmails;
  • a person listed twice, under two of their addresses, appears once.

So:

  • copy each address from the person’s profile file rather than typing it, and write it in lower case;
  • ask new team members to add their profile using the same address you listed here.

Email addresses are never shown on the website.

Adding or removing a team member

Team membership is recorded only in the project file. A person’s profile does not list their projects; the website works it out from these lists.

  1. Open the project file and click the pencil icon.

  2. To add someone, add a line with their email, copied from their profile, under projectMembers or supervisors. If the list is [], replace the brackets with the list:

    projectMembers:
      - researcher1@eng.pdn.ac.lk
      - new.member@eng.pdn.ac.lk
    supervisors:
      - supervisor@eng.pdn.ac.lk
  3. To remove someone, delete their line. To make a researcher a supervisor, move their line from projectMembers to supervisors.

  4. Commit to a new branch and open a pull request.

If the new member has no profile yet, they also add one in marc_people with the same email. The two pull requests can be merged in either order; the person appears on the project page once both are in.

Changing a linking key safely

Renaming the project file. The page address changes, and three things that use the old name must be updated in the same go:

  1. Rename the project’s tab in the publications sheet to the new file name (or ask a maintainer to map it, see Publications).
  2. Ask a website maintainer to update the project’s entry in highlights and projectPublicationTabs in src/data/site.ts, if it has one.
  3. Links to the old address shared elsewhere stop working, so rename only when you really need to.

Changing the project title. Safe as long as the publications tab still matches the file name. If the tab was named after the old title, rename the tab too.

A team member’s email changes. Nothing to do here: they move the old address to otherEmails in their profile, and this project keeps linking to them. See Changing your email or name.

A team member is listed under an address their profile doesn’t have. Ask them to add that address to their otherEmails, rather than editing every project.

Moving the project to another research area. Change researchArea to another of the six names, spelled exactly as listed above.

Description and images

Everything below the closing --- is the project description, in Markdown. Put figures in projects/images/ and reference them as ./images/file-name.jpg, with a short description in the square brackets for screen-reader users. Mathematics can be written with $…$ (inline) and $$…$$ (display).

For the cover image, use a landscape .jpg or .png at least 1200 pixels wide. It is cropped to fit the cards, so keep the subject near the centre. Image paths must match the file names exactly, including upper and lower case.

Publications

A project’s publications come from its tab in the MARC Publications sheet, not from this repository. See Publications.

More detail: the marc_projects README (opens in a new tab).