Research & Projects content
Research and projects are stored as MDX files and rendered by the same layout, with only the directory differing:
src/contents/research # research entries
src/contents/projects # project entriesEach file represents one entry (paper, project, tool, etc.) and must define frontmatter matching the shared metadata shape.
File structure
Example layout:
src/contents/research
├── 2025_chi-paper.mdx
└── 2024_thesis.mdx
src/contents/projects
├── 2025_enju-folio.mdx
└── 2024_suzu-blog.mdxFilenames are for your own organization. Ordering is controlled by frontmatter
INFO
URLs are controlled by the filename. Your filename should be a URL-safe slug (e.g. my-research-project.mdx).
Frontmatter schema
Both research and projects use the same metadata interface:
interface FileMeta {
title: string
authors: string[]
advisors?: string[]
venue?: string
status?: string
role?: string
date: string // This will determine ordering (newest first)
abstract: string
redirect?: string
doi?: string // only the part after doi.org/
url?: string
pdf?: string // external link, drive link, or /public relative path
category?: string
keywords?: string[]
github?: string
thumbnail?: string
}A minimal example:
---
title: 'EnjuFolio: A Config-First Academic Portfolio'
authors:
- Elara Liu
advisors:
- Best Advisor
venue: Personal project
status: Ongoing
role: Lead designer & developer
date: 2025-02
abstract: Config-driven portfolio template built with Next.js and Tailwind CSS.
github: https://github.com/ZL-Asica/EnjuFolio
thumbnail: /images/thumbnails/enjufolio.png
---The body of the file (after the frontmatter) is MDX content and is rendered as the detail page for that entry.
Field behavior
Below is how each field is used by the renderer.
Required for a well-formed entry
These fields are treated as the core identity of an item:
title— Display title shown in lists and on the detail page.authors— Array of author names, displayed as an author line.date— Full date string, used for sorting (newest first). Should be a parseable date string (e.g.2025-02-27or2025-02).abstract— Short description shown in lists and on the detail page.
Entries missing these fields may not render correctly.
Optional metadata
These fields enrich the entry but are not strictly required:
advisorsOptional list of advisor / supervisor names (often used for student work).venueWhere the work “lives”: a conference, journal, lab, short label such as"Personal project", or just left blank.statusHigh-level status such as"In preparation","Preprint","Under review","Published","Ongoing".roleShort description of your role (e.g."Lead author","Co-PI","Developer").categoryFree-form category string (e.g."Paper","System","Toolkit"). Used for lightweight grouping or filtering.keywordsArray of tags/keywords; used for tag displays or search/filter features.
Links & files
These fields control where buttons and external links point:
redirectOptional URL. When set, the main “View” action for an item may prefer this URL (e.g. an external page) instead of the internal detail page.urlGeneral external URL for the work (project website, paper page, etc.).doiOnly the part afterhttps://doi.org/. For example, if the full DOI URL is:texthttps://doi.org/10.1145/1234567.8901234then you should set:
yamldoi: 10.1145/1234567.8901234The theme constructs the full DOI link automatically.
pdfLocation of a PDF file (paper, extended abstract, or slides):- Public Google Drive link
- Direct HTTPS URL
- Relative path under
public/, e.g./papers/my-paper.pdf
Used to render a “PDF” / “Download” style button.
githubLink to the code repository for this work (if applicable).
Visuals
thumbnailOptional image used as the OG image when sharing on social media.It can be:
- A relative path under
public/(e.g./images/thumbnails/my-project.png) - A full remote URL
If no
thumbnailis provided, the layout falls back to home page profile picture.- A relative path under
Summary
- Research and projects share the same metadata shape and rendering logic.
- Files live under
src/contents/researchandsrc/contents/projects. - The frontmatter is what defines identity, ordering, routes, and links.
dateis especially important for correct display and ordering.