Skip to main content

splent_feature_public

The public home page of a SPLENT product, served at / (public.index) inside the theme's public shell.

The home knows nothing about content features. It draws the product's brand copy from the SITE_* settings, and every feature that has something for the home contributes it through a template slot. What this feature provides and requires is listed in the [tool.splent.contract] section of pyproject.toml, which splent feature:contract --write keeps in sync with the source.

Slots

Slot What goes in it
home.hero The whole hero. Only for a feature that owns the headline moment (an edition, a campaign). When nothing renders, the home draws its own hero from SITE_*.
home.section Full-width sections (upcoming events, partners, latest posts), in their registered order.
home.aside A narrower column beside the sections (counters, a call to action). Optional.
layout.sidebar.top Filled by this feature with the "Home" entry of the product sidebar.
 no home.aside                    something in home.aside
┌─────────────────────────┐      ┌────────────────┬────────┐
│ home.section            │      │ home.section   │ home.  │
│ home.section            │      │ home.section   │ aside  │
└─────────────────────────┘      └────────────────┴────────┘
                                  under 960px the aside goes
                                  below the sections

The home only splits into two columns when some callback of home.aside returns markup, so a hook can decline on its own (return "") and the sections keep the full width. With an aside and no section, the aside takes the whole width.

A feature fills a slot from its hooks.py, as in this one for home.aside.

from flask import render_template
from splent_framework.hooks.template_hooks import register_template_hook


def home_counters():
    return render_template("hooks/home_counters.html", total=count_items())


register_template_hook("home.aside", home_counters, order=50)

Lower order renders first. Each callback renders a self-contained block (a card, a box). Several of them stack with a gap between them.

The columns are styled by assets/css/home.css (classes home-columns, home-columns__main and home-columns__aside). A skin or a product changes the split with the --home-columns custom property.

.home-columns { --home-columns: minmax(0, 1fr) 20rem; }

Configuration

Declared in [tool.splent.config]. A product overrides them in its own [tool.splent.config].

Key Default What it does
PUBLIC_SIDEBAR_HOME_LINK true Shows the "Home" entry at the top of the product sidebar. A product whose logo already leads to the home page sets it to false.
# the product's pyproject.toml
[tool.splent.config]
PUBLIC_SIDEBAR_HOME_LINK = false

Use it in a product

splent feature:add splent_feature_public

Develop

splent feature:test splent_feature_public
splent feature:contract splent_feature_public

Metadata

Release files for splent-feature-public 1.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for splent-feature-public 1.9.0
File Size Uploaded Provenance
splent_feature_public-1.9.0.tar.gz 22.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for splent-feature-public 1.9.0
File Interpreter ABI Platform
splent_feature_public-1.9.0-py3-none-any.whl Python 3 none any Details

Total release size: 49.4 kB

Release files / splent_feature_public-1.9.0.tar.gz

Download URL splent_feature_public-1.9.0.tar.gz
Size 22.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6ee9f79ffe83a96cf638cafd819073e3458777d3aef46f8449f9ec66a1d36496
BLAKE2b-256 checksum
How to use checksums
82e3df5e4d6ed766f89e6d486b354bfafebf4ee0c61943bdf195112a6d430c13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / splent_feature_public-1.9.0-py3-none-any.whl

Download URL splent_feature_public-1.9.0-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
685a2e1f7dd792d6cba03b146030cb624ace6dfe0860471f2f127ac6cb3108e9
BLAKE2b-256 checksum
How to use checksums
051b061ce7fb56d10d8db0bf6a4ad01138af94f13d3dff1e91a39ee647b3446f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Security for splent-feature-public 1.9.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page