gin_frontend
A Gin sub-theme designed for use as a Drupal site's default (frontend) theme — for the cases where you want Gin's visual language on customer-facing pages, not just admin.
Gin is a fantastic admin theme, but it isn't intended as a public-facing theme: it doesn't render site branding, main navigation, or account-menu blocks in its regions. This sub-theme fills that gap by adding the chrome customers expect, while inheriting everything Gin does well for forms and content rendering.
What it provides
- New regions —
branding,primary_menu,secondary_menu,pre_footer,footer— for the chrome Gin omits. - A page template that renders those regions above the standard Drupal page structure, without Gin's admin-specific sticky toolbar.
- Restored breadcrumb semantics. Gin's
gin_preprocess_breadcrumb()rewrites the first breadcrumb item to a "Back to site" link meaningful only in admin context. On a frontend theme it's nonsensical — this is the site — so this theme restores the first breadcrumb item to the standard "Home" link. No upstream patch required. - Chrome CSS that uses Gin's CSS custom properties (
--gin-color-primary,--gin-spacing-*, etc.) so it tracks Gin's accent color and spacing tokens automatically.
Installation
- Place this theme at
themes/contrib/gin_frontend/(orthemes/custom/gin_frontend/if you're customising it). - Enable it:
drush theme:install gin_frontend. - Set it as your default theme: visit Appearance, or
drush config:set system.theme default gin_frontend. - Place blocks in the new regions:
branding→ Site branding (logo + name + slogan)primary_menu→ Main navigationsecondary_menu→ User account menu
Known limitations
Sub-theme settings (#3280001)
Gin's GinSettings::getAdminTheme() is private and always reads from system.theme.admin, so a sub-theme used as the frontend theme inherits the admin theme's settings (logo, accent color, etc.) rather than its own. The Gin maintainers have marked #3280001 as won't-fix and recommend "override getAdminTheme() in your sub-theme" — but that method is private, and themes can't ship service decorators in Drupal, so this is awkward to address from inside a theme alone.
Practical effect: configure logo, accent color, dark mode, etc. on the admin theme (Gin), and the sub-theme will use the same. If you genuinely need separate frontend settings, pair this theme with a companion module that decorates gin.settings.
Officially-unsupported subtheming
Gin maintainers don't officially support subtheming Gin (see #3187880, #3280001 comments). This theme exists because #3166974 — the meta issue asking for a Gin frontend theme — was closed with a suggestion to build it as a separate contrib project. Use accordingly.
Compatibility
- Drupal 10.3+ / 11+
- Gin 5.x
License
GPL-2.0-or-later, matching Drupal contrib convention.