FearlessCMS Customization Overview

FearlessCMS Customization Overview

Introduction

FearlessCMS is designed to be highly customizable while maintaining simplicity and performance. This guide provides an overview of all the ways you can customize your FearlessCMS installation.

🎨 Theme Customization

Creating Custom Themes

The primary way to customize FearlessCMS is through themes. Themes control the visual appearance and layout of your website.

Key Features:

Getting Started:

Theme Options System

Allow users to customize themes without editing code:

Available Option Types:

Example:

{
    "options": {
        "primaryColor": {
            "type": "color",
            "label": "Primary Color",
            "default": "#007bff"
        },
        "showSidebar": {
            "type": "checkbox",
            "label": "Show Sidebar",
            "default": true
        }
    }
}

Usage in Templates:

<div class="theme-{{themeOptions.primaryColor}}">
    {{#if themeOptions.showSidebar}}
        <aside class="sidebar">...</aside>
    {{/if}}
</div>

🔌 Plugin Development

Creating Custom Plugins

Extend FearlessCMS functionality with custom plugins:

Plugin Capabilities:

Getting Started:

Built-in Plugins

FearlessCMS includes several built-in plugins:

🎛️ System Configuration

CMS Modes

Configure FearlessCMS for different environments:

Available Modes:

Configuration:

// In config/config.json
{
    "mode": "production",
    "debug": false,
    "maintenance": false
}

Getting Started:

File Permissions

Proper file permissions are crucial for security and functionality:

Critical Directories:

Security Best Practices:

Getting Started:

📝 Content Customization

Content Structure

Customize how content is organized and displayed:

Content Types:

Content Fields:

Template Variables

Access dynamic content in templates:

Page Variables:

Site Variables:

Menu Variables:

🎯 Advanced Customization

Modular Templates

Break down templates into reusable components:

Module Syntax:

{{module=header.html}}
{{module=footer.html}}
{{module=navigation.html}}

Benefits:

Getting Started:

SASS/SCSS Support

Use SASS for advanced CSS development:

Features:

Getting Started:

Custom JavaScript

Add interactive functionality:

Integration Methods:

Best Practices:

🔧 Development Workflow

Local Development

Set up a development environment:

  1. Install FearlessCMS locally
  2. Configure Development Mode for debugging
  3. Set Proper Permissions for file operations
  4. Create Test Content for development
  5. Use Version Control for theme/plugin development

Testing

Ensure your customizations work correctly:

Deployment

Deploy customizations to production:

  1. Switch to Production Mode for performance
  2. Set Proper Permissions for security
  3. Optimize Assets (minify CSS/JS, compress images)
  4. Test Thoroughly before going live
  5. Monitor Performance after deployment

📚 Resources

Documentation

Examples

Community

🎯 Best Practices

Security

Performance

Built-in Page Caching

FearlessCMS includes a built-in file-based page caching system for public (non-logged-in) pages. When a public page is requested, the generated HTML is saved as a static file in the cache/ directory and served for subsequent requests for up to 5 minutes. This greatly improves performance and reduces server load. The cache is automatically cleared whenever content is updated via the admin interface, ensuring visitors always see the latest version of your site.

Maintainability

Accessibility


Happy customizing! 🚀

This guide covers the main customization options in FearlessCMS. For detailed information on specific topics, refer to the individual documentation files.