Every content file in Academic Pages begins with a YAML front matter block — a section delimited by triple dashes (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/academicpages/academicpages.github.io/llms.txt
Use this file to discover all available pages before exploring further.
---) at the very top of the file. Jekyll reads this block before rendering the page and uses the values to control layout, URL, metadata, and which features are enabled. Fields you omit are either ignored or inherited from the defaults: section of _config.yml, which means most files only need a handful of explicit fields.
What front matter looks like
--- lines is parsed as YAML. The rest of the file is the page body, processed as Markdown (for .md files) or HTML (for .html files).
Common fields shared by all content types
These fields are meaningful on any page or collection item:title
title
Type: string — The page heading displayed at the top of the page and in browser tabs. Also used in list views and social sharing previews.
layout
layout
Type: string — Selects the HTML layout template. Most content uses
single. Talks use talk. The defaults: block in _config.yml sets this automatically per collection, so you rarely need to set it manually.permalink
permalink
Type: string — The URL path for this page, relative to the site root. Always include a trailing slash.
author_profile
author_profile
excerpt
excerpt
Type: string — A short summary shown in list views and used as the meta description for social sharing. Supports basic HTML for inline formatting.
Posts (_posts/)
Blog post files are named YYYY-MM-DD-slug.md. In addition to the common fields, posts support:
| Field | Type | Purpose |
|---|---|---|
date | date | Publication date in YYYY-MM-DD format. Controls sort order in archives. |
tags | list | Tag labels; generates tag archive pages at /tags/. |
categories | list | Category labels; generates category archive pages at /categories/. |
read_time | boolean | Shows an estimated reading time at the top of the post. |
comments | boolean | Enables the comments section (requires a comments provider configured in _config.yml). |
share | boolean | Shows social sharing buttons at the bottom of the post. |
related | boolean | Shows a “Related Posts” section at the bottom of the post. |
The
date field in posts is also encoded in the filename. If the filename date and the front matter date disagree, the front matter value takes precedence.Publications (_publications/)
Each publication file represents one paper, book, or conference entry. The collection and category fields are required for the publications list page to group entries correctly.
| Field | Type | Purpose |
|---|---|---|
collection | string | Must be publications to include this file in the publications collection. |
category | string | Groups entries under a heading on the publications list. Valid values are defined in _config.yml under publication_category: — by default books, manuscripts, and conferences. |
venue | string | Journal name, conference name, or publisher. Shown in list views and on the detail page. |
slidesurl | URL string | Link to a slides PDF or presentation. Rendered as a button on the publication page. |
paperurl | URL string | Link to the paper PDF. Rendered as a button on the publication page. |
bibtexurl | URL string | Link to a .bib BibTeX file. Rendered as a button on the publication page. |
citation | string | Full citation text. Rendered in a smaller font beneath the page body. Supports HTML entities and <i> tags for journal name italics. |
Talks (_talks/)
| Field | Type | Purpose |
|---|---|---|
collection | string | Must be talks. |
type | string | Free-text label such as "Talk", "Tutorial", or "Keynote". Shown in list views. |
venue | string | Institution and department or conference name where the talk was given. |
location | string | City and country of the event. |
date | date | Date of the talk in YYYY-MM-DD format. Controls sort order. |
Teaching (_teaching/)
| Field | Type | Purpose |
|---|---|---|
collection | string | Must be teaching. |
type | string | Course level or format, e.g. "Undergraduate course" or "Workshop". |
venue | string | Institution and department where the course was taught. |
location | string | City and country. |
date | date | Start date of the course; controls sort order. |
Portfolio (_portfolio/)
| Field | Type | Purpose |
|---|---|---|
collection | string | Must be portfolio. |
excerpt | string | Short description shown in the portfolio grid. Supports inline HTML, which allows embedding a thumbnail image. |
Pages (_pages/)
Standalone pages live in _pages/ and support an additional field not available in collections:
| Field | Type | Purpose |
|---|---|---|
redirect_from | list | A list of old URL paths that should redirect to this page’s permalink. Powered by the jekyll-redirect-from plugin. |
How defaults work in _config.yml
Rather than repeating common fields in every file, Academic Pages uses Jekyll’s defaults: block to inject values automatically based on the content type. Here is the full defaults: section from _config.yml:
scope block targets a content type by type name. The values block lists the front matter fields that will be injected if you have not set them yourself in the file. A value set explicitly in a file’s front matter always overrides the default.
You can add your own defaults to this block. For example, if you want all portfolio items to disable
author_profile, add author_profile: false under the portfolio values: block in _config.yml rather than setting it in every file individually.