PHPackages                             cubear/cwd\_project - 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. cubear/cwd\_project

ActiveDrupal-custom-theme

cubear/cwd\_project
===================

A lightweight Drupal 8 child theme, to be used with cubear/cwd\_base; from Cornell University CIT-CD.

3.0.5(2y ago)224[5 issues](https://github.com/CornellCustomDev/cwd_project/issues)[3 PRs](https://github.com/CornellCustomDev/cwd_project/pulls)GPL-2.0+SCSS

Since Sep 9Pushed 1y ago20 watchersCompare

[ Source](https://github.com/CornellCustomDev/cwd_project)[ Packagist](https://packagist.org/packages/cubear/cwd_project)[ RSS](/packages/cubear-cwd-project/feed)WikiDiscussions main Synced 2mo ago

READMEChangelog (10)DependenciesVersions (25)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/28bbff6843a4560784b274c3bbd1082b6b0114c704877065245ac5c850930088/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6375626561722f6377645f70726f6a6563742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/cubear/cwd_project)

Starter Child Theme for CD Projects
===================================

[](#starter-child-theme-for-cd-projects)

See also: [CD Demo](https://github.com/CU-CommunityApps/cd-demo) - a Drupal starter-kit and demo site.

Usage
-----

[](#usage)

### Create a child theme from cwd\_project

[](#create-a-child-theme-from-cwd_project)

1. Grab a copy of this "cwd\_project" folder from the [GitHub repo](https://github.com/CU-CommunityApps/cwd_project).

    - If your site is a fresh clone of CD Demo, you'll already have cwd\_project in `web/themes/custom`.
2. Rename this copy to suit your project. This will effectively be the machine name for your theme (e.g., The College of Ursine Studies at Cornell might be named **cwd\_ursine**.). For consistency, we usually name our folders and files "cwd\_xxxx".

    - CWD is the legacy name for the web development unit of Custom Development. While it's deprecated now, it's still used in many places, and three letters are more distinctive than two. So for now, I recommend just going with it! 😛
3. There are a few files in the starter theme that will also need their filenames updated to match:

    - cwd\_project.info.yml → **cwd\_ursine**.info.yml
    - cwd\_project.libraries.yml → **cwd\_ursine**.libraries.yml
    - cwd\_project.theme → **cwd\_ursine**.theme

        - CSS and JavaScript assets should be renamed too, but don't need to match the theme's machine name. Simplifying to **ursine.css** would be fine, for example.
        - The starter `project.scss` and `project.css` files are empty (except for some breakpoint recommendations in comments). The starter `project.js` is also empty, except for Drupal-specific search code that we commonly need on every project (but also commonly customized).
4. The "project" machine name must also be updated in the contents of the newly renamed **cwd\_ursine.info.yml**. These instances are marked with a `@CUSTOMIZE` comment for extra clarity. For example, in the libraries section:

    - `- 'cwd_project/global-styling' # @CUSTOMIZE` **(line 25)**
5. Also in **cwd\_ursine.info.yml**, the front-facing "CWD Starter Theme" name should be set appropriately. **(line 5)**

    - Optionally, you can also uncomment the libraries reference to custom CKEditor styles. **(lines 27 &amp; 28)**
    - CKEditor styles are already inherited from the Base Theme, so you should only uncomment these two lines if project-specific styles are needed, and they would not be appropriate to add to the Base Theme itself. If you use custom CKEditor styles, you'll need to add a copy of the `css/ckeditor` folder from the Base Theme to your child theme for modification, and update the `templates/ckeditor_templates.js` file as needed.
6. In **cwd\_ursine.libraries.yml**, the references to filenames for CSS and JavaScript assets (named in step 3 above) should be updated. This is also where you will add any additional custom assets for your project.
7. There is also a `screenshot.png` file in the theme which is used in the Drupal CMS. Ask a designer for help updating this!

    - If you want it to match the Base Theme, the typography is done in Avenir Next Medium.
8. Remove composer.json from your new theme (no need to keep it).
9. **⚠️ Proceed with "Drupal" steps below,** including the very important clean-up of cwd\_project.

### Drupal

[](#drupal)

After you create your child theme and commit it to your site repo:

1. Go to /admin/appearance
2. Enable your new child theme and set it as the default.
3. Uninstall cwd\_project.
4. Codify the config for the aforementioned theme changes.
5. Remove cwd\_project from your code repo.

Template sub-folders
--------------------

[](#template-sub-folders)

### Content types and other components

[](#content-types-and-other-components)

Sub-folders called `news`, `events`, `slideshow`, etc., are meant for content types and other components. Broader sub-folders for components are also ok, whatever works best for your project. (For example, on Biotech, it made sense to have a `resources` sub-folder, with templates for Service and Instrument components.)

### `partials`

[](#partials)

Put "partial" templates in here, such as `site-footer.html.twig` and `incl--article-image.html.twig`. These templates do not fill out an entire template, they are pieces of reusable/repeat markup. They can be included straight-up, or with arguments (i.e. `include ... with`).

Example usage:

- `html.html.twig` use of `site-footer.html.twig`
- `news--full.html.twig` use of `incl--article-image.html.twig`

### `overrides`

[](#overrides)

Put full template overrides in here, such as `views-view.html.twig`, `media.html.twig`, `field--post-date.html.twig`, `_block--with-button.html.twig`. These templates are just that: complete templates. They can be included straight-up, or included with arguments, or extended, or embedded.

Example usage:

- TO DO

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 77.4% of commits — single point of failure

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 ~84 days

Recently: every ~55 days

Total

20

Last Release

832d ago

Major Versions

1.0.16 → 2.0.22022-02-24

2.0.4 → 3.0.12023-06-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/34e5251b5d72e755b289fa1744af14521b6b7a78bb9cc5d6ea506ec537b4049e?d=identicon)[woodseowl](/maintainers/woodseowl)

![](https://www.gravatar.com/avatar/7d8763a7c0faea93c6c3ba79b170ffa5cfa7f437564a6b5fb6aebd908aa81bf5?d=identicon)[alisonjo315](/maintainers/alisonjo315)

![](https://www.gravatar.com/avatar/ecfa6dfa37918d6b64a52b1d89d3044cb0df0ddce472f44e105c62ec45b92de2?d=identicon)[philwilliammee](/maintainers/philwilliammee)

![](https://www.gravatar.com/avatar/5c76feb8cb1a158dbe37feac0d7ef1ee7bccb80e2d3cb50fff6fd50f2c48e8ab?d=identicon)[richmarisa](/maintainers/richmarisa)

---

Top Contributors

[![alisonjo315](https://avatars.githubusercontent.com/u/2660348?v=4)](https://github.com/alisonjo315 "alisonjo315 (65 commits)")[![ama39](https://avatars.githubusercontent.com/u/11410369?v=4)](https://github.com/ama39 "ama39 (16 commits)")[![philwilliammee](https://avatars.githubusercontent.com/u/4685094?v=4)](https://github.com/philwilliammee "philwilliammee (2 commits)")[![woodseowl](https://avatars.githubusercontent.com/u/5258410?v=4)](https://github.com/woodseowl "woodseowl (1 commits)")

### Embed Badge

![Health badge](/badges/cubear-cwd-project/health.svg)

```
[![Health](https://phpackages.com/badges/cubear-cwd-project/health.svg)](https://phpackages.com/packages/cubear-cwd-project)
```

PHPackages © 2026

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