Skip to content

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.