SynaptikCMS 1.1 — Admin overhaul, New Themes, and 13 new social platforms
I've been hard at work. Shortly after 1.0, here's 1.1. Smaller in scope, but the admin panel got the most significant visual update since the project began.
A redesigned admin
Dark mode. Toggleable from the admin, applied consistently across every screen.
Front-end admin toolbar. When you're logged in, a sticky top bar appears on the front-end with quick access to the dashboard, the editor for the current item, and site settings. Themes integrate via the --snk-adminbar-height CSS custom property — see the theme compatibility docs.
Quick-edit on hover. Hover any row in the content list and the row-level actions appear inline, including a new Duplicate action for articles, pages, and projects.
Modernised UI. A more uniform design system, every icon replaced with cleaner inline SVGs, and a backend refactor: every standalone admin page now uses a shared header.php / footer.php / layout.php pattern instead of duplicating chrome across files.
Homepage SEO fields
The homepage now has its own dedicated SEO tab in Settings — independent meta title, meta description, keywords, OG title, OG description, and OG image. No more reusing the global site title and description when you want something different for the entry page.
Social media — from 5 to 18 platforms
Settings → Social Media gained 13 new platforms: Bluesky, Discord, Mastodon, Pinterest, Reddit, Snapchat, Telegram, Threads, TikTok, Twitch, WhatsApp, X, and YouTube. All rendered as inline SVG icons in the footer. The legacy twitter key is preserved for backward compatibility.
A new theme: Prism
Prism is a flat, colorful theme with a built-in dark/light switcher. It joins the existing roster (Default, Nova, Natura, Vanta, Nihonium, Portfolio, Folio, Mono, Blueish, Darkish, Paper).
Existing themes also got fair parity update:
- Nova and Vanta: added missing support for Related Content and Custom Fields
- Natura: added missing support for shortcodes, Related Content and Custom Fields
- Mono: added missing support for Custom Fields, plus styles for the
[recent_projects]shortcode
Notable fixes
A few bugs are worth calling out:
- Live theme preview could crash with memory exhaustion due to infinite recursion in
loadSettings()→resolve_admin_dir()→loadSettings(). Fixed by readingadmin_dirdirectly from the parsed settings before the request cache is written. [toc]anchor links now include the current page URL instead of resolving to the site root.- Settings text fields (site description, meta fields) were being double-encoded on each save because
htmlspecialchars()ran before JSON storage. Values are now stored raw and encoded only at display time. Existing values were left as-is; if you see&in a field that used to contain&, just save it again. - Canonical URLs are now generated via
cleanUrl()with a normalised trailing slash, instead of echoing$_SERVER['REQUEST_URI']— this resolves the duplicate-content canonical warnings Google Search Console was reporting. _shortcode_parse_attrs()no longer throws on empty quoted attribute values likeurl="".
Plus gallery and CSS fixes across Portfolio, Nova, Natura, and Vanta.
Upgrade
If you're on 1.0, you will see the update banner on your Dashboard. Backup your installation with the Backup and Restore tool first, then the one-click updater handles it. Your content, settings, themes, and uploads are untouched. As always, a pre-update backup is created automatically just in case.
