Liferay DXP · portal theming · 3 min
POC workspace: shadcn-style tokens, light/dark, and product-menu restyle via OSGi modules on DXP 2026.q1.
Liferay DXP · OSGi · CSS · shadcn/ui
Architecture
From the real repo — how the pieces fit.
DXP Theme Workspace POC
OSGi override modules · shadcn-style tokens · DXP 2026.q1
my-portal-shadcn-global
tokens · CSS bundle · Dynamic Includes
my-portal-theme-contributor · Control Panel CSS
light / darkSite pages pick up shell tokens. my-portal-theme-deployer sets the theme on layout sets at startup.
Four OSGi modules — no themeCSS client extension required for core chrome
A Liferay DXP workspace POC that applies a shadcn/ui-style look across portal pages, the Control Panel, and the product menu — using OSGi override modules, not a themeCSS client extension for core chrome.
What it is
Target: Liferay DXP 2026.q1. Modules inject design tokens, CSS, and a light/dark toggle; restyle the product menu; and can set a theme on layout sets at startup. Source: codepapu/liferay-dxp-theme-workspace-poc.
Main modules
- my-portal-shadcn-global — tokens, CSS bundle, theme toggle, Dynamic Includes.
- my-portal-theme-contributor — Control Panel CSS pipeline hook.
- my-portal-product-menu-override — side navigation restyle.
- my-portal-theme-deployer — applies a theme id to layout sets on startup.
How to try it
Point liferay.workspace.home.dir at your DXP home, deploy the four modules above, restart if needed, then use the sun/moon control in the top menu for light/dark.