P
Recherches récentes

// el page builder

Un editor que
escribe Blade.

Arrastra secciones, columnas, bloques. En cada guardado, el builder escribe archivos Blade estáticos en disco. Sin renderizado dinámico en prod, sin deuda técnica — solo HTML compilado, rápido.

Builder — accueil.blade
● live

bloques

Hero
Columns
Pricing
Gallery
Accordion
section · hero grid · 12

// el flujo

De la pantalla al archivo, en un guardado.

01

Arrastra un bloque

Secciones, columnas, bloques desde la sidebar. Drag & drop, reordenable, anidable.

02

Edita

Inline o en modal CodeMirror para el CSS / HTML. CSS con scope por bloque, soporte de modo oscuro.

03

Guarda

El BladePageGenerator escribe un archivo Blade estático en disco. En prod: cero renderizado dinámico.

// lo que puedes hacer

Pensado para proyectos reales.

  • CSS con scope por bloque

    Chaque section a son CSS isolé par #section-id, avec support de html.dark pour le mode sombre.

  • Edición CodeMirror

    Modal d'édition CSS / HTML avec coloration syntaxique, directement dans le builder.

  • Multilingüe nativo

    Une page, plusieurs locales. Copie de contenu d'une langue à l'autre en un clic.

  • Secciones compartidas

    Réutilise une section sur plusieurs pages. Une modif se propage partout.

  • Responsive por columna

    Breakpoints indépendants sur chaque colonne : empilé sur mobile, en grille sur desktop.

  • Roles y visibilidad

    Marque des blocs dev_only : invisibles pour les utilisateurs non-développeurs.

  • Importar / exportar JSON

    Exporte une page ou un bloc, réimporte-le ailleurs. Versionnable, partageable.

  • 20+ bloques nativos

    Heading, columns, slider, pricing, form, map… et chaque module ajoute les siens.

// extensible

Cada módulo
aporta sus bloques.

El builder no conoce tus bloques de antemano: los descubre. Un módulo declara sus tipos vía getBuilderConfig(), y el BuilderManager los expone en el editor. Escribes un generador, obtienes un bloque — drag & drop, propiedades, renderizado Blade.

  • Descubrimiento auto vía getBuilderConfig()

  • Un generador PHP = un bloque en el editor

  • Namespace aislado: Punky\{Module}

Module.php
public function getBuilderConfig(): array
{
 return [
 'blocks' => [
 'product-grid' => [
 'label'     => 'Grille produits',
 'generator' => ProductGridGenerator::class,
 'icon'      => 'grid',
 ],
 ],
 ];
}

↑ le bloc apparaît dans la sidebar du builder

Explora los bloques.