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

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:

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:

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!

1 Like