This project provides a frontend theme based on the Gin admin theme, allowing you to use Gin's visual style on your public-facing website. It adds necessary regions like branding and menus, a page template for frontend display, and restores standard breadcrumb behavior, all while integrating with Gin's design tokens.
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.
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
More in the GIN ecosystem
Most installed first
Activity
Release Timeline
Releases
| Version | Type | Core | Release date | |
|---|---|---|---|---|
| 1.0.0-alpha2 | Pre-release | 10–11 | May 11, 2026 | |
| 1.0.0-alpha1 | Pre-release | 10–11 | May 11, 2026 | |
| 1.x-dev | Dev | 10–11 | May 11, 2026 |