Changelog

2.2.11 - Jan 15 2016

  • Fix bug with susy-inspect.

2.2.10 - Jan 7 2016

  • Add $pixel-values-only setting to SusyOne, for turning off Compass rem support.

2.2.6 - Sep 1 2015

  • Fix a bug with overlay grids.
  • Fix a bug with 0-width split gutters.
  • Other small bug fixes.

2.2.5 - May 14 2015

  • Pass grid arguments to overlay positioning mixin.

2.2.3 - Apr 28 2015

  • Work around libsass fraction bug.

2.2.2 - Jan 23 2015

  • Fix bug in npm package.

2.2.1 - Jan 14 2015

  • Release npm susy package.
  • Add global $susy-media map for creating named breakpoints.
  • Add internal media-query support for susy-breakpoint without requiring the Breakpoint plugin.
  • susy-breakpoint mixin no longer requires $layout argument. By default, no changes will be made to your existing layout.
  • Update global-box-sizing and the legacy border-box-sizing mixins to optionally take another argument, $inherit. This new argument is a boolean value that defaults to false, meaning the behavior of these mixins will not change by default. The default behavior sets all elements to use the specified box-sizing, which can only be changed explicitly on a per-element basis. By passing in $inherit as true, the box-sizing is set on the html element, and all other elements inherit this property. This means that the box-sizing can be changed at the component level and all nested elements will inherit this change. This cascading effect can be prevented by explicitly setting box-sizing on the exceptions within the nested context.
  • Add su import at root level.
  • Both su and susy work with the latest LibSass master branch (3.0.2+). There are a few exceptions:
    • The susysone syntax
    • overlay grid output
    • The inherit option for global-box-sizing & border-box-sizing

2.1.3 - Jul 16 2014

  • Baseline grid image uses px instead of %.
  • Updated Sass dependency to work with 3.4.

2.1.2 - Apr 28 2014

  • first and last keywords output 0 margins instead of null so they can be used to override previous span settings.
  • Output :before / :after rather than ::before / ::after to support IE8.
  • Load Susy paths in Compass if required, otherwise add it to SASS_PATH. [Adrien Antoine]
  • Compass 1.0 config no longer needs to require 'susy'. Susy is registered with Compass automatically.
  • Add $clean argument to layout and with-layout mixins, for creating new layout contexts from a clean slate.

2.1.1 - Mar 13 2014

  • Rename core math functions, and prepare for decomposition.
    • column-count() => susy-count()
    • column-sum() => susy-sum()
    • column-span() => susy-slice()
    • column-span-sum() => susy()
  • Add tests for core math validation.

2.0.0 — Mar 10 2014

  • New susyone tests for split-columns, is-default-layout, medialayout, columns, relative-width, columns width and nth-of-type (using True).
  • Sass 3.3.0 (Maptastic Maple)
  • Rename local 2.0 variables that conflict with global susyone settings.
  • Susyone container mixin applies full container settings at every breakpoint.

2.0.0.rc.2 — Mar 4 2014

  • Fix templates_path and compass project templates
  • Fix Compass “rem” integration to respect $rhythm-units setting.

2.0.0.rc.1 — Feb 7 2014

  • Add browser support module with settings to use-custom mixins for background-image, background-options (-size, -clip, -origin), box-sizing, clearfix, and rem. If you set to false, we’ll make sure everything works well on modern browsers. If you set to true, we’ll check for existing mixins (e.g. from Compass or Bourbon) to provide more powerful legacy support.
  • Fix bugs caused by Sass changes to str-index(), #{&}, and @at-root.
  • Fix Bower dependencies, and add support for Sache.
  • Remove legacy Compass polyfils from susyone code.

2.0.0.beta.3 — Jan 10 2014

  • Fix a bug making show-grid unaware of local debug/output keywords.
  • Added Susyone syntax for those that need to use the old Susy syntax, with updated Sass and Compass.
    • @import 'susyone';

2.0.0.beta.2 — Jan 6 2014

  • Allow nesting of Susy settings.
  • show-grid mixin can output either background or overlay grids.
  • Add isolate function to return isolation offset width.
  • Fix a bug with last output for split-gutter layouts.
  • Fix a bug with split-gutter span(), and narrow/wider keywords.
  • Fix a bug with bleed and null + inside gutters.
  • bleed output uses TRBL shorthand when possible.
  • Clean up and document the core math functions.
  • Document upgrade path, core-math, and DIY grids.

BREAKING:

  • Move debug settings into $susy: (debug: (<settings>));.
  • Replace show-grid setting with new debug: image setting.
  • Add debug: output setting and keywords to toggle between background and overlay grid images.
  • Remove grid-overlay mixin.
    • Becomes part of show-grid mixin.
    • Doesn’t take $selector argument — should be nested instead.
    • Can still be used multiple times.
  • isolate mixin now interprets span argument as location, unless location is otherwise specified.
    • isolate(2) is the same as isolate(at 2).
    • isolate(25%) will isolate at 25%.
  • Rename setting controls for consistency.
    • set-grid => layout
    • use-grid => with-layout
  • pad and squish use RL shorthand for shared context.
    • pad(1, 3 of 12) => pad(1 3 of 12)

2.0.0.beta.1 — Dec 24 2013

  • Add susy-breakpoint mixin for basic integration with Breakpoint.
    • Syntax: breakpoint($query, $layout, $no-query) where $query and no-query follow the Breakpoint syntax, and $layout uses the Susy syntax for defining grids.
  • Add layout function to convert layouts from shorthand syntax to map.
  • Add full keyword shortcut for full-width spans.
  • BREAKING: Remove unclear row and unrow mixins.
  • Add break and nobreak mixins/keywords to create a new line before any element in the layout.
  • BREAKING: Rename is-container: container setting/value to role: nest.
  • BREAKING: Rename layout-method setting to output.
  • BREAKING: Rename layout-math setting to math.
  • Clean up division between math/output/syntax layers.
  • gutters and container-position can be set to null.
  • If gutters are set to 0 or null, they will have no output.
  • BREAKING: full output matches span patterns.
  • BREAKING: Debug grids are hidden by default.
  • BREAKING: Remove nth-last/-omega/-first/-alpha as confusing & out-of-scope. Format your nth-selectors manually to apply first/last mixins.
  • Gutter mixins/functions can accept context-only (without the “of” syntax):
    • gutters(of 10 .25) == gutters(10 .25)
    • Unitless numbers are used for context.
    • Lengths (with units) are used as explicit gutter-overrides.
  • BREAKING: Re-purposed susy-set as reverse of susy-get — to adjust a single setting. Example: @include susy-set(gutter-position, inside);
  • Replace global box-sizing setting with global-box-sizing.
    • Let Susy know what box model you are using globally.
    • box-sizing can still be passed as a keyword argument.
  • Add global-box-sizing() mixin to set your global box model.
    • Example: @include global-box-sizing(border-box);
    • You can still use the legacy @include border-box-sizing; as a shortcut.
    • Uses your global setting as a default.
    • Updates your global setting to match, if you pass a different value.
  • gallery and span mixins take global-box-sizing into account.

2.0.0.alpha.6 — Dec 5 2013

  • Rewrite syntax parsing so parser and resulting maps are shared across Susy.
  • Fix explicit-span bug causing large gutters.
  • Padding mixins now respect inside gutters.

Backwards Incompatible:

  • Removed gutters $n keyword in shorthand syntax for setting explicit gutters. Use (gutter-override: $n) map instead.

2.0.0.alpha.5 — Nov 25 2013

  • Compass is no longer a dependency.
    • Only registers as a compass extension if compass is present.
  • Any mixin/function that accepts natural language syntax also accepts maps.
  • Maps and natural language can be mixed:
    • $large: (columns: 12, gutters: .5);
    • span(3 $large no-gutters)
  • Add full mixin for full-width spans.

Backwards Incompatible:

  • Requires Sass 3.3
  • Default settings are handled with a Sass map on the $susy variable. Example: $susy: (columns: 12, gutters: .25) etc.
  • bleed now takes standard span syntax, with multiple (TRBL) spans.
    • e.g. bleed(1em 2 of 8) for 1em top/bottom and 2-columns left/right.
    • Add bleed-x/bleed-y mixins for horizontal and vertical shortcuts.
  • Span arguments now accept narrow, wide, or wider keywords.
    • The wide keyword replaces the old outer keyword.
    • This setting has been re-named from outer to spread.
  • Re-wrote grid debugging
    • More concise & accurate output for symmetrical grids.
    • Changed grid-background() to show-grid()/show-grids()
    • Changed overlay-grid() to grid-overlay()
    • Moved settings into $debug: (color: rgba(#66f, .25), toggle: top right);
    • Removed overlay-position setting.
    • Only display vertical-rhythms when $base-line-height is available.
  • split gutters are no longer removed at the grid edges.
    • first and last are not special cases for split gutter-handling.
    • pass the container argument to wrappers you plan to nest inside.
  • first/alpha/last/omega/nth- mixins require grid context.

2.0.0.alpha.4 — Sept 4 2013

  • Add bleed mixin.
  • Fix bug with fluid inside-gutter calculations.
  • $last-flow setting controls the flow direction of row-ending elements.
  • background-grid-output now accepts $line-height argument.
  • Compass modules are imported as needed.
  • grid-background, grid-overlay, grid-background-output, & $grid-background-color have been renamed to remiain consistent and avoid conflicts with Compass:
    • grid-background => background-grid
    • grid-overlay => overlay-grid
    • grid-background-output => background-grid-output
    • $grid-background-color => $grid-color
  • span mixing accepts nested @content, and uses nested context.
  • Add inside-static option for static gutters in otherwise fluid grids.
  • gutters mixin uses span syntax, accepts explicit gutter span.
  • Explicit gutter-overrides are divided when gutters are split/inside.

2.0.0.alpha.3 — July 9 2013

  • row now includes clearfix, and unrow removes clearfix.
  • gallery output should override previous gallery settings.
  • Removed nth-gallery and isolate-gallery in favor of single, isolated gallery mixin.
  • Add padding-span syntax: prefix, suffix, and pad.
  • Add margin-span syntax: pre, post, push, pull, and squish.
  • New gutters mixin adds gutters to an element.
  • gutter function now returns half-widths when using split/inside gutters.
  • Add outer keyword to span syntax, to return span-width including gutters.
    • Works with both span mixin and span function.
    • Replaces Susy 1.0 space function.
  • Add comrehensive unit tests, using True.
  • Improve fall-abck handling of ommitted arguments.
  • Add container function to return a given container’s width.
  • Add auto keyword to override $container-width, otherwise respect existing width.
  • Renamed $isolate to $layout-method
    • No longer accepts boolean.
    • Accepts keywords isolate and (default) float.
  • Renamed $static to $layout-math
    • No longer accepts boolean.
    • Accepts keywords static (use given units) and (default) fluid (use % units).
  • Add show-columns and show-baseline keywords to $show-grids setting. show will show both columns/baseline, default is show-columns.

2.0.0.alpha.2 — May 7 2013

  • Added gutter <length>/gutters <length> to override the attached gutter width on a single span. NOTE: gutters 0 is not the same as no-gutters. 0 is an output value, no-gutters removes output.
  • Added container span option to remove inside gutters from nesting containers.
  • Added before/after/split/inside/no-gutters gutter options.
  • Added gallery mixin for auto-generating gallery layouts.
  • Moved grid-backgrounds into language layer, and made them syntax-aware.
  • Added row/unrow, first/last, alpha/omega, nth-first/nth-last, and nth-alpha/nth-omega.
  • Added container and span mixins with new syntax.
  • Added syntax-aware math functions (span/gutter/outer-span).
  • Added rough translate-susy1-settings mixin.
  • Moved syntax-specific math into language layer.
  • Fleshed-out new language syntax.
  • Added get-grid, set-grid, and use-grid and declaring and managing settings.
  • Remove breakpoint core requirement (will come back as option)

2.0.0.alpha.1 — Jan 26 2013

Susy 2.0 was re-written from the ground up.

  • Functioning math engine
  • Initial string parsing for natural syntax
  • Float/Isolation output methods
  • Removed all ECHOE/RAKE stuff in favor of vanilla .gemspec
  • Added Ruby based String Split function
  • Added Sass based grid-add function, to add grids à la Singularity
  • Added default variables

1.0.5 — Nov 27 2012

  • Add support for rem-units.
  • Clean-up quoted arguments.
  • Fix a few bugs related to the override settings.

1.0.4 — Nov 3 2012

  • Fix bug in nested mixins that adjust support (e.g. nth-omeg inside at-breakpoint).
  • Remove non-ie experimental support in at-breakpoint ie-fallback output.

1.0.3 — Oct 20 2012

  • Fix Compass dependencies.

1.0.2 — Oct 20 2012

  • Fix a bug with container-outer-width ignoring $columns argument.
  • Turn off legacy-ie support inside CSS3 selectors (nth-omega etc).

1.0.1 — Sept 12 2012

  • Fix a bug in the relationship between $container-width and $border-box-sizing, so that grid-padding is subtracted from the width in certain cases.
  • Reset right margin to auto rather than 0 with remove-omega.

1.0 — Aug 14 2012

This release is loaded with new features, but don’t let that fool you. Susy just became shockingly simple to use.

The gem name has changed from compass-susy-plugin to susy. First uninstall the old gem, then install the new one. If you have both gems installed, you will get errors.

Semantics:

We re-arranged the code in order to make the syntax simpler and more consistent:

  • $total-cols is now $total-columns.
  • $col-width is now $column-width.
  • $side-gutter-width is now $grid-padding and gets applied directly to the grid container.
  • un-column & reset-column mixins have merged into reset-columns.
  • columns has been renamed span-columns to resolve the conflict with CSS3 columns. See other improvements to span-columns below.

We also removed several bothersome requirements:

  • The alpha mixin is no longer needed. Ever.
  • The omega no longer takes a $context argument.
  • full has been removed entirely. Elements will be full-width by default. You can add clear: both; back in as needed.
  • side-gutter() is no longer needed. You can use the $grid-padding setting directly.

Upgrade:

That’s all you need in order to upgrade from Susy 0.9.

  1. Uninstall and re-install the gem.
  2. Find and replace the semantic changes listed above.

You’re done! Stop worrying about all that “nested vs. root” bullshit, and start playing with the new toys!

If you use the $from directional arguments directly in the span-columns mixin, there may be one more change to make. See below:

New Features:

  • span-columns supports new features:
    • “omega” can be applied directly through the $columns argument.
    • Internal padding can be added through the $padding argument.
    • This pushes the $from argument from third position into fourth.
  • at-breakpoint allows you to change layouts at media breakpoints.
  • container accepts multiple media-layout combinations as a shortcut.
  • layout allows you to use a different layout at any time.
  • with-grid-settings allows you to change any or all grid settings.
  • set-container-width does what it says, without the other container code.
  • $breakpoint-media-output, $breakpoint-ie-output, and $breakpoint-raw-output settings help manage the different outputs from at-breakpoint when you have IE-overrides living in a file of their own.
  • border-box-sizing will apply the popular * { box-sizing: border-box } universal box-model fix, as well as changing the Susy $border-box-model setting for you, so Susy knows to adjust some math.
  • The space() function can be used anywhere you need column+gutter math.
  • push/pull/pre/post/squish mixins help manage margins.
  • use the nth-omega mixin to set omega on any nth-child, nth-of-type, first, last, or only element.
  • remove-omega and remove-nth-omega will remove the omega-specific styles from an element.
  • $container-width will override the width of your container with any arbitrary length.
  • $container-style will override the type of grid container (magic, fluid, fixed, static, etc) to use.

0.9 — Apr 25 2011

Everything here is about simplicity. Susy has scaled back to it’s most basic function: providing flexible grids. That is all.

Deprecated:

  • The susy/susy import is deprecated in favor of simply importing susy.
  • The show-grid import is deprecated in favor of CSS3 gradient-based grid-images. You can now use the susy-grid-background mixin. See below.

Removed:

  • Susy no longer imports all of compass.
  • Susy no longer establishes your baseline and no longer provides a reset. All of that is in the Compass core. You can (and should!) keep using them, but you will need to import them from compass.

New:

  • Use susy-grid-background mixin on any container to display the grid. This toggles on and off with the same controls that are used by the compass grid-background module.

0.9.beta.3 — Mar 16 2011

Deprecated:

  • The susy/reset import has been deprecated in favor of the Compass core compass/reset import.
  • The susy mixin has been deprecated. If you plan to continue using vertical-rhythms, you should replace it with the establish-baseline mixin from the Compass Core.

Removed:

  • The vertical-rhythm module has moved into compass core. The API remains the same, but if you were importing it directly, you will have to update that import. ($px2em was removed as part of this, but didn’t make it into core).
  • The defaults template has been removed as ‘out-of-scope’. This will not effect upgrading in any way, but new projects will not get a template with default styles.

New Features:

  • Susy now supports RTL grids and bi-directional sites using the $from-direction variable (default: left) and an optional additional from-direction argument on all affected mixins. Thanks to @bangpound for the initial implementation.
  • Susy is now written in pure Sass! No extra Ruby functions included! Thanks to the Sass team for making it possible.

0.8.1 — Sep 24 2010

  • Fixed typos in tutorial and _defaults.scss

0.8.0 — Aug 13 2010

Deprecated:

  • The skip-link was deprecated as it doesn’t belong in Susy.
  • All the IE-specific mixins have been deprecated, along with the $hacks variable. Hacks are now used in the default mixins as per Compass.
  • The hide mixin was deprecated in favor of the Compass hide-text mixin.

Other Changes:

  • inline-block-list will be moved to the compass core soon. In preparation, I’ve cleaned it up some. You can now apply a padding of “0” to override previous padding arguments. You can also use inline-block-list-container and inline-block-list-item as you would with the Compass horizontal-list mixins.
  • The $align arguments have been removed from both the susy and container mixins. Text-alignment is no longer used or needed in achieving page centering. That was a cary-over from the IE5 Mac days.
  • The container mixin now uses the pie-clearfix compass mixin to avoid setting the overflow to hidden.
  • Default styles have been cleaned up to account for better font stacks and typography, html5 elements, vertically-rhythmed forms, expanded print styles, use of @extend, and overall simplification.

0.7.0 — Jun 01 2010

  • updated documentation

0.7.0.rc2 — May 13 2010

  • Fixes a bug with grid.png and a typo in the readme. Nothing major here.

0.7.0.rc1 — May 12 2010

  • template cleanup & simplification - no more pushing CSSEdit comments, etc.
  • expanded base and defaults with better fonts & styles out-of-the-box
  • expanded readme documentation. This will expand out into a larger docs/tutorial site in the next week.

0.7.0.pre8 — Apr 20 2010

  • mostly syntax and gem cleanup
  • added un-column mixin to reset elements previously declared as columns.
  • added rhythm mixin as shortcut for leaders/trailers. accepts 4 args: leader, padding-leader, padding-trailer, trailer.
  • added a warning on alpha to remind you that alpha is not needed at nested levels.

0.7.0.pre7 — Apr 13 2010

  • Requires HAML 3 and Compass 0.10.0.rc2
  • Internal syntax switched to scss. This will have little or no effect on users. You can still use Susy with either (Sass/Scss) syntax.
  • $default-rhythm-border-style overrides default rhythm border styles
  • Better handling of sub-pixel rounding for IE6

0.7.0.pre6 — Mar 29 2010

  • Added +h-borders() shortcut for vertical_rhythm +horizontal-borders()
  • Fixed vertical rhythm font-size typo (thanks @oscarduignan)
  • Added to template styles, so susy is already in place from the start

0.7.0.pre5 — Mar 19 2010

  • Expanded and adjusted _vertical_rhythm.sass in ways that are not entirely backwards compatible. Check the file for details.
  • _defaults.sass is re-ordered from inline to block.
  • :focus defaults cleaned up.
  • README and docs updated.

0.7.0.pre4 — Jan 20 2010

Update: pre2 was missing a file in the manifest. Use pre4.

Update: Forgot to note one change: +susy is no longer assigned to the body tag, but instead at the top level of the document (not nested under anything).

Warning: This update is not backwards compatible. We’ve changed some things. You’ll have to change some things. Our changes were fairly major in cleaning up the code - yours will be minor and also clean up some code.

Added:

  • new _vertical_rhythm.sass (thanks to Chris Eppstein) provides better establishing of the baseline grid, as well as mixins to help you manage it.
  • !px2em has replaced px2em() - see below.

Removed:

  • px2em() has been removed and replaced with a simple variable !px2em which returns the size of one pixel relative to your basic em-height. Multiply against your desired px dimensions (i.e. border-width = !px2em*5px will output the em-equivalent of 5px).
  • !base_font_size_px and !base_line_height_px have been replaced with !base_font_size and !base_line_height which take advantage of sass’s built-in unit handling.
  • !grid_units is not needed, as you can now declare your units directly in the other grid _width variables. Use any one type of units in declaring your grid. The units you use will be used in setting the container size.

Once you’ve upgraded, before you compile your files, make these changes:

  • remove the “_px” from the font-size and line-height variables, and add “px” to their values.
  • remove the !grid_units variable and add units to your grid variable values.
  • find any uses of px2em() and replace them with something.
  • enjoy!

0.7.0.pre1 — Nov 30 2009

Not a lot of new functionality here – it all moved over to Compass 0.10.0 – mostly just cleaning it up to match.

  • simplified the default styles and gave them their own project template (_defaults.sass).
  • defaults not imported by ie.sass, as ie.sass should be cascading on top of screen.sass anyway
  • changed the syntax to match CSS and Compass (property: replaces :property)
  • added more inline documentation and brought tutorial up to date
  • moved CSS3 module over to Compass
  • import the compass HTML5 reset along with the normal reset by default (because Susy loves the future)
  • little internal management fixes and so on and so on…

Older

Not documented here. Check the commit log...

Read the Docs v: latest
Versions
latest
Downloads
pdf
htmlzip
epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.