Skip to main content

OutfitKit Jinja macros — semantic HTML components on top of the OutfitKit CSS library.

Project description

OutfitKit

Librería CSS de componentes para aplicaciones web. ~260 bloques semánticos con prefijo ok-*, BEM-light, themeable vía CSS custom properties.

Cero JS obligatorio. Cero build pipeline para consumidores. Un solo <link> y listo.

Uso (consumidor solo CSS)

Producción — bundle minificado

<link rel="stylesheet"
      href="https://cdn.jsdelivr.net/gh/OutfitKit/outfitkit@latest/dist/outfitkit.min.css">

<button class="ok-btn ok-btn--primary">Continuar</button>

Desarrollo — fuente sin minificar

Útil para inspeccionar reglas en DevTools sin pasar por la minificación:

<link rel="stylesheet"
      href="https://cdn.jsdelivr.net/gh/OutfitKit/outfitkit@main/css/outfitkit.css">

outfitkit.css es un archivo de @import que carga tokens.css, base.css, utilities.css y los 44 archivos de components/. Los navegadores modernos resuelven los @import sin problema.

Macros Jinja (opcional)

Si tu backend es Python con Jinja2 (FastAPI, Flask, Django+jinja2 backend), puedes consumir los componentes como macros:

pip install outfitkit             # macros vanilla
pip install outfitkit[jinjax]     # + sintaxis HTML-like <Button label="x" />

Las macros viven en showcase/ y se publican desde ahí a PyPI. Cualquier macro funciona con o sin JinjaX (formato dual-mode).

Sitio de demos

Componentes en vivo con código fuente al lado, navegable: https://outfitkit.github.io/outfitkit/

Estructura del repositorio

outfitkit/
├── css/                ← fuentes CSS sin minificar (lo que editas)
│   ├── tokens.css      ← variables --ok-* (paleta, spacing, themes)
│   ├── base.css        ← reset + tipografía
│   ├── utilities.css   ← .ok-flex, .ok-gap-*, .ok-text-*
│   ├── outfitkit.css   ← entry point con @import de todo
│   └── components/     ← 44 archivos, uno por familia (button, card, modal, ...)
├── dist/               ← bundle generado SOLO en CI al taggear (no editar a mano)
│   ├── outfitkit.css       (concatenado)
│   └── outfitkit.min.css   (minificado con lightningcss)
└── showcase/           ← macros Jinja + sitio de demos + paquete PyPI

Contribuir

Editar CSS

Edita los archivos en css/. Para previsualizar tus cambios:

<link rel="stylesheet" href="./css/outfitkit.css">

cargado desde un servidor local cualquiera (python3 -m http.server 8000). No hay build local. Cuando estés contento, push y abre PR.

Releases

El bundle minificado lo genera la Action css-build.yml al taggear:

git tag v3.0.0
git push origin v3.0.0

La Action concatena css/*.css, minifica con lightningcss-cli y commitea dist/outfitkit.{css,min.css} al tag. jsDelivr sirve @v3.0.0/dist/outfitkit.min.css y @latest automáticamente.

Convenciones

Naming (BEM-light)

.ok-{block}              base               .ok-card
.ok-{block}__{element}   child element      .ok-card__header
.ok-{block}--{modifier}  variant            .ok-btn--primary
.is-{state}              runtime state      .is-active, .is-open

Theming

Themes se aplican vía atributo data-theme en <html> o cualquier subárbol:

<html data-theme="erplora">  <!-- default, dark terracota -->
<html data-theme="dark">
<html data-theme="light">

Cualquier variable --ok-* puede sobreescribirse para crear tu propio theme.

Licencia

MIT.

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

outfitkit-1.1.1.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

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

outfitkit-1.1.1-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

Details for the file outfitkit-1.1.1.tar.gz.

File metadata

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

File hashes

Hashes for outfitkit-1.1.1.tar.gz
Algorithm Hash digest
SHA256 23d51efee6c20a582eac1b55ebbd44d2185534f052f9941110618364543548b0
MD5 8973e0d6fb24da3edef2da0adcf34ebb
BLAKE2b-256 9d863fea49a2e465aa23e50a9d855db5f6b6def0ec9a856cc8f2a3e0c780dd4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for outfitkit-1.1.1.tar.gz:

Publisher: pypi-publish.yml on OutfitKit/outfitkit

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

File details

Details for the file outfitkit-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: outfitkit-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for outfitkit-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a14c15a21dfe9fc20a1c800a4417d79c50eb9c45321aafc3ab75afa9671cce32
MD5 aeaac7f5910b16740c206d55474da6ee
BLAKE2b-256 db8d9c0dcd3b0a06f2921323ef112fa9010c4b4ee9927d278cd1bb41bea2011a

See more details on using hashes here.

Provenance

The following attestation bundles were made for outfitkit-1.1.1-py3-none-any.whl:

Publisher: pypi-publish.yml on OutfitKit/outfitkit

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