Skip to main content

Sphinx html builder capable of multiple build targets (scorm, moodle backup, static website).

Project description

Petlja Builder for Sphinx

This custom Sphinx builder, named PLCTBuilder, extends the functionality of the StandaloneHTMLBuilder to meet specific requirements for packaging content into various formats, such as bare HTML, Moodle backup, or SCORM.

Key Features

Content URI and Player

The content_uri is used by a small web app called a "player" that allows you to navigate through the course. The builder attempts to remove the sidebar, footer, and nav bar by disabling them using Sphinx theme variables. This streamlined content is then packaged up and served on other platforms inside SCORM packages. The player is aware of the architecture of your Sphinx project and just needs the web address specified in content_uri to function correctly.

This allows your students to follow the course on any platform that implements SCORM standard.

Bare HTML Content

The builder provides the ability to generate HTML content suitable for integrating into an e-learning platform.

Moodle Backup

The builder supports packaging content in a format suitable for Moodle (provides you with a moodle backup file).

SCORM

The builder not only facilitates the creation of SCORM-compliant packages, but it also generates two types of packages. One is a holistic package that includes all lectures. The other type is a segmented package, where all the lectures are split up. This allows you to pick and choose which lectures to import, offering flexibility in content selection. When we refer to a "lecture", we are referring to a section that is one level below Sphinx's toc top level.

Hosting Requirements

For the builder to function correctly and display your content on a CMS or eLMS, you need to host your content online. The builder requires a reachable URL to access and display the content generated.

Usage

# conf.py

# Import the Petlja Builder extension
extensions = ['plct-bulder-for-sphinx.builder.plct_builder']

To generate content, use the following command:

sphinx-build -b plct_builder source output

Configuration

Customize the behavior of the builder by updating the Sphinx configuration:

# conf.py

# Set the content URI
content_uri = 'your_content_uri'

# Specify additional build targets (e.g., 'moodle', 'scorm')
additional_build_targets = ['moodle', 'scorm']

License

This custom Sphinx builder is licensed under the MIT License. Feel free to adapt and extend it based on your specific requirements.

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

plct_bulder_for_sphinx-0.0.5.tar.gz (104.7 kB view details)

Uploaded Source

Built Distribution

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

plct_bulder_for_sphinx-0.0.5-py3-none-any.whl (118.6 kB view details)

Uploaded Python 3

File details

Details for the file plct_bulder_for_sphinx-0.0.5.tar.gz.

File metadata

  • Download URL: plct_bulder_for_sphinx-0.0.5.tar.gz
  • Upload date:
  • Size: 104.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for plct_bulder_for_sphinx-0.0.5.tar.gz
Algorithm Hash digest
SHA256 265864a26ee1973403f016f0f65a32a4dbe6eca1756e72876ba37abc989522b9
MD5 73cc40eb409ff6036ab98fee296bcade
BLAKE2b-256 3ed26eba541c503655044411d4ad320aca7bf8e243a3b7cc0cf9b5043af9f1e1

See more details on using hashes here.

File details

Details for the file plct_bulder_for_sphinx-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for plct_bulder_for_sphinx-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3977aecfc1aeee2179f688f1638be81efb263025b143ad30caf50d8703626925
MD5 63ee7ad2c66f1a59c327907d7a79dbe0
BLAKE2b-256 ca5635f16a07195e7c7b1b52e892b9fd904dac5fe4a64a1be66ce3a727f6123d

See more details on using hashes here.

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