betty.project.extension.webpack package

Subpackages

Submodules

Module contents

Integrate Betty with Webpack.

This module is internal.

class betty.project.extension.webpack.PrebuiltAssetsRequirement[source]

Bases: Requirement

Check if prebuilt assets are available.

is_met() bool[source]

Check if the requirement is met.

summary() Localizable[source]

Get the requirement’s human-readable summary.

final class betty.project.extension.webpack.Webpack[source]

Bases: ShorthandPluginBase, Extension, CssProvider, Jinja2Provider

Integrate Betty with Webpack.

This is internal. It MAY be used anywhere in Betty’s source code, but MUST NOT be used by third-party code.

__init__(project: Project, public_css_paths: Sequence[str])[source]

This is private. It MUST NOT be used anywhere outside its containing scope.

classmethod assets_directory_path() Path[source]

Return the path on disk where the extension’s assets are located.

This may be anywhere in your Python package.

property filters: Mapping[str, Callable[[...], Any]]

Jinja2 filters provided by this extension.

Keys are filter names, and values are the filters themselves.

new_context_vars() Mapping[str, Any][source]

Create new variables for a new jinja2.runtime.Context.

Keys are the variable names, and values are variable values.

async classmethod new_for_project(project: Project) Self[source]

Create a new instance using the given project.

async prebuild(job_context: Context) None[source]

Prebuild the Webpack assets.

property public_css_paths: Sequence[str]

The public URL paths to the CSS files to include in each HTML page.

register_event_handlers(registry: EventHandlerRegistry) None[source]

Register event handlers with the project.

async classmethod requirement() Requirement[source]

Define the requirement for this extension to be enabled.

This defaults to the extension’s dependencies.