# GSoC 2026 Dark Mode: CSS/JS ownership and branch workflow for code.djangoproject.com

**URL:** <https://forum.djangoproject.com/t/gsoc-2026-dark-mode-css-js-ownership-and-branch-workflow-for-code-djangoproject-com/45202>\
**Category:** Website\
**Created:** [May 30, 2026, 10:34am UTC](https://forum.djangoproject.com/t/gsoc-2026-dark-mode-css-js-ownership-and-branch-workflow-for-code-djangoproject-com/45202 "2026-05-30T10:34:42Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![kehach07](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/kehach07/32/30558_2.png) [@kehach07](https://forum.djangoproject.com/u/kehach07)\
**Post date:** [May 30, 2026, 10:34am UTC](https://forum.djangoproject.com/t/gsoc-2026-dark-mode-css-js-ownership-and-branch-workflow-for-code-djangoproject-com/45202/1 "2026-05-30T10:34:42Z")

</div>

Hi everyone,

I’m working on the Dark Mode implementation for `code.djangoproject.com` as part of GSoC 2026.

While setting up my local environment, I noticed that some CSS and JavaScript assets are copied from `djangoproject.com` into `code.djangoproject.com`:

```auto
cp ../djangoproject.com/djangoproject/static/css/*.css trac-env/htdocs/css/cp ../djangoproject.com/djangoproject/scss/_utils.scss scss/cp -rT ../djangoproject.com/djangoproject/static/js trac-env/htdocs/jsdocker compose exec trac make compile-scss

```

This raised a question about the long-term approach for the Dark Mode work.

### Question 1

For styling changes such as Dark Mode, where should shared CSS and JavaScript ideally live?

- In `djangoproject.com`, with assets copied into `code.djangoproject.com`
- Directly in `code.djangoproject.com`
- Some combination of the two

I’m trying to understand the preferred direction before making larger styling changes.

### Question 2

For development, I’m considering the following branch structure:

```auto
main
└── darkmode
    ├── darkmode-header
    ├── darkmode-ticket-view
    ├── darkmode-wiki
    ├── darkmode-code-browser
    └── darkmode-mobile

```

The idea is to keep a dedicated `darkmode` integration branch and merge smaller feature branches into it before opening the final PR.

Would maintainers prefer this approach, or would separate feature branches and PRs directly against `main` be a better workflow?

Thanks!
