SASS for the theme based concept

Until yesterday, I was exploring all around the internet, to find the best possible way for the theme concept in the web app. The theme concept allows an organizer to choose the theme for the web app from the set of provided themes. After some time, I realised that this awesomeness to the web app can be added by using Syntactically Awesome Stylesheets. How SASS supports the theme concept?   In the web app, a folder name _scss is added which has the directory structure as shown There is a file _config.scss inside the _base folder that includes the SASS variables which are used in all the files after importing it. Each of the SASS variables uses a flag !default at the end, which means it can be overwritten in any other file. This property of SASS leads to the theme concept. //_.config.scss @charset "UTF-8"; // Colors $black: #000; $white: #fff; $red: #e2061c; $gray-light: #c9c8c8; $gray: #838282; $gray-dark: #333333; $blue: #253652; // Corp-Colors $corp-color: $white !default; $corp-color-dark: darken($corp-color, 15%) !default; $corp-color-second: $red !default; $corp-color-second-dark: darken($corp-color-second, 15%) !default; // Fontbasic $base-font-size: 1.8 !default; $base-font-family: Helvetica, Arial, Sans-Serif !default; $base-font-color: $gray-dark !default; // Border $base-border-radius: 2px !default; $rounded-border-radius: 50% !default; $base-border-color: $gray !default; The main file that includes all the required style is the application.scss. Here, $corp-color takes default value from  _config.scss. It can be overwritten by the themes. //application.scss @charset 'UTF-8'; // 1.Base @import '_base/_config.scss'; /* Offsets for fixed navbar */ body { margin-top: 50px; background-color:$corp-color !important; } Making a light theme    The light theme will overwrite the $corp-color value to $gray-light which is defined in _config.scss. This will change the background-color defined in application.scss to #c9c8c8. So, in this way a light theme is generated. The similar approach can be followed to generate the dark theme. //_light.scss @charset 'UTF-8'; @import '../../_base/config'; // 1.Overwrite stuff $corp-color: $gray-light; @import '../../application'; Making a dark theme    //_dark.scss @charset 'UTF-8'; @import '../../_base/config'; // 1.Overwrite stuff $corp-color: $gray; @import '../../application'; How to compile the CSS from SASS files ?   We can easily compile these SASS files by using command sass /path/application.scss /path/schedule.css For generating light theme and dark theme: sass /path/_light.scss  /path/schedule.css sass /path/_dark.scss  /path/schedule.css Optimization of Code   SASS is very powerful for optimizing the code. It allows the concepts such as nesting, mixins which reduce the line of code. I have rewritten schedule.css into application.scss to make it more optimized. /* Adjustments for smaller screens */ @media (min-width: 450px) { body { font-size: 14px } .session { &-list{ .label{ font-size: 90%; padding: .2em .6em .3em; } } &-title { float:left; width: 75%; } &-location { float: right; width: 25%; text-align: right; } } } Further Exploration   This is one of the ways to deal with the SASS structure, but there are other resources that can be helpful in dealing with SASS projects. Breakpoint Octopress Also, check out, Jeremy Hexon article here.

Continue ReadingSASS for the theme based concept

New Color Schemes in Engelsystem

Engelsystem is a well-built MVC application. It seems to have everything an event manager could want. During the Week 2 of my Summer of Code, I worked on creating new color schemes/themes for the system. Engelsystem initially had 4 color schemes: Engelsystem cccamp15 Engelsystem 32C3 Engelsystem Dark Engelsystem Light Color wields enormous sway over our attitudes and emotions. When our eyes take in a color, they communicate with a region of the brain known as the hypothalamus, which in turn sends a cascade of signals to the pituitary gland, on to the endocrine system, and then to the thyroid glands. The thyroid glands signal the release of hormones, which cause fluctuation in mood, emotion, and resulting behavior. Research from QuickSprout indicates that 90% of all product assessments have to do with color. “Color,” writes Neil Patel, is “85% of the reason you purchased a specific product.” It’s a no-brainer fact of any website that color affects conversions. Big time. So, the bottom line is: use the right colors, and you win. Color schemes lets the user to set the system looks (i.e how the system will appear) which the user likes. During the week 2 of my Summer of Code, I worked on implementing 2 new color schemes for the system: Engelsystem color scheme-1 Engelsystem color scheme-2 In the later weeks, other developers and I would be working on creating more themes and enhancing them. Anyone who would like to work in the project are welcome. Developers can feel free to take up any issues they would like to work on just like any other open source projects. Development: https://github.com/fossasia/engelsystem                                           Issues/Bugs:https://github.com/fossasia/engelsystem/issues

Continue ReadingNew Color Schemes in Engelsystem