v1.5.1
Latest
Layup β Sprint TODO (overnight Feb 23-24)
Priority 1: Testing β COMPLETE
- Frontend/HTTP Tests (22 tests)
- SafelistCollector Tests (16 tests)
- Artisan Command Tests (4 tests)
- ContentValidator Tests (14 tests)
- Rendering Tests (28 tests)
- PageTemplate Tests (7 tests)
- Revision Tests (4 tests)
Priority 2: Missing Divi Features β COMPLETE
Sections (wraps rows) β
-
Sectionview component β outermost wrapper around rows - Section settings: background image/video/gradient, parallax, fullscreen height
- Update page content structure: supports both
{ sections: [...] }and legacy{ rows: [...] }
Design Tab Enhancements β
- Text color picker, Font size selector, Text alignment
- Border radius, Border (width/style/color), Box shadow presets
- Opacity slider
Responsive Visibility β
- Show/hide per breakpoint toggle, generates hidden/block classes
Animations/Transitions β
- 6 entrance animations via Alpine x-intersect, configurable duration
Priority 3: Builder UX Polish
Widget Picker β COMPLETE
- Widget icons in picker modal
- Recently used widgets
- Drag from picker to canvas
Builder Canvas β COMPLETE
- Live preview of widget content
- Inline text editing
- Visual column resize handles
Page Management β COMPLETE
- Duplicate page, Bulk publish/unpublish, Export/Import JSON
- Revision history (auto-save, prune, restore)
- Revision browser UI in EditPage
Priority 4: Portability & DX β COMPLETE
- Export/Import JSON, Page templates (5 built-in), Save as template
- SEO: OG tags, Twitter Cards, canonical, JSON-LD breadcrumbs
- Sitemap helper (Page::sitemapEntries())
- layup:install command, Widget auto-discovery, Extra safelist classes
- Structured data: WebPage, Article/BlogPosting, FAQPage schema.org types
-
layup:make-widgetartisan command (scaffold custom widgets) -
layup:auditcommand (page health check, widget usage stats)
Priority 5: Widget Polish β COMPLETE
- Heading: link URL
- Image: link URL, new tab
- Button: custom bg/text colors, hover colors via Alpine
- Video: privacy-enhanced mode (youtube-nocookie.com)
- Blurb: text alignment, right layout support
- CTA: button style, bg/text colors, new tab
- Testimonial: star rating, company name
- PricingTable: custom badge text
- Map: map type (roadmap/satellite/terrain/hybrid)
- SocialFollow: icon size
- Gallery: lightbox + captions
- Image: hover effects (zoom, grayscaleβcolor, brighten, blurβclear)
- Blurb: icon picker UI (90+ searchable heroicons)
Summary (as of ~5:30am MST Feb 24)
- 852 tests, 1706 assertions β all passing
- 75 widgets total
- Section component with background image/video/gradient, parallax, overlay
- Structured data (WebPage, Article, FAQPage, BreadcrumbList)
- Page templates (5 built-in), revision history with browser UI
- 4 artisan commands: layup:install, layup:safelist, layup:make-widget, layup:audit
- Alpine.js components for interactive widgets (accordion, tabs, countdown, slider, lightbox, etc.)
- Full Design/Advanced tabs on all widgets (colors, borders, spacing, animations, visibility)
- Builder UX enhancements: Widget icons (65+ heroicons), recently used widgets, drag from picker, improved previews, inline text editing
- Revision browser: Slideover modal with restore functionality, timestamps, author tracking
Completed Tonight (Priority 3 UX Polish) β ALL 7 TASKS β
- β Widget icons in picker modal - 65+ heroicon SVGs render correctly per widget type
- β Recently used widgets - localStorage tracking, shows last 5 widgets at top of picker
- β Revision browser UI - Slideover with history, restore buttons, metadata display
- β Drag from picker to canvas - Drag widgets directly onto columns from picker
- β Live preview improvements - 20+ widget-specific preview formats with icons and context
- β Inline text editing - Double-click text/heading widgets to quick-edit content
- β Visual column resize handles - Drag handles between columns to adjust spans dynamically
Future (post-sprint)
- More page templates
- Publish to Packagist