Skip to main content

A custom Sphinx extension to apply TU Delft styling to a TeachBook

Project description

Sphinx extension: TU Delft theme

Introduction

The default theme in JupyterBook v1 / TeachBook is usually not desired and need to be changed by adding custom stylesheets. The Sphinx-TUDelft-theme extension provides a simple solution to have a uniform theme across all the books created at Delft University of Technology that matches the TU Delft identity.

What does it do?

This extension applies styling changes, being

  • particular colours (different colors for light and dark themes) for:
    • admonitions (e.g. hint, note, tip, error, etc.),
    • proofs (e.g. theorem, axiom, lemma, corollary, etc.),
    • exercises,
    • buttons,
    • badges,
    • custom components,
    • $\LaTeX$,
    • the primary and secondary color of the book (mainly used for typesetting links).
  • particular icons for:
    • proofs (e.g. theorem, axiom, lemma, corollary, etc.),
    • exercises,
    • custom components.

Unless specified otherwise, see Usage, this extension also automatically sets:

  • a Delft University of Technology logo;
  • a Delft University of Technology favicon;
  • the Delft University of Technology preferred fonts;
  • rendering text inside MathJax as the surrounding text;
  • an always visible logo (i.e. a sticky logo);
  • a bigger title.

You can see how the TU Delft theme looks like applied in this example book.

Installation

To implement the TU Delft theme, follow these steps:

Step 1: Install the Package

Install the sphinx-tudelft-theme package using pip:

pip install sphinx-tudelft-theme

Step 2: Add to requirements.txt

Make sure that the package is included in your project's requirements.txt to track the dependency:

sphinx-tudelft-theme

Step 3: Enable in _config.yml

In your _config.yml file, add the extension to the list of Sphinx extra extensions (important: underscore, not dash this time):

sphinx: 
    extra_extensions:
        .
        .
        .
        - sphinx_tudelft_theme
        .
        .
        .

The following Sphinx extra extensions (if used) must be added before this extension:

  • sphinx_proof
  • sphinx_exercise
  • teachbooks_sphinx_grasple

If this is forgotten, the CSS of this extension cannot be applied correctly.

Usage

By following the steps above, the theme will be applied automatically. To see the examples of usage visit the TeachBooks manual.

To use the defined colors inside $\LaTeX$ rendered with MathJax, one should use the command

\class{<color>}{<math>}

where <color> is one of the following colors:

  • tud-red
  • tud-blue
  • tud-green
  • tud-raspberry
  • tud-yellow
  • tud-darkGreen
  • tud-orange
  • tud-cyan
  • tud-gray
  • tud-purple
  • tud-pink
  • tud-darkBlue

and <math> is the $\LaTeX$ that should be rendered in the color <color>.

If a Delft University of Technology logo should not be set (i.e. use logos defined by the user), include the following in your _config.yml file:

sphinx:
  config:
    ...
    tud_change_logo: false

If a Delft University of Technology favicon should not be set (i.e. use a favicon defined by the user), include the following in your _config.yml file:

sphinx:
  config:
    ...
    tud_change_favicon: false

If the Delft University of Technology fonts should not be set (i.e. use fonts defined by the user), include the following in your _config.yml file:

sphinx:
  config:
    ...
    tud_change_fonts: false

If rendering text inside MathJax should not be the same as the surrounding html, include the following in your _config.yml file:

sphinx:
  config:
    ...
    tud_change_mtext: false

If a sticky logo is not preferred, include the following in your _config.yml file:

sphinx:
  config:
    ...
    tud_sticky_logo: false

If the title styling should not be altered (i.e. use title styling defined by the user), include the following in your _config.yml file:

sphinx:
  config:
    ...
    tud_change_titlesize: false

Contribute

This tool's repository is stored on GitHub. The README.md of the branch Manual is also part of the TeachBooks manual as a submodule. If you'd like to contribute, you can create a fork and open a pull request on the GitHub repository. To update the README.md shown in the TeachBooks manual, create a fork and open a merge request for the GitHub repository of the manual. If you intent to clone the manual including its submodules, clone using: git clone --recurse-submodulesgit@github.com:TeachBooks/manual.git.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sphinx_tudelft_theme-1.2.2.tar.gz (188.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sphinx_tudelft_theme-1.2.2-py3-none-any.whl (185.2 kB view details)

Uploaded Python 3

File details

Details for the file sphinx_tudelft_theme-1.2.2.tar.gz.

File metadata

  • Download URL: sphinx_tudelft_theme-1.2.2.tar.gz
  • Upload date:
  • Size: 188.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sphinx_tudelft_theme-1.2.2.tar.gz
Algorithm Hash digest
SHA256 54aab03410f6a0bfa54d137735e09a87f32ed42b7bc63d5c029f589aae965f1c
MD5 c06bca8b1b58ca53b62fa7a95a5a45bb
BLAKE2b-256 34c8ce0a355016ab63ecbf41470faa56d73b520d5643207ef4973677693143a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for sphinx_tudelft_theme-1.2.2.tar.gz:

Publisher: python-publish.yml on TeachBooks/Sphinx-TUDelft-theme

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sphinx_tudelft_theme-1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinx_tudelft_theme-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 58705245392e75b1b933377e2bcf7cce1d46af92575e310c8a29d188ee87b7df
MD5 578550c07eb4bcb1a064e73a421c5cba
BLAKE2b-256 679ba3b5e159b736c62e890288fa2c257a3d05677473747ccc11dafdadb1e21c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sphinx_tudelft_theme-1.2.2-py3-none-any.whl:

Publisher: python-publish.yml on TeachBooks/Sphinx-TUDelft-theme

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page