Skip to content

ClearanceClarence/VoidForge-CMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

38 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VoidForge CMS

A modern, lightweight content management system built with pure PHP. No frameworks, no bloat β€” just powerful features and clean code.

Version PHP License

Highlights

  • ⚑ Blazing Fast β€” Sub-50ms page loads, ~400KB total install size
  • 🎨 Visual Block Editor β€” 21+ block types with drag-and-drop and live frontend editing
  • πŸ” Built-in SEO β€” Meta tags, Open Graph, JSON-LD schema, XML sitemap (no plugins needed)
  • πŸ”Œ Extensible β€” WordPress-compatible hooks with 90+ actions and filters
  • πŸ“± Responsive Admin β€” Modern interface with customizable themes
  • πŸ›‘οΈ Secure β€” CSRF protection, XSS filtering, secure sessions

Requirements

  • PHP 8.0 or higher
  • MySQL 5.7 or higher
  • Apache/Nginx with mod_rewrite enabled

Installation

  1. Upload the voidforge folder to your web server
  2. Create a MySQL database
  3. Visit your site URL in a browser
  4. Follow the installation wizard
  5. Log in to the admin panel at /admin

Features

What's New in v0.3.1

  • Home Page Redesign β€” Clean light mode design with gradient accents, updated feature grid, comparison table
  • Comments Overhaul β€” Modern card design, time-ago timestamps, reply indicators, beautiful empty states
  • Media Library Fixes β€” Folder assignment bug fixed, quick delete buttons on hover
  • Comment Form Fixes β€” Correct submission URL, success/error messages, page template support

SEO Tools

Comprehensive search engine optimization built into every page:

  • Meta Tags β€” Custom title, description, and keywords per page
  • Open Graph β€” Facebook and social media sharing optimization
  • Twitter Cards β€” Optimized Twitter/X sharing with image support
  • JSON-LD Schema β€” Structured data for rich search results (WebSite, Organization, Article, BreadcrumbList)
  • XML Sitemap β€” Automatic Google-compatible sitemap at /sitemap.xml
  • Robots.txt β€” Customizable robots.txt at /robots.txt
  • SEO Analysis β€” Real-time scoring (0-100) with actionable suggestions
  • Google Preview β€” Live preview of search result appearance in editor
  • Debug Tools β€” Add ?seo_debug=1 to any page URL to inspect SEO output (admin only)

Anvil Block Editor

A powerful block-based content editor with 21 block types, now available as a bundled plugin:

  • Text: Paragraph, Heading, List, Quote, Code, Table
  • Media: Image, Gallery, Video
  • Layout: Columns, Spacer, Separator, Button, Accordion, Alert, Card
  • Content: Testimonial, Icon Box, Social Links, HTML, Embed

Features include drag-and-drop reordering, inline settings panel, undo/redo (50 levels), and media library integration.

Block Style Variants

Each block supports multiple style variants through the settings panel:

  • Button: Primary, Secondary, Outline, Ghost
  • Alert: Info, Success, Warning, Error
  • Card: Default, Bordered, Flat
  • Testimonial: Default, Bordered, Filled, Minimal
  • Accordion: Default, Bordered, Minimal
  • Icon Box: Default, Boxed, Bordered
  • Social Links: Default, Filled, Outline

Anvil Live Editor

Frontend visual editing with real-time preview:

  • Edit content directly on the live site
  • Drag and drop blocks with visual indicators
  • Inline text editing with rich text toolbar
  • Device preview (desktop, tablet, mobile)
  • Typography controls (size, weight, line height, spacing)
  • Color controls (text, background, links)
  • Border and shadow styling
  • Background options (solid, gradient, image)
  • Entrance animations and hover effects
  • Transform controls (rotate, scale, translate, skew)
  • Responsive visibility toggles
  • Page-level settings (content width, padding, margin)

Content Management

  • Custom Post Types: Create unlimited content types with custom fields, icons, and URLs
  • Custom Fields: 16+ field types including repeaters and groups
  • Taxonomies: Categories, tags, and custom taxonomies
  • Menu Builder: Visual drag-and-drop menu management
  • Post Revisions: Automatic history with compare and restore
  • Media Library: Grid/list views, folders, drag-and-drop uploads
  • Comments: Threaded comments with moderation and guest support
  • Bulk Actions: Multi-select for trash, publish, draft, taxonomy assignment
  • Quick Edit: Inline editing with AJAX save
  • Scheduled Publishing: Publish posts at a future date/time

Administration

  • Modern admin interface with dark sidebar
  • Customizable color schemes and fonts
  • Login screen editor with 80+ settings and 12 presets
  • Live CSS editor for admin and frontend
  • Role-based users (Admin, Editor, Subscriber)
  • 80+ admin icons

Developer Features

  • Plugin System: WordPress-style hooks and filters (90+ available)
  • Theme System: Simple PHP templates with full data access
  • REST API: Full CRUD with API key authentication
  • Shortcodes: [tag] syntax for dynamic content
  • Auto Updates: One-click updates with automatic backups

File Structure

voidforge/
β”œβ”€β”€ admin/              # Admin panel pages and assets
β”‚   β”œβ”€β”€ seo-settings.php    # SEO configuration (5 tabs)
β”‚   β”œβ”€β”€ seo-test.php        # SEO diagnostic tool
β”‚   └── includes/
β”‚       └── seo-metabox.php # Post editor SEO section
β”œβ”€β”€ includes/           # Core PHP classes
β”‚   β”œβ”€β”€ seo.php             # SEO class (meta, sitemap, schema)
β”‚   └── *.php               # Core classes (Post, Media, User, Plugin, etc.)
β”œβ”€β”€ themes/             # Theme files
β”‚   └── flavor/         # Default theme
β”œβ”€β”€ plugins/            # Plugin files
β”‚   └── anvil/          # Bundled Anvil block editor plugin
β”‚       β”œβ”€β”€ includes/   # Block editor classes and 21 block types
β”‚       β”œβ”€β”€ assets/
β”‚       β”‚   β”œβ”€β”€ css/
β”‚       β”‚   β”‚   β”œβ”€β”€ anvil-live.css      # Editor UI styles
β”‚       β”‚   β”‚   └── anvil-frontend.css  # Frontend block styles
β”‚       β”‚   └── js/     # Editor JavaScript modules
β”‚       └── admin/      # Editor UI templates
β”œβ”€β”€ uploads/            # Media uploads
└── docs/               # HTML documentation

Configuration

Database and site settings are in includes/config.php:

define('DB_HOST', 'localhost');
define('DB_NAME', 'your_database');
define('DB_USER', 'your_username');
define('DB_PASS', 'your_password');
define('DB_PREFIX', 'vf_');

define('SITE_URL', 'https://yoursite.com');

Theme Development

Themes live in /themes/your-theme/ and require:

  • theme.json β€” Theme metadata
  • style.css β€” Theme styles
  • index.php β€” Main template
  • header.php / footer.php β€” Layout partials

Basic template example:

<?php get_header(); ?>

<main>
    <?php if (have_posts()): ?>
        <?php foreach (get_posts() as $post): ?>
            <article>
                <h2><?php echo esc($post['title']); ?></h2>
                <?php echo the_content(); ?>
            </article>
        <?php endforeach; ?>
    <?php endif; ?>
</main>

<?php get_footer(); ?>

See /docs/theme-development.html for the complete guide.

Plugin Development

Plugins live in /plugins/your-plugin/ with a main PHP file:

<?php
/**
 * Plugin Name: My Plugin
 * Description: What it does
 * Version: 1.0.0
 */

// Hook into initialization
add_action('init', function() {
    // Your code here
});

// Modify content
add_filter('the_content', function($content) {
    return $content . '<p>Added by plugin!</p>';
});

// Register a shortcode
add_shortcode('hello', function($atts) {
    $name = $atts['name'] ?? 'World';
    return "<p>Hello, {$name}!</p>";
});

See /docs/plugin-development.html for the complete guide.

REST API

API endpoints are available at /api/v1/:

  • GET /posts β€” List posts
  • GET /posts/{id} β€” Get single post
  • POST /posts β€” Create post
  • PUT /posts/{id} β€” Update post
  • DELETE /posts/{id} β€” Delete post

Same pattern for /pages, /media, /users, /taxonomies.

Authentication via API key header:

X-API-Key: your-api-key

Manage API keys at Admin β†’ Settings β†’ API Keys.

See /docs/rest-api.html for the complete reference.

Updating

Automatic Update

  1. Go to Admin β†’ Updates
  2. Upload the new version ZIP
  3. Click Install Update

VoidForge will backup your installation, extract new files, preserve your config/uploads/customizations, and run migrations.

Manual Update

  1. Backup your installation
  2. Replace all files except:
    • includes/config.php
    • uploads/ directory
    • Custom themes and plugins
  3. Visit the admin panel to run migrations

Documentation

  • /docs/plugin-development.html β€” Complete plugin development guide
  • /docs/theme-development.html β€” Theme creation guide
  • /docs/rest-api.html β€” REST API reference

License

MIT License β€” see LICENSE file for details.


VoidForge CMS β€” Modern Content Management

About

VoidForge is a modern, lightweight content management system built with PHP. Simple, fast, and developer-friendly.

Topics

Resources

License

Stars

Watchers

Forks