Content Collections
Zenith uses Astro Content Collections as the primary way of organizing data. Each folder within the src/content
represents a collection while the each file within the folder represents a collection entry.
Each collection has a custom validation schema specified in the src/content/config.ts
file. The validation applies to the frontmatter of .mdx
entries and to the entire file for .json
entries. Feel free to modify those schemas if you want to create your own components.
Collections list
Below you can find all default collections used by Zenith:
achievements
Entry extension: .mdx
Related components: <Achievement />
name string required
Name of the achievement.
url string
URL address providing a proof of the achievement.
date date
Date when you received the achievement.
issuer string markdown
Name of the organization that issued the achievement.
icon string
Name of the icon representing the achievement.
skills array
Skills related to the achievement. Must be slugs of entries from the skills collection.
basics
Entry extension: .mdx
Related components: <Basics />
, <BasicsLargeImage />
(web only)
name string required
Your full name.
label string
Your current job title or position you are applying for.
image string
Path to your image. Image ratio should be 1:1. Recommended size is at least 512x512 px. Provided path can be relative (start with .
), lead to the /public
directory (start with /
) or be an authorized external URL.
birthdate date
Your date of birth. If provided it will be displayed as your age.
email string
Your email address.
phone string
Your phone number.
country string
Your country of residence.
city string
Your city of residence.
details array
Additional details about you provided as label-value pairs. Values can contain markdown.
socials array
Your social media profiles. Each entry should contain label
, icon
and url
.
education
Entry extension: .mdx
Related components: <Education />
title string required
Title of the degree you received.
institution string required markdown
Name of the institution where you studied.
startDate date required
Date when you started your education.
endDate date
Date when you finished your education.
image string
Path to the educational institution logo. Image ratio should be 1:1. Recommended size is at least 200x200 px. Provided path can be relative (start with .
), lead to the /public
directory (start with /
) or be an authorized external URL.
details array
Additional details about your education provided as label-value pairs. Values can contain markdown.
skills array
Skills you acquired during your education. Must be slugs of entries from the skills collection.
favorites
Entry extension: .mdx
Related components: <Favorite />
title string required
Title of the favorite.
url string required
URL address linking to the favorite.
subtitle string markdown
Text displayed under the title. Usually author of the favorite.
image string
Path to the image of the favorite. Image size and ratio depends on the way you want to display it:
- poster - 3:4 ratio and at least 192x256 px of size.
- person - 1:1 ratio and at least 96x96 px of size.
- favicon - 1:1 ratio and at least 40x40 px of size.
- video - 16:9 ratio and at least 256x144 px of size.
Provided path can be relative (start with .
), lead to the /public
directory (start with /
) or be an authorized external URL.
interests
Entry extension: .mdx
Related components: <Interest />
name string required
Name of the interest.
icon string
Name of the icon representing the interest.
jobs
Entry extension: .mdx
Related components: <Job />
position string required
Your job title.
organization string required markdown
Name of the organization you worked for.
startDate date required
Date when you started working.
endDate date
Date when you finished working.
image string
Path to the organization logo. Image ratio should be 1:1. Recommended size is at least 200x200 px. Provided path can be relative (start with .
), lead to the /public
directory (start with /
) or be an authorized external URL
details array
Additional details about your job provided as label-value pairs. Values can contain markdown.
skills array
Skills you acquired during your job. Must be slugs of entries from the skills collection.
metadata
Entry extension: .json
Related components: <Metadata />
(web only)
title string required
Title of the website. Visible in search results and as the browser tab title. Recommended length is 50-60 characters.
description string required
Description of the website. Visible in search results. Recommended length is 150-160 characters.
openGraph object
Data used for Open Graph (used by social media platforms when sharing the website).
openGraph.image string
Path to the Open Graph image. Image ratio should be 1.91:1. Recommended size is at least 1200x630 px. Provided path can be relative (start with .
), lead to the /public
directory (start with /
) or be an authorized external URL
openGraph.title string
Title of the Open Graph. If not provided, the website title will be used.
openGraph.description string
Description of the Open Graph. If not provided, the website description will be used.
projects
Entry extension: .mdx
Related components: <Project />
name string required
Name of the project.
description string required markdown
Short description of the project.
startDate date required
Date when you started the project.
endDate date
Date when you finished the project.
image string
Path to the project logo. Image ratio should be 1:1. Recommended size is at least 200x200 px. Provided path can be relative (start with .
), lead to the /public
directory (start with /
) or be an authorized external URL
details array
Additional details about the project provided as label-value pairs. Values can contain markdown.
skills array
Skills you acquired during the project. Must be slugs of entries from the skills collection.
references
Entry extension: .mdx
Related components: <Reference />
author object required
Data about the author of the reference.
author.name string required
Full name of the author.
author.url string
URL address linking to the author’s profile.
author.position string markdown
Position of the author in the organization.
author.relationship string markdown
Type of relation between the author and you.
author.image string
Path to the image of the reference author. Image ratio should be 1:1. Recommended size is at least 192x192 px. Provided path can be relative (start with .
), lead to the /public
directory (start with /
) or be an authorized external URL
skills
Entry extension: .mdx
Related components: <Skill />
name string required
Name of the skill.
level string
Level of the skill written in level/total
format (e.g. 3/5).
icon string
Name of the icon representing the skill.
color string
Color of the skill icon. You can use 'light-dark(color1, color2)'
format to apply different colors for light and dark themes. Works only for icons without predefined colors.
url string
URL address to read more about the skill.
translations
Entry extension: .json
Related components: — (provided to global context as translations
prop)
Contains key-value pairs of translations used in some sections. To create a new translation, add a new JSON file with the language code as the filename and provide new value for each key.