A professional-grade collection of robust, accessible, and responsive Liferay fragments designed for Liferay DXP. This repository provides ready-to-use, low-code UI components that leverage the latest Liferay features like Objects, Headless APIs, and the Meridian theme.
If you are building modern portals with Liferay DXP, this library solves common development challenges out-of-the-box:
- Object-Driven UI: Visualize and manage Liferay Object data without writing custom portlets.
- Headless Integration: Advanced components using Headless APIs for faster data delivery.
- Auto-Deployable Localization: Every collection includes Batch Language Client Extensions for automatic deployment of localized strings.
- Theme Consistency: Meridian-ready, utilizing standard CSS tokens for colors, spacing, and typography.
- Accessibility & Responsiveness: Mobile-first design principles.
This repository includes a suite of tools to ensure high-quality, consistent development.
Create a new fragment with all project standards (Rule #4, Rule #9) in seconds:
npm run create-fragment "[Collection Name]" "[Fragment Name]"
# Example: npm run create-fragment finance "Tax Estimator"Validate your changes against JSON schemas, localization rules, and theme fidelity before committing:
npm run lintNote: This check is enforced via GitHub Actions on every push.
Leverage shared logic for Object discovery and identifier validation by linking
to the shared resource: misc/resources/commons.js
Explore our comprehensive documentation to get started:
- 🖼️ Visual Gallery: Browse screenshots of every fragment in action.
- 🚀 Deployment Guide: Detailed deployment instructions for fragments and language assets.
- 📖 Common Recipes: Step-by-step workflows for combining fragments.
- 🎨 Theme Standards: Reference for cross-theme safe CSS tokens.
- ⚙️ Setup & Prerequisites: Mandatory Liferay configurations.
- ❓ Troubleshooting & FAQ: Solutions to common configuration issues.
Generate standard fragment ZIPs and Batch Language Client Extensions:
./create-fragment-zips.shUse the automated deployment script to push assets to your Liferay instance:
# Deploy everything to a Liferay bundle
./deploy-fragment-zips.sh /path/to/liferay/root --all
# Deploy specific fragments/collections
./deploy-fragment-zips.sh /path/to/liferay/root gemini-generated loan-calculatorFor more details, see the Full Documentation.