Skip to main content

Configuration Guide

Everything in Personal Landing is configured through the config.json file at the root of your project. This guide covers all available options.

Configuration Structure

The config file has three main parts:

{
"domain": "https://yoursite.com",
"siteSettings": {},
"footerSettings": {},
"sections": []
}

Domain

The base URL of your deployed site. Used for metadata and SEO.

{
"domain": "https://yoursite.com"
}

During development, this can be http://localhost:5173.

Site Settings

Global settings that affect your entire site.

{
"siteSettings": {
"siteName": "Your Name",
"siteDescription": "A brief description of your site",
"metaColor": "#4A90E2"
}
}

Options

FieldTypeDescription
siteNamestringYour name or site title (appears in browser tab and SEO)
siteDescriptionstringSite description for search engines
metaColorstringTheme color for mobile browsers (hex code)

Configure the footer that appears at the bottom of your page.

{
"footerSettings": {
"enabled": true,
"text": "© {date} [{siteName}](https://yoursite.com). All rights reserved."
}
}

Options

FieldTypeDescription
enabledbooleanShow or hide the footer
textstringFooter text (supports variables and markdown links)

You can use these variables in the text field:

  • {date} — Current year (e.g., 2024)
  • {siteName} — Value from siteSettings.siteName

Use markdown syntax for clickable links:

{
"text": "© {date} [{siteName}](https://yoursite.com) • [Privacy](https://yoursite.com/privacy)"
}

Sections

The sections array is where you define what appears on your page and in what order.

Basic Section Structure

Every section has at least these fields:

{
"type": "sectionType",
"enabled": true,
"title": "Section Title"
}

Common Fields

These fields are available for most sections:

FieldTypeRequiredDescription
typestring✅ YesSection type (hero, about, links, etc.)
enabledbooleanNoShow/hide the section (default: true)
titlestringNoSection heading
variantstringNoDesign variant (for sections with multiple styles)

Section Order

Sections appear in the order they're listed in the array:

{
"sections": [
{ "type": "hero", ... }, // Appears first
{ "type": "about", ... }, // Appears second
{ "type": "projects", ... } // Appears third
]
}

Multiple Instances

You can use the same section type multiple times:

{
"sections": [
{
"type": "hero",
"variant": "centered",
"name": "Main Hero"
},
{
"type": "about",
"variant": "split",
"title": "About Me"
},
{
"type": "links",
"variant": "card",
"title": "Social Media"
},
{
"type": "links",
"variant": "minimal",
"title": "Business Links"
}
]
}

Available Section Types

Here's a quick overview of all section types. See the Sections Reference for detailed documentation.

Core Sections

TypeDescriptionVariants
heroPage header with name/taglinecentered, split, minimal, bold, card, links
aboutAbout section with bio and skillscentered, split, card, minimal
linksSocial media and external linksdefault, grid, card, minimal
contactContact form and/or email button-

Content Sections

TypeDescriptionVariants
servicesServices or offerings you provide-
projectsPortfolio projects with tags-
timelineWork experience or education timeline-
testimonialsClient testimonials or reviews-
faqFrequently asked questions-
statsStatistics or achievements-
galleryImage gallerygrid, masonry, lightbox, carousel

Example: Complete Configuration

Here's a complete, minimal config.json:

{
"domain": "https://alexsmith.dev",
"siteSettings": {
"siteName": "Alex Smith",
"siteDescription": "Full-stack developer & designer creating digital experiences",
"metaColor": "#4A90E2"
},
"footerSettings": {
"enabled": true,
"text": "© {date} {siteName}. All rights reserved."
},
"sections": [
{
"type": "hero",
"enabled": true,
"variant": "centered",
"name": "Alex Smith",
"tagline": "Full-stack Developer & Designer",
"avatar": "/img/avatar.png",
"showAvatar": true
},
{
"type": "about",
"enabled": true,
"variant": "centered",
"title": "About Me",
"content": "I'm a passionate developer who loves creating beautiful, functional web applications. With expertise in modern JavaScript frameworks and a keen eye for design, I help bring ideas to life.",
"skills": [
"JavaScript",
"TypeScript",
"Svelte",
"React",
"Node.js",
"Tailwind CSS"
]
},
{
"type": "projects",
"enabled": true,
"title": "Featured Projects",
"items": [
{
"name": "Project One",
"description": "A modern web application built with Svelte",
"url": "https://github.com/alexsmith/project-one",
"tags": ["Svelte", "TypeScript", "PostgreSQL"]
},
{
"name": "Project Two",
"description": "An API platform for developers",
"url": "https://github.com/alexsmith/project-two",
"tags": ["Node.js", "REST", "Docker"]
}
]
},
{
"type": "links",
"enabled": true,
"variant": "card",
"title": "Connect With Me",
"items": [
{
"name": "GitHub",
"url": "https://github.com/alexsmith",
"icon": "github"
},
{
"name": "LinkedIn",
"url": "https://linkedin.com/in/alexsmith",
"icon": "linkedin"
},
{
"name": "Email",
"url": "mailto:[email protected]",
"icon": "email"
}
]
},
{
"type": "contact",
"enabled": true,
"title": "Get In Touch",
"description": "Have a project in mind? Let's talk!",
"button": {
"enabled": true,
"type": "email",
"value": "[email protected]",
"text": "Send Email"
},
"form": {
"enabled": false
}
}
]
}