A default set of tools to create themes for Silverstripe with LESS.
When adding this module, the ThemeSiteConfigExtension is activated on your SiteConfig.
It will create a new theme tab where you can configure your theme.
You can configure the base, primary and secondary colors of your theme and the logo/favicon.
The ThemePageControllerExtension will make sure that:
Two conventions are used by the Theme Framework:
All compiled styles are stored in assets/Theme folder to avoid versioning compiled versions of your theme.
You can disable auto compile (which is slow if you are developing locally) by defining the following constant:
define('THEME_FRAMEWORK_DISABLE_COMPILE',true);
For webapps, I recommend using the Ui Kit framework to get most of what you need
http://getuikit.com/
To enable, simply use the following yml config:
ThemePageControllerExtension:
uikit:
enabled: true
theme_enabled: false
theme: 'almost-flat'
You can choose to use a already compiled theme or use the less files. It is useful to
use the less files if you want to overwrite variables based on your own color scheme.
NOTE: don't forget that less variables are lazy evaluated, meaning that you can define
variables AFTER importing the uikit.less
NOTE: if you choose to import less files, you can import any of the base themes.
For the icons, to avoid messing with paths, it's easier to copy the "fonts" directory
right inside your theme folder
By default the theme framework will load Open Sans as the default font.
You can define the fonts of your choice or disabling this setting
SiteConfig:
google_fonts: 'Open+Sans:400italic,400,600&subset=latin,latin-ext'
The theme framework comes with a notification system that use Noty
https://github.com/needim/noty
Messages can also be pulled from the session by using SetSessionMessage method on the controller
This plugin is integrated and enabled by default with IE9 as a minimum
https://github.com/burocratik/outdated-browser
This module comes bundled with a all Fontawesome. Feel free
to include your own set of icons created through the online app:
https://icomoon.io/app/
Libraries:
Please note that since less files are compiled through php, your less librairies
should not make use of Javascript functions (like Lesshat does).
Default styles:
The css framework comes with a series of breakpoints that should fit most projects.
You can check the "variables.less" files.
This module includes a standalone grid system compatible with Silverstripe Forms
Create a theme as usual ! Simply include the less files you need. Typically, I'll have
the following files:
Include Theme Framework base less files in each, for instance in variables.less
@import "../../../theme-framework/css/variables.less";
Or in layout.less
@import "variables.less";
@import "../../../theme-framework/css/mixins.less";
@import "../../../theme-framework/css/layout.less";
It is a common scenario to have Google Analytics in your project. Although modules
exists to do so in Silverstripe, I always feel it is a bit of a shame to include
a whole module just to add a snippet at the bottom of your pages.
It is also a common scenario to let your user configure their tracking code.
Therefore, this module comes with a little helper to include tracking code.
Icon generator
https://github.com/chrisbliss18/php-ico
Less compiler
https://github.com/oyejorge/less.php
Tested with 3.1
LeKoala - [email protected]
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem