PHPackages                             gent-drupal/gent\_base - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. gent-drupal/gent\_base

ActiveDrupal-theme[Templating &amp; Views](/categories/templating)

gent-drupal/gent\_base
======================

Drupal contrib theme for styleguide Gent.

7.3.6(1w ago)640.5k↓79.8%3[1 PRs](https://github.com/StadGent/drupal_theme_gent-base/pulls)GPL-2.0-or-laterTwigPHP ^8.3

Since Jan 11Pushed 1mo ago6 watchersCompare

[ Source](https://github.com/StadGent/drupal_theme_gent-base)[ Packagist](https://packagist.org/packages/gent-drupal/gent_base)[ Docs](https://bitbucket.org/digipolisgent/drupal_theme_gent-base)[ RSS](/packages/gent-drupal-gent-base/feed)WikiDiscussions 7.x Synced 1w ago

READMEChangelog (10)Dependencies (20)Versions (104)Used By (0)

Drupal 10/11 base theme using the styleguide of Stad Gent.
==========================================================

[](#drupal-1011-base-theme-using-the-styleguide-of-stad-gent)

This Drupal 10/11 theme is based on the style guide of Stad Gent.

[![Maintainability](https://camo.githubusercontent.com/d4096ee8a5608247cc512e6d3380922a840a2b4a981b7c2abcaa377a5c9b4cfb/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f30393063343566666430386132333730636430642f6d61696e7461696e6162696c697479)](https://codeclimate.com/repos/5a5c70e7f5f0e502a80009f1/maintainability)

It is included in the root of this theme inside the `styleguide` directory. This is also the place where the style guide code gets maintained to be published as an NPM package.

Dependencies
------------

[](#dependencies)

- [Twig Typography module](https://www.drupal.org/project/twig_typography): This module is used to apply smart hyphenation to large sized titles. See `paragraph--call-to-action.html.twig` as example.

    Copy the typography\_defaults.yml from the gent\_base theme root to your custom theme root and adjust if needed.

    See [typography settings](https://github.com/mundschenk-at/php-typography/blob/main/src/class-settings.php)for all possible 'set' options.

Installation
------------

[](#installation)

To install and use this base theme and a subtheme of it follow these steps:

- Add the `gent_base` php package from District09 Repman packagist to your Drupal composer.json file: By adding the post install and post update commands we ensure that the gent\_base theme is installed correctly and everything is ready to use.

    ```
    "repositories": {
        "drupal": {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        },
        "repman-district09": {
            "type": "composer",
            "url": "https://district09.repo.repman.io"
        },
    },
    "require": {
        "gent-drupal/gent_base": "^6.0"
    },
    "scripts": {
      "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold",
      "pre-install-cmd": [
        "DrupalProject\\composer\\ScriptHandler::checkComposerVersion"
      ],
      "pre-update-cmd": [
        "DrupalProject\\composer\\ScriptHandler::checkComposerVersion"
      ],
      "post-install-cmd": [
        "DrupalProject\\composer\\ScriptHandler::createRequiredFiles",
        "@composer --working-dir=web/themes/contrib/gent_base install -n --no-dev --no-progress"
      ],
      "post-update-cmd": [
        "DrupalProject\\composer\\ScriptHandler::createRequiredFiles",
        "@composer --working-dir=web/themes/contrib/gent_base install -n --no-dev --no-progress"
      ]
    },

    ```
- Install the base theme by running `composer install` in the root of your Drupal project.
- Navigate into gent\_base: `cd web/themes/contrib/gent_base`
- Setup the gent\_base basetheme with composer: `composer install`
- Copy the starterkit folder to /themes/custom of your Drupal installation and just follow the installation instructions in the `INSTALL.md` file.

Done!

### CKEditor in-editor styling support

[](#ckeditor-in-editor-styling-support)

Also add the following hook to a custom module in order to make the in-editor styling work correctly:

```
/**
 * Implements hook_preprocess_HOOK() for html.
 */
function MYMODULE_preprocess_html(array &$variables) {
  // Check if the current page is using the admin theme.
  if (\Drupal::service('router.admin_context')->isAdminRoute()) {
    // Add a custom body class.
    $variables['attributes']['class'][] = 'cs--blue';
  }
}

```

In your subtheme info yml file, load the base CKEditor stylesheet:

```
ckeditor5-stylesheets:
  - /themes/contrib/gent_base/build/css/ckeditor5.css

```

Optional: add project-specific overrides:

```
ckeditor5-stylesheets:
  - /themes/contrib/gent_base/build/css/ckeditor5.css
  - build/css/ckeditor5.project.css

```

### CKEditor CSS build flow

[](#ckeditor-css-build-flow)

This section documents the CKEditor setup used by `gent_base` and subthemes.

1. Source of base CKEditor styles: `/themes/contrib/gent_base/source/sass/ckeditor/_ckeditor5.scss`and `/themes/contrib/gent_base/source/sass/ckeditor/_ckeditor-content.scss`.
2. Entry file compiled by gulp: `/themes/contrib/gent_base/source/sass/ckeditor5.scss`.
3. Build task: `styles:ckeditor` in `/themes/contrib/gent_base/source/gulpfile.js`.
4. CK-specific post-processing (selector rewrite + rem scaling): `normalizeCkeditorCss()` in `/themes/contrib/gent_base/source/gulp/ckeditor-css.js`.
5. Output CSS used by subthemes: `/themes/contrib/gent_base/build/css/ckeditor5.css`.
6. Optional subtheme overrides: Create `source/sass/ckeditor5.project.scss` in your subtheme and include `build/css/ckeditor5.project.css` after the base file in `ckeditor5-stylesheets`.

Notes:

- The base file should contain the reusable default behavior.
- Keep subtheme overrides small and project-specific.
- If no overrides are needed, omit `ckeditor5.project.scss` entirely.

Theming considerations
----------------------

[](#theming-considerations)

### The $styleguide-dir variable

[](#the-styleguide-dir-variable)

This theme overrides Styleguide's `$styleguide-dir` variable pointing to the directory of the style guide within the gent\_base theme for your Drupal installation. Styleguide itself has no clue of Drupal, so we make sure in a Drupal context, we can find the styleguide location. When needed, this variable can be used to point to styleguide resources such as icons, fonts, images, ...

###  Health Score

67

—

FairBetter than 99% of packages

Maintenance95

Actively maintained with recent releases

Popularity36

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity95

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~9 days

Total

93

Last Release

13d ago

Major Versions

4.x-dev → 5.0.32022-07-05

5.2.3 → 6.0.0-beta12024-01-24

5.2.5 → 6.0.02024-12-19

5.2.7 → 6.0.102025-08-07

6.x-dev → 7.0.02025-09-29

PHP version history (4 changes)3.1.1PHP &gt;=7.2

4.2.0PHP ^7.3

5.0.0PHP ^7.4 || ^8.1

6.0.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/fd0af1f056fd3baa2df55c0c745ade4d0f8af99505f717bf0ad48d7b615a2153?d=identicon)[Jelle-S](/maintainers/Jelle-S)

![](https://www.gravatar.com/avatar/f30734add9a5b1cca1c8676726ec19945f7bd3ba355564d8e23d3f00f5778bda?d=identicon)[d09-web-ci](/maintainers/d09-web-ci)

---

Top Contributors

[![meirege](https://avatars.githubusercontent.com/u/30627591?v=4)](https://github.com/meirege "meirege (1696 commits)")[![hstandaert](https://avatars.githubusercontent.com/u/4415097?v=4)](https://github.com/hstandaert "hstandaert (903 commits)")[![delrueba](https://avatars.githubusercontent.com/u/31842807?v=4)](https://github.com/delrueba "delrueba (763 commits)")[![Jeroen005](https://avatars.githubusercontent.com/u/2283257?v=4)](https://github.com/Jeroen005 "Jeroen005 (327 commits)")[![filipheymans](https://avatars.githubusercontent.com/u/20460813?v=4)](https://github.com/filipheymans "filipheymans (234 commits)")[![interx](https://avatars.githubusercontent.com/u/345857?v=4)](https://github.com/interx "interx (196 commits)")[![lennartvava](https://avatars.githubusercontent.com/u/25999316?v=4)](https://github.com/lennartvava "lennartvava (189 commits)")[![SvenVdv](https://avatars.githubusercontent.com/u/6322493?v=4)](https://github.com/SvenVdv "SvenVdv (148 commits)")[![Krispijn-Joseph](https://avatars.githubusercontent.com/u/6209713?v=4)](https://github.com/Krispijn-Joseph "Krispijn-Joseph (122 commits)")[![mattiasberlamont](https://avatars.githubusercontent.com/u/43444008?v=4)](https://github.com/mattiasberlamont "mattiasberlamont (118 commits)")[![zero2one](https://avatars.githubusercontent.com/u/133124?v=4)](https://github.com/zero2one "zero2one (76 commits)")[![MPParsley](https://avatars.githubusercontent.com/u/1823998?v=4)](https://github.com/MPParsley "MPParsley (64 commits)")[![jeroendegloire](https://avatars.githubusercontent.com/u/13023723?v=4)](https://github.com/jeroendegloire "jeroendegloire (62 commits)")[![wim-vantomme](https://avatars.githubusercontent.com/u/29542426?v=4)](https://github.com/wim-vantomme "wim-vantomme (52 commits)")[![orabina](https://avatars.githubusercontent.com/u/48244596?v=4)](https://github.com/orabina "orabina (36 commits)")[![CaliJens](https://avatars.githubusercontent.com/u/29251551?v=4)](https://github.com/CaliJens "CaliJens (33 commits)")[![Jelle-S](https://avatars.githubusercontent.com/u/1828542?v=4)](https://github.com/Jelle-S "Jelle-S (25 commits)")[![matthijs-va](https://avatars.githubusercontent.com/u/10596780?v=4)](https://github.com/matthijs-va "matthijs-va (25 commits)")[![Michaelvdwalle](https://avatars.githubusercontent.com/u/107845806?v=4)](https://github.com/Michaelvdwalle "Michaelvdwalle (23 commits)")[![thomasfava](https://avatars.githubusercontent.com/u/7940841?v=4)](https://github.com/thomasfava "thomasfava (21 commits)")

---

Tags

d09check22drupaljavascriptnodejswebdrupalthemegent

### Embed Badge

![Health badge](/badges/gent-drupal-gent-base/health.svg)

```
[![Health](https://phpackages.com/badges/gent-drupal-gent-base/health.svg)](https://phpackages.com/packages/gent-drupal-gent-base)
```

###  Alternatives

[almasaeed2010/adminlte

AdminLTE - admin control panel and dashboard that's based on Bootstrap 4

45.4k8.8M145](/packages/almasaeed2010-adminlte)[bk2k/bootstrap-package

Bootstrap Package delivers a full configured frontend theme for TYPO3, based on the Bootstrap CSS Framework.

355939.0k92](/packages/bk2k-bootstrap-package)[silverstripe-themes/simple

The SilverStripe simple theme (default SilverStripe 3 theme)

411.3M8](/packages/silverstripe-themes-simple)[tales-from-a-dev/flowbite-bundle

A Symfony form theme for Flowbite

88281.5k2](/packages/tales-from-a-dev-flowbite-bundle)[andreia/filament-nord-theme

A minimalist Arctic Nord theme for FilamentPHP

13640.5k2](/packages/andreia-filament-nord-theme)[openplain/filament-shadcn-theme

Shadcn UI theme for Filament - Beautiful color themes with the iconic Shadcn design system

4740.5k8](/packages/openplain-filament-shadcn-theme)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
