Common Documentation
File Structure
After unzipping the theme zip file, you will find the following folder and file structure:
Directorythemes/
DirectorythemeName/ (π Main theme folder)
- β¦
- changelog.html (π Links to online changelog)
- documentation.html (π Links to online documentation)
Main Theme Directory Structure
Our theme follows a modular structure for easy customization and scalability.
DirectorythemeName/
Directory.vscode/ (βοΈ VSCode Editor settings & extensions)
- β¦
Directorypublic/ (Static assets: images, videos, fonts)
- β¦
Directoryscripts/ (π Automation scripts)
- β¦
Directorysrc/ (π Core source code)
- __tests__ (π§ͺ Unit & integration tests)
Directoryassets/
Directoryimages/
- β¦
Directoryconfig/ (Site-wide settings)
- config.toml (Global config)
- language.json (Language settings)
- menu.en.json (English menu)
- menu.fr.json (French menu)
- social.json (Social links)
- theme.json (Theme settings)
Directorycontent/ (Content management)
Directoryabout/ (About page)
Directoryenglish/ (π¬π§ English version)
- β¦
Directoryfrench/ (π«π· French version)
- β¦
Directoryhomepage/ (Homepage)
- β¦
Directorypages/ (Static pages: terms, privacy)
- β¦
Directorysections/ (π Reusable sections: hero, testimonials)
- β¦
Directorywidgets/ (Widget content: recent posts)
- β¦
- _file_format.md (Frontmatter docs)
Directoryi18n/ (π Translations)
- en.json (π¬π§ English)
- fr.json (π«π· French)
Directorylayouts/ (Page layouts & UI components)
Directorycomponents/ (Reusable UI elements)
Directorybuttons/
- β¦
Directorycards/
- β¦
Directoryglobal/
- β¦
Directorysections/
- β¦
Directoryseo/
- β¦
Directorysocial/
- β¦
Directoryutilities/
- β¦
Directorywidgets/
- β¦
- LayoutWrapper.astro
- SinglePageLayout.astro
Directoryhelpers/
- β¦
Directoryshortcodes/ (βοΈ Custom MDX components)
- β¦
- Base.astro
Directorylib/ (Shared utilities & hooks)
- β¦
Directorypages/ (Dynamic & static pages)
Directory[β¦lang]/ (Multi-language support)
Directorycareer/
- β¦
Directoryservices/
- β¦
- about.astro
- contact.astro
- index.astro (Homepage)
- 404.astro
- robots.txt.ts (Robots.txt generator)
Directoryplugins/
Directoryodometer/ (Number animations)
- β¦
Directorystyles/
- animation.css
- base.css
- buttons.css
- components.css
- main.css
- navigation.css
- safe.css
- utilities.css
Directorytypes/ (TypeScript definitions)
- β¦
- content.config.ts (Content settings)
- env.d.ts (Env variable types)
- .editorconfig (Code style rules)
- .gitignore (Ignore files in Git)
- .markdownlint.json (Markdown linting)
- .prettierrc (Code formatting)
- astro.config.mjs (Astro config)
- netlify.toml (Netlify settings)
- package.json (Project dependencies & scripts)
- tailwind.config.js (Tailwind settings)
- tsconfig.json (TypeScript config)
- vercel.json (Vercel settings)
- vercel.sh (Vercel deployment script)
Key Directories & Their Purpose
/public
βΆ Static Assets
- Stores images, icons, fonts, and other static files.
- Files inside this folder are accessible via direct URLs (
/images/logo.svg
).
/src
βΆ Main Codebase
- Contains all Astro components, pages, content, and styles.
- Customize layouts, pages, and components here.
/scripts
βΆ Automation Scripts
- Optimizes workflows with utilities like:
generate-favicons.mjs
β Generates favicons for all devices.remove-draft-from-sitemap.mjs
β Removes pages withdraft:true
orexclude_from_sitemap:true
.remove-multilingual.mjs
β Removes all multilingual content & i18n files.
βοΈ Key Configuration Files
astro.config.mjs
- Astro Configuration
- Manages integrations, build settings, and markdown processing.
- For general site settings, modify
config.toml
instead.
config.toml
- Global Settings
- Primary configuration file for theme settings.
- Controls SEO, multilingual options, header navigation button, branding, and content structure.
π SEO & OpenGraph
title
,description
, andkeywords
for metadata.robots_txt
andsitemap
settings for search engines.opengraph.image
for social media previews.
π¨ Theme Customization
blog_folder
,services_folder
, andportfolio_folder
define content structure.sticky_header
,brand_name
, andpagination
settings.
π Multilingual Settings
enable
β Enables/disables multilingual support.default_language
β Defines the primary language.disable_languages
β Lists languages to - disable.
theme.json
- Styling & Typography
- Defines color schemes, font settings, and UI styles.
π¨ Theme Colors
theme_color.primary
β Main brand color.theme_color.body
β Background color.
π Typography
font_family
β Array of fonts including primary, secondary, etc.font_size.base
β Base font size.
Other Important Files
package.json
β Manages dependencies & npm scripts (npm run dev
).tailwind.config.js
β Customize Tailwind CSS.vercel.json
/netlify.toml
β Configuration for deployments.
π Now that you understand the project structure, itβs time to customize the siteβs identity and logo.