FearlessCMS Theme Development Documentation
Welcome to the FearlessCMS theme development documentation! This collection of guides will help you create beautiful, functional themes for FearlessCMS.
📚 Documentation Index
Getting Started
- Customization Overview - Complete guide to all customization options
- Creating Themes in FearlessCMS - Complete guide to creating themes from scratch
- Theme Development Workflow - Step-by-step development process and best practices
- Template Reference - Complete template syntax and variable reference
- Theme Options Guide - How to implement and use theme options
- Modular Templates - How to use the modular template system for better code organization
- Global UI Enhancements - Optional hamburger and theme toggle controls
- CMS Modes Guide - How to configure and manage CMS operational modes
- File Permissions Guide - Setting up proper file permissions and ownership
- Ad Area System - Conditional advertising system for hosting service modes
- Nightfall Theme Example - Real-world example of a complete theme
- Theme Examples - Browse all available themes for inspiration
- Read the Basics: Start with Creating Themes in FearlessCMS
- Follow the Workflow: Use Theme Development Workflow for step-by-step guidance
- Reference Syntax: Check Template Reference for all available variables and syntax
- Add Options: Learn about Theme Options to make your theme customizable
- Go Modular: Explore Modular Templates for better code organization
- How to create a complete theme from scratch
- Template system and variable usage
- Modular template system for reusable components
- Implementing theme options for customization
- Responsive design principles
- Best practices for theme development
- Testing and deployment strategies
- CMS modes and system administration
- File permissions and security best practices
- Ad area system integration for hosting services
Reference Guides
System Administration
Examples and Tutorials
🚀 Quick Start
🎯 What You'll Learn
📁 Theme Structure
A typical FearlessCMS theme includes:
themes/your-theme/
├── templates/
│ ├── home.html # Homepage template
│ ├── page.html # Individual page template
│ ├── blog.html # Blog listing template
│ ├── 404.html # Error page template
│ ├── header.html # Header module (modular system)
│ ├── footer.html # Footer module (modular system)
│ └── navigation.html # Navigation module (modular system)
├── assets/
│ ├── style.css # Main stylesheet
│ ├── images/ # Theme images
│ └── js/ # JavaScript files
├── theme.json # Theme metadata
├── config.json # Theme options (optional)
└── README.md # Theme documentation
🔧 Key Features
{{module=filename.html}}
Global UI Enhancements (Optional)
FearlessCMS can optionally inject two small UI features across themes:
nav
under 900pxlocalStorage
and applies it via data-theme
on
Enabling/Disabling
Site-level flags in config/config.json
(defaults shown):
json
{
"global_ui_enhancements": true,
"enable_hamburger": true,
"enable_theme_toggle": true
}
Theme-level flags in themes/
:
json
{
"disableGlobalEnhancements": false,
"disableHamburger": false,
"disableThemeToggle": false,
"supportsDarkMode": true
}
To quickly disable on a page/theme without changing JSON, add in your head module:
html
Requirements
header
should contain a nav
. If .header-inner
exists, controls appear before nav
inside it; otherwise they appear before nav
in header
.supportsDarkMode: false
or disableThemeToggle: true
to hide the toggle.Accessibility
aria-expanded
for hamburger).localStorage
(fcms-theme
).💡 Tips for Success
🤝 Contributing
Found an issue or have a suggestion? Contributions are welcome! Please:
📖 Additional Resources
🆘 Getting Help
If you need help with theme development:
🔒 Security Note: Config Directory Location
FearlessCMS supports storing your configuration files outside the webroot for enhanced security. Set the FCMS_CONFIG_DIR
environment variable to point to a secure directory. See File Permissions Guide for details.
---
Happy theme development! 🎨
This documentation is maintained by the FearlessCMS community. Last updated: January 2025