PHPackages                             cu-boulder/ucb2021\_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. cu-boulder/ucb2021\_base

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

cu-boulder/ucb2021\_base
========================

Drupal 9 2021 base theme for CU Boulder

11621[2 PRs](https://github.com/CuBoulder/ucb2021_base/pulls)Twig

Since Oct 5Pushed 3y ago4 watchersCompare

[ Source](https://github.com/CuBoulder/ucb2021_base)[ Packagist](https://packagist.org/packages/cu-boulder/ucb2021_base)[ RSS](/packages/cu-boulder-ucb2021-base/feed)WikiDiscussions main Synced 4w ago

READMEChangelogDependenciesVersions (9)Used By (0)

ucb2021\_base
=============

[](#ucb2021_base)

Drupal 9 Base theme for CU Boulder web properties

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

[](#installation)

Add below to `composer.json` require section:

```
"cu-boulder/ucb2021_base" : "dev-main"

```

Add to repositories section:

```
{
    "type": "git",
    "url" : "https://github.com/CuBoulder/ucb2021_base.git"
}

```

**Note:** This theme is installed and set as the default with the profile. The theme is not intended to be used without the profile or other `cu-boulder/*` modules.

> To install a local version of Nextpress, follow the steps outlined in the [nextpress-project-template](https://github.com/CuBoulder/nextpress-project-template)

---

Theme Options
-------------

[](#theme-options)

Under `/admin/appearance/settings/ucb2021_base` you can manage various theme settings.

- Set [default values for the theme](#config) in the `ucb2021_base.settings.yml`
- Add more settings to the theme in `hook_system_theme_settings_alter` in [ucb2021\_base.theme](https://github.com/CuBoulder/ucb2021_base/blob/main/ucb2021_base.theme)

Linting
-------

[](#linting)

We are using stylelint and eslint

```
npm install          # install linters
npm run stylelint    # lint css
npm run eslint       # lint js

```

Linting is run automatically on all pull requests, however you can lint files locally too.

- configure eslint in `.eslintrc.json`
- configure styleint in `.stylelint.json`

---

Directory Structure
-------------------

[](#directory-structure)

### .github Directory

[](#github-directory)

Contains the github actions workflow for linting

### config

[](#config)

Contains the default values for the theme settings. If new theme settings are added, update ucb2021\_base.settings.yml with the default values. You can get the configuration by running `lando drush config-get ucb2021_base.settings` and copying the output into the file.

### css

[](#css)

- put styles relating the custom paragraphs in css/paragraphs
- put styles from the styleguide in css/styleguide

### js

[](#js)

Put JavaScript files here

### templates

[](#templates)

Twig template overrides go here including those for the custom page and paragraph types. The packages dedicated to the page and paragraph types should only contain config.

### ucb2021\_base.info.yml

[](#ucb2021_baseinfoyml)

- Define regions
- Add styles to the ckeditor
- Add globally included libraries

### ucb2021\_base.libraries.yml

[](#ucb2021_baselibrariesyml)

Define libraries

### ucb2021\_base.theme

[](#ucb2021_basetheme)

Add theme hooks

### ucb2021\_base.breakpoints.yml

[](#ucb2021_basebreakpointsyml)

This file is used by the Breakpoint and Responsive Image module. These modules are used for making images inserted with the text editor responsive.

###  Health Score

22

—

LowBetter than 23% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/8b717634bb237615f360e13a5b1d2efc6f40cb17f77568f8a6401aa978921b4e?d=identicon)[OSRWebDeploy](/maintainers/OSRWebDeploy)

---

Top Contributors

[![jnicholCU](https://avatars.githubusercontent.com/u/94021017?v=4)](https://github.com/jnicholCU "jnicholCU (176 commits)")[![jcsparks](https://avatars.githubusercontent.com/u/12704433?v=4)](https://github.com/jcsparks "jcsparks (77 commits)")[![brookestevens](https://avatars.githubusercontent.com/u/26030189?v=4)](https://github.com/brookestevens "brookestevens (71 commits)")[![patrickbrown-io](https://avatars.githubusercontent.com/u/85851903?v=4)](https://github.com/patrickbrown-io "patrickbrown-io (51 commits)")[![jacob-korf](https://avatars.githubusercontent.com/u/56124082?v=4)](https://github.com/jacob-korf "jacob-korf (35 commits)")[![timurtripp](https://avatars.githubusercontent.com/u/22628823?v=4)](https://github.com/timurtripp "timurtripp (14 commits)")[![tirazel](https://avatars.githubusercontent.com/u/12451503?v=4)](https://github.com/tirazel "tirazel (8 commits)")[![cathysnider](https://avatars.githubusercontent.com/u/638275?v=4)](https://github.com/cathysnider "cathysnider (6 commits)")

### Embed Badge

![Health badge](/badges/cu-boulder-ucb2021-base/health.svg)

```
[![Health](https://phpackages.com/badges/cu-boulder-ucb2021-base/health.svg)](https://phpackages.com/packages/cu-boulder-ucb2021-base)
```

###  Alternatives

[mustache/mustache

A Mustache implementation in PHP.

3.3k44.6M290](/packages/mustache-mustache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)

PHPackages © 2026

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