Front-end root /
| File | Role |
index.php | Main front-end router |
functions.php | Front-end utilities — includes core-functions, data-functions, theme-api, data-layer |
core-functions.php | Routing, breadcrumbs, galleries, search helpers |
data-functions.php | Routing, SEO, category/tag page rendering, parseRequestUri() |
data-layer.php | Read-only split-file layer (sl_* functions, internal $GLOBALS cache) |
admin-data-layer.php | Write split-file layer (sl_admin_* functions, atomic operations) |
tf-page.php | Page renderers: SEO tags, header scripts, logo/favicon, featured image, date, category, tags, footer, social icons, search UI |
tf-cards.php | Card renderers: article/project cards, homepage sections, article summary, related items, custom fields |
tf-shortcodes.php | render_content_html() pipeline, all shortcode render functions, contact form, excerpt helpers |
tf-navigation.php | Navigation and menu rendering: render_menu(), renderHierarchicalMenu(), renderDefaultMenu() |
tf-markdown.php | Markdown parser: _md_to_html(), _md_inline(), container directives (:::type) |
theme-api.php | Hooks, filters, theme options system |
install.php | First-run installer |
lang-cache.php | i18n cache and locale management (__t(), _e(), lang_js_bridge()) |
lang-switch.php | Front-end language switching handler |
search.php | Search endpoint (JSON, mb_* safe) |
contact-process.php | Contact form handler (CSRF, rate-limit, hCaptcha, header injection guard) |
feed.php | RSS feed |
settings.json | Site settings flat-file database |
version.json | Current CMS version |
Data directory /data/
data/
├── articles/
│ ├── _index.json — Lightweight index (metadata only)
│ ├── my-article.json — Full article data (content, SEO, galleries, all fields)
│ └── other-article.json
├── pages/
│ ├── _index.json
│ └── my-page.json
├── projects/
│ ├── _index.json
│ └── my-project.json
├── categories.json — Category store (slug → {name, parent, description})
└── tags.json — Tag store (slug → {name, description})
Other key directories
| Path | Purpose |
/bckps/ | Database backups and CSS editor backups — direct access blocked by .htaccess |
/bckps/css/ | CSS editor backups (style-YYYYMMDD-HHmmss.css) |
/files/ | Media uploads |
/css/ | System CSS (gallery layouts, lightbox, search, shortcodes) |
/js/main.js | Front-end JS (search engine, UI) |
/lang/ | Front-end locale files (en.json, fr.json, es.json…) |
/lang/admin/ | Admin panel locale files |
/private/contact.secret | 32-byte HMAC key for contact form CSRF tokens |
/private/contact_rate.json | Rate-limiting data per IP (max 5/hour, SHA-256 hashed IPs) |
/theme/ | Themes directory |
/admin/drafts/ | Autosave draft files (draft_*.json) |
Admin panel /admin/
| File | Role |
index.php | Admin router (dispatches via ?action=) |
dashboard.php | Dashboard page |
content.php | Content management hub |
file-manager.php | Media manager (drag & drop) |
css-editor.php | Integrated CSS editor (active theme, CodeMirror 5, auto-backups) |
batch-optimize.php | Batch image optimisation and WebP conversion |
seo-overview.php | SEO overview for all published content |
sitemap-generator.php | Sitemap generator |
settings.php | Settings handler |
theme-preview.php | Live theme preview (HMAC token-based) |
theme-upload.php | ZIP theme import endpoint |
autosave.php | Draft autosave AJAX endpoint |
auth.php | Authentication (login/logout) |
alt-text-assistant.php | Gallery image alt text and caption management |
backup-dl.php | Secure backup download proxy |
list-content.php | AJAX endpoint for server-side pagination, search, and sorting |
preview.php | Post preview (published and unpublished, HTML and Markdown) |
forgot-password.php | Password reset request with email link |
reset-password.php | Password reset form |
change-password.php | In-admin password change |
Admin templates /admin/templates/
| Template | Renders |
content-add.php | Add content form |
content-edit.php | Edit content form |
content-list.php | Content list table |
menu-builder.php | Visual menu builder |
settings-view.php | Settings page |
theme-manager.php | Theme manager with live preview |
categories-manage.php | Category management |
tags-manage.php | Tag management |
drafts.php | Drafts list |
backup.php | Backup management |
account.php | Account settings (name, password) |
tools-view.php | Tools page (sitemap, SEO overview, etc.) |
contact.php | Contact form settings |