Project

minable

0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Minable is a minimal Sass mixin and UI framework written in SCSS.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 0.6.1
~> 10.3.2

Runtime

~> 3.2.14
~> 0.19.1
 Project Readme

Minable CSS Framework

Minable is a very minimal but flexible CSS grid framework powered by Scss.

We have recently made some big changes to the naming conventions, this will not be compatible with any old versions of Minable!!!

Minable Classes

Minable makes use of BEM like naming convention for classes making for far more readable markup, if you're not familiar it stands for Block Element Modifier. It follows this basic structure:

.block {}
.block__element {}
.block--modifier {}
.block__element--modifier {}

For more information have a look at MindBEMding - Getting your head round BEM syntax by Harry Roberts, its a great read!

Minable wrapper

The Wrapper element sets the max width $min-wrapper-width of the content and centers it on the page, by default this is 60em (960px).

.min__w

An optional wide modifier can be set $min-wrapper-width-wide, by default this is set to false.

.min__w--wide

Minable Group

The Group element wraps Units, it also allows us to adjust the gutter on direct descendant min__u elements.

.min__g // Default gutter width set by $min-gutter, 32px default.
.min__g--gutter-small // Sets gutter to value of $min-gutter-small, 8px default.
.min__g--gutter-none // Removes gutter.

Minable Unit

The Unit defines the ratios of your columns as well as breakpoints where it will become effective.

.min__u--1-2 // 1/2 width unit with no specified breakpoint
.min__u--l-13-19 // 13/19 width unit at the large breakpoint (for some insane layouts)
.min__u--m-1-8 // 1/8 width at the medium breakpoint

Markup example

<div class="min__w">
  <div class="min__g">
    <div class="min__u--3-4 min__u--m-1-2">
      <p>This content will be 3/4 width on large screens and 1/2 on medium screens.</p>
    </div>
    <div class="min__u--1-4 min__u--m-1-2">
      <p>This content will be 3/4 width on large screens and 1/2 on medium screens.</p>
    </div>
  </div>
</div>

Grid Setup

Breakpoint and the unit generator is setup from the _settings.scss:

$break-l: 920px !default;
$break-m: 767px !default;
$break-s: 420px !default;

$min-breakpoint-generators: l $break-l, ml $break-ml, m $break-m, s $break-s;

Here we define some breakpoint values, we store these as variables so they can be easily reused for consistency i.e. $break-l: 920px !default;

We then pass a reference for the class names and the breakpoint size value we just difined into the $min-breakpoint-generators array:

$min-breakpoint-generators: l $break-l;

This will generate units such as: %min__u--l-1-2

Silent classes are generated to minimise footprint, just extend the new silent classes for use:

.min__u--l-1-2 {
  @extend %min__u--l-1-2;
}

More Docs coming soon