Lumio Theme Documentation
File Structure
After unzipping the theme, you will find a structure like this:
Directorythemes/
Directorylumio/ (📌 Main theme folder)
- …
- changelog.html (🔗 Links to online changelog)
- documentation.html (🔗 Links to online documentation)
Main Theme Directory Structure
Lumio follows a modular structure focused on content collections, reusable section components, and configurable JSON/TOML settings.
Directorylumio/
Directorypublic/
Directoryimages/
- …
Directoryplyr/
- …
Directoryvideos/
- …
Directoryscripts/
- generate-favicons.mjs
- generate-multilingual-content.mjs
- remove-draft-from-sitemap.mjs
- remove-multilingual.mjs
- toml-watcher.mjs
Directorysrc/
- tests / (Unit tests)
Directoryassets/
Directoryimages/
- …
Directoryconfig/ (Site-wide settings)
- config.toml
- fonts.json
- language.json
- menu.en.json
- menu.fr.json
- social.json
Directorycontent/ (Markdown/MDX content)
Directoryabout/
- …
Directoryblog/
- …
Directorycase-studies/
- …
Directorycontact/
- …
Directoryfaq/
- …
Directoryfeatures/
- …
Directoryhomepage/
- …
Directorypages/
- …
Directorypricing/
- …
Directorysections/
- …
Directoryservices/
- …
Directoryteam/
- …
Directorytestimonial/
- …
Directorywidgets/
- …
Directoryi18n/
- en.json
- fr.json
Directorylayouts/
Directorycomponents/
Directorycards/
- …
Directoryglobal/
- …
Directorysections/
- …
Directoryseo/
- …
Directorysocial/
- …
Directoryutilities/
- …
Directorywidgets/
- …
Directoryhelpers/
- …
Directoryshortcodes/
- …
- Base.astro
Directorylib/
Directoryutils/
- …
Directorypages/
Directory[…lang]/
- index.astro
- about.astro
- contact.astro
- faq.astro
- home-two.astro
- home-three.astro
- pricing.astro
- team.astro
Directoryblog/
- …
Directorycase-studies/
- …
Directoryservices/
- …
- 404.astro
- robots.txt.ts
Directoryplugins/
Directoryodometer/
- …
- scroll-menu.ts
- sticky-sidebar.js
Directorystyles/
- animation.css
- base.css
- buttons.css
- components.css
- global.css
- navigation.css
- safe.css
- theme.css
- utilities.css
Directorytypes/
- …
- content.config.ts
- sections.schema.ts
Key Directories & Their Purpose
/public⟶ Static Assets
- Stores direct public assets such as favicons, Open Graph images, videos, and player assets.
- Files in this folder are available by URL, such as
/images/og-image.jpg.
/src/content⟶ Editable Theme Content
- Holds almost all user-editable content for pages and reusable sections.
- Most multilingual content lives inside
english/andfrench/subfolders.
/src/layouts⟶ Components, Sections, and Shortcodes
- Lumio stores its UI components under
src/layouts/components/. - The project uses path aliases like
@/components/..., which map tosrc/layouts/components/.... - MDX shortcodes live in
src/layouts/shortcodes/.
/scripts⟶ Build Helpers
toml-watcher.mjsgenerates config output fromconfig.toml.generate-multilingual-content.mjsandremove-multilingual.mjshelp manage language content.generate-favicons.mjscreates favicon assets from the source logo.
⚙️ Key Configuration Files
astro.config.mjs- Astro Configuration
- Configures Astro integrations, markdown plugins, sitemap generation, image behavior, i18n routing, and Tailwind.
- Fonts are generated from
src/config/fonts.json.
src/config/config.toml- Global Theme Settings
- Main control file for site identity, SEO, contact info, content folders, forms, multilingual settings, navigation button, announcement bar, and copyright.
🔍 SEO & OpenGraph
[seo]controls author, keywords, robots, sitemap, and robots.txt behavior.[opengraph]controls preview image, locale, and card metadata.
🎨 Theme & Content Settings
blogFolderservicesFoldercaseStudiesFolderstickyHeaderpaginationcontactFormActioncontactFormProvider
🌎 Multilingual Settings
settings.multilingual.enablesettings.multilingual.defaultLanguagesettings.multilingual.disableLanguagessettings.multilingual.showDefaultLangInUrl
src/content.config.ts- Content Collections
- Defines collections for pages, services, blog, case studies, team, testimonials, sections, and more.
- Reuses schemas from
src/sections.schema.ts.
Styling & Fonts
- Theme tokens and design variables live in
src/styles/theme.css. - Fonts are configured in
src/config/fonts.json.
Other Important Files
package.json→ Dependencies and npm scripts.tsconfig.json→ Path aliases such as@/components/*,@/shortcodes/*, and@/helpers/*.vercel.json/netlify.toml/vercel.sh→ Deployment configuration.
Now that you understand the structure, the next step is branding the site and configuring the logo.