Skip to main content

A custom Sphinx extension to easily embed PRIME applets in a Sphinx book

Project description

Sphinx Extension: PRIME applets

Introduction

This extension provides an interface to include PRIME applets with relative ease.

What does it do?

This extension provides one Sphinx directives (applet) that can be used to quickly insert a PRIME applet.

Installation

To use this extension, follow these steps:

Step 1: Install the Package

Install the module sphinx-prime-applets package using pip:

pip install sphinx-prime-applets

Step 2: Add to requirements.txt

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

sphinx-prime-applets

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_prime_applets
        .
        .
        .

Applet directive

```{applet}
:url: lines_and_planes/normal_equation_plane_origin
:fig: Images/image_shown_in_print_version.svg
:name: name_that_is_used_to_refer_to_this_figure
:class: dark-light
:title: This title is shown when you full-screen the applet

A plane through the point $P$.
```

[!NOTE] The url parameter should be the part of the URL after /applet/. So if the full URL is https://openla.ewi.tudelft.nl/applet/lines_and_planes/normal_equation_plane_origin, you should set the parameter to lines_and_planes/normal_equation_plane_origin.

Setting the base URL

By default, the extension uses https://openla.ewi.tudelft.nl/applet/ as the base URL for the applets. If you want to change this, you can set the prime_applets_base_url configuration option in your Sphinx configuration file to the desired base URL. For example:

# In your Sphinx configuration file (e.g., conf.py)
prime_applets_base_url = "https://my-custom-url.com/applet/"

or in YAML format:

# In your Sphinx configuration file (e.g., _config.yml)
sphinx:
    config:
        prime_applets_base_url: "https://my-custom-url.com/applet/"

Parameters for an applet

Some parameters can be set for an applet. Only the url and name parameters are required; the rest is optional. It is recommended to add a status to the applet, which can be unreviewed, in-review or reviewed.

```{applet}
:url: lines_and_planes/normal_equation_plane_origin # Required url
:fig: Images/lines_and_planes/normal_equation_plane_origin.svg  # Image shown in print version
:status: reviewed # default is "unreviewed". Other options are "in-review" and "reviewed"
:name: Fig:InnerProduct:ProjectionVectorLine

A title that describes the applet
```

Optional parameters

Parameter Description Default
fig The path to an image that will be shown in the print version of the document None
title A string that will be shown as the title of the applet when the applet is in fullscreen mode ""
status The status of the applet. Can be unreviewed, in-review or reviewed unreviewed
width The width of the applet in pixels 100%
height The height of the applet in pixels 400px

[!NOTE] If the fig parameter is not defined, the code will insert the image provided by the applet itself as a fallback.

Control parameters

[!WARNING] Work in progress

2D Specific parameters

[!TIP] You should add split-* before the parameter to make it apply to the right scene

Parameter Description Default
position2D The position of the applet in the 2D plane 0,0
zoom2D The zoom level of the applet in the 2D plane 1

3D Specific parameters

[!TIP] You should add split-* before the parameter to make it apply to the right scene

Parameter Description Default
position3D The position of the applet in the 3D plane 0,0,0
zoom3D The zoom level of the applet in the 3D plane 1

Contribute

This tool's repository is stored on GitHub. If you'd like to contribute, you can create a fork and open a pull request on the GitHub repository.

The README.md of the branch manual is also part of the TeachBooks manual as a submodule.

Metadata

By default the applet directive adds metadata to the figure node it creates. This metadata includes information such as author, license, copyright, and source. This information is useful for documentation and attribution purposes. If you want to disable this feature, you can set the prime_applets_metadata configuration option to False in your Sphinx configuration file.

[!NOTE] This extension always loads the extension sphinx_metadata_figure as it depends on it to add metadata to the figures. This means that also the configuration options of that extension are available and if this is not desired, you must disable the workings of that extensions by applying appropriate settings in metadata_figure_settings in your Sphinx configuration file. See the documentation of the sphinx_metadata_figure extension for more information.

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_prime_applets-1.3.0.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

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

sphinx_prime_applets-1.3.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file sphinx_prime_applets-1.3.0.tar.gz.

File metadata

  • Download URL: sphinx_prime_applets-1.3.0.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sphinx_prime_applets-1.3.0.tar.gz
Algorithm Hash digest
SHA256 6fcef8fc491500fafa3f2532b48572f824a4bf05389c2e0e416879871a45d02e
MD5 012bfb0621f50aeff40930361ab4d1dc
BLAKE2b-256 32416c48188f7c879c6b75fbc9a090043c6fb2b49fb9f9e3ff72e48c11f71df0

See more details on using hashes here.

Provenance

The following attestation bundles were made for sphinx_prime_applets-1.3.0.tar.gz:

Publisher: python-publish.yml on TeachBooks/Sphinx-PRIME-applets

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_prime_applets-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinx_prime_applets-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d0cab8edd947b573be6cac8d93192c8cae28906de9969dd233764f07493858d
MD5 932290edbbfa9a99f4e81e77c6518770
BLAKE2b-256 b2e08cb9f05335036bc000e3f92b711ae8b4b6e01f0e964de4291f0445463876

See more details on using hashes here.

Provenance

The following attestation bundles were made for sphinx_prime_applets-1.3.0-py3-none-any.whl:

Publisher: python-publish.yml on TeachBooks/Sphinx-PRIME-applets

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