Here is a simple example of creating your skin add-on that contains some basic modifications regarding colors, icons and content background.
Creating your skin add-on
In the platform-ui project (by using the command: git clone https://github.com/exoplatform/platform-ui.git), do as follows:
Modify the /platform-ui/pom.xml
file by changing the values of <groupId>org.exoplatform.platform-ui</groupId> and <platform-ui-skin-final-name>eXoSkin</platform-ui-skin-final-name>
to {YOUR-SKIN-ADDON}.
Do not change the values in <dependencyManagement>.
Search for values as org.exoplatform.platform-ui and eXoSkin in the files below and replace with {YOUR-SKIN-ADDON}:
/platform-ui/platform-ui-skin/src/main/webapp/WEB-INF/web.xml
/platform-ui/platform-ui-skin/pom.xml
/platform-ui/packaging/pom.xml
/platform-ui/config/pom.xml
/platform-ui/config/src/main/resources/conf/configuration.xml
Replace all values as Default in /platform-ui/platform-ui-skin/src/main/webapp/WEB-INF/gatein-resources.xml
with {YOUR-SKIN-ADDON}.
For example, <skin-name>Default</skin-name> now becomes <skin-name>{YOUR-SKIN-ADDON}</skin-name>.
Go to platform-ui and run the following commands to set a new version, for example, 1.0.x-SNAPSHOT, for the skin add-on.
mvn versions:set -DnewVersion=1.0.x-SNAPSHOT
mvn versions:commit
Modify variables to your demand in /platform-ui/platform-ui-skin/src/main/webapp/skin/less/variables.less
, for example:
@baseColor: #ffffff; // text color , border color, and other UI elements..
@baseBackground: #333333; // default background , background for content display....
@primaryColor: #0ab5f5; // primary button and link color...
@primaryBackground: #222222; // main background such as header popup background, tab items...
@colorIconDefault : #fff; // icon color
@images-path: "/{YOUR-SKIN-ADDON}/skin/images/themes/default";
@contentBackground: url("@{images-path}/ShareImages/Background/texture-gray.jpg") repeat left top;
In which:
@baseColor
, @baseBackground
, @primaryColor
and @primaryBackground
- The main color variables
that define color for majority of component. See here for more details.
@colorIconDefault
- Defines the default color of icons.
To change the hover status of icon, simply change value of @colorIconPrimary
.
@images-path
- The path to the folder containing background images of your skin addon.
@contentBackground
- The initial value of @baseBackground url("@{images-path}/ShareImages/Background/texture.png") repeat left top; is now changed into
@baseBackground url("@{images-path}/ShareImages/Background/texture-gray.jpg") repeat left top;.
Build platform-ui with the command: mvn clean install.
Go to /platform-ui/packaging/target/
to check if {YOUR-SKIN-ADDON}.zip
is generated.
Deploying locally and testing your created skin add-on
Create a local.json
in $PLATFORM_HOME/addons/
with the below content:
[
{
"id": "{YOUR-SKIN-ADDON-ID}",
"version": "1.0.x-SNAPSHOT",
"name": "{YOUR-SKIN-ADDON-NAME}",
"description": "Your Skin Add-on",
"downloadUrl": "file://D:/java/exo-working/platform-ui/packaging/target/{YOUR-SKIN-ADDON}.zip",
"vendor": "eXo platform",
"license": "LGPLv3",
"supportedDistributions": ["community","enterprise"],
"supportedApplicationServers": ["tomcat","jboss"]}
]
In which, the downloadUrl value is where the {YOUR-SKIN-ADDON}.zip
is stored.
Install your add-on with the command: addon install {YOUR-SKIN-ADDON-ID} --snapshots
Apply the new theme to eXo Platform.
i. Start eXo Platform package, and log in with the admin account.
ii. Go to Edit Site Configuration next to one site, for example, Intranet site.
→ → , then clickiii. In the Skin drop-down list, select the new theme {YOUR-SKIN-ADDON-NAME} and click .
Refresh the page and enjoy the new theme.
The current homepage:
The homepage with your applied skin add-on: