- added
enable-breakpoint
anddisable-breakpoint
functions for toggling breakpoint output on/off - added
archetype-bundled
extension which is a "kitchen sink" bundle of Archetype core and all official extensions - added
styleguide_allow_missing
compiler option to force errors on missing styleguide identifiers
- allow non-multiplier values in
*-spacing
methods
- fix some boolean operations
- allow
target-browser
to be called recursively, kinda - Sass 3.4 compatibility
- added some additional helper methods for working with styleguide components:
styleguide-remove-component
styleguide-freeze-component
/styleguide-thaw-component
styleguide-freeze-all-components
/styleguide-thaw-all-components
- added
styleguide-components
to retrieve a list of currently registered components - added
styleguide-component-variants
to retrieve a list of variants on a given component - added
-styleguide-grammar
method for accessing the grammar used by styleguide - allow special properties (with a
:
) in component definitions- this allows multiple values per property, but also allows us to modify specific keys within variants / extensions without clobbering
(
default: (
'target-browser:color': (ie lte 8, color, red),
'target-browser:width': (ie lte 9, width, 120px),
color: red,
'color:1': green,
'color:2': blue,
'color:custom': #abc123
),
variant: (
color: pink,
'color:custom': #987fed,
'target-browser:width': nil // we only want to modify the target-browser that's dealing with `width`, not the one for `color`
)
)
- added
styleguide_debug
config option. whentrue
,styleguide*
methods will log debug information- granular options include:
:get
,:get_granular
,:diff
,:add
,:extend
,:remove
,:freeze
,:grammar
,:drop
,:inherit
,:resolve
,:extract
- e.g.
styleguide_debug = [:add, :get, :grammar]
- granular options include:
- the
styleguide
mixin can now be called recursively, preserving the context correctly
// e.g. instead of doing this...
.container {
@include styleguide(container);
h1 {
@include styleguide(headline in a container);
}
}
// you can simply do...
.container {
@include styleguide(container) {
h1 {
@include styleguide(headline);
}
}
}
- added support for custom dynamic function calls from within styleguide component (the function should return a map)
- removed
archetype-version
in favor offeature-exists
,variable-exists
,function-exists
, andmixin-exists
- the
within
context keyword now matches all parent contexts (usewithin
for global scope contexts, usein
for local scope contexts -- direct parent)
- fixed broken gems
- fixed
to-styles
to correctly apply overrides passed in via a content block when using smart content
- support Sass 3.3.0 and Compass 1.0.0
content
is no longer improperly quoted if not needed- fixed IE7
:before
glyphs not being positioned correctly - fixed IE7 potentially crashing with
Operation Aborted
due to glyph injection
- added
$CONFIG_STATE_BEM
and$CONFIG_BEM_MODIFIER_SEPARATOR
to generate BEM style state selectors - added
$CONFIG_BEM_ELEMENT_SEPARATOR
andbem
mixin - added
bem-selector
function to help compute the BEM style selector for a context - added
str-replace
function for simple Sass::Script::Value::String replacements - added
$CONFIG_THEME_EXCLUDE
takes a list of components that will be excluded (not registered) - added
switch-locale
mixin to switch the interface locale - styleguides now support registering maps
to-styles
now takes a map (but still supports a key-value paired list)- improved debugging messages generated by
styleguide
andstyleguide-diff
glyph-icons
mixin now supports multiple glyph libraries as well as multiple grid sizes via$CONFIG_GLYPHS_LIBRARIES
glyph-icons
mixin now supports multiple glyph icons on one element- added
glyph-icons
function to help with retrieving glyph info (returned in a map for access) - added
$CONFIG_GLYPHS_OUTPUT_FALLBACK
config - added
archetype migrate
command line action to test for migration/back-compat issues - improved locale functionality, including
- support for more complex formats. e.g.
sr_SP@Cyrillic
- new methods to extract a piece of a locale:
locale-language
,locale-territory
,locale-modifier
- support for more complex formats. e.g.
- added
derived-style
andstyleguide-derived-style
for extracting individual style rules from maps of styles or styleguide components - improved memoizer scheme with option for
:aggressive
memoizing - added
-archetype-list
to mimic the deprecated-compass-list
- added
$CONFIG_NAMESPACE
to allow namespacing global generated CSS (keyframes, font-face, etc) - added
high-resolution
mixin for scoping high resolution (HiDPI / retina) code - added
resolution-to-*
functions for converting between various resolution types (ratio, dppx, dpi, dpcm)resolution_to_x
,resolution-to-ratio
,resolution-to-dppx
,resolution-to-dpi
,resolution-to-dpcm
- added
to-fraction
function for converting a decimal number to a fractional representation (e.g.1.5
->3/2
) - added
list-join
function for joining a list into a string - added
archetype-meta
function to retrieve values set on$CONFIG_META
orCompass.configuration.archetype_meta
- added
register-breakpoint
andget-breakpoint
functions for registering / retrieving breakpoint definitions - added
breakpoint
mixin for creating breakpoint media queries - added
switch-locale
function to assist switching locale states - added helper functions for working with Archetype modules:
register-archetype-module
,has-archetype-modules
,require-archetype-modules
- added
runtime-locale-value
for decorating a map so we can compute it's value respective to the locale at runtime (better support forswitch-locale
)- e.g.
runtime-locale-value((default: a, en_US: b, ru_RU: c, ...))
- e.g.
- added
get-runtime-locale-value
for selecting the value based on the current locale. this should be in conjunction withruntime-locale-value
- added
register-glyph-library
,get-glyph-library
, andget-all-glyph-libraries
functions for registering / retrieving glyph icon libraries - added
before
andafter
mixins to ease the pain in styling:before
and:after
elements cross-browser - allow
target-browser
andtarget-os
to accept a map of property-value pairs
- dropped support for older versions of Sass/Compass (sorry, can't pass up the new feature set)
- removed
gradient-with-deg
mixin - removed
_isLegacySupported
function inline-block
in styleguide component has changed syntax to take proper arguments- dropped
gradient
from supported keywords in styleguide components (usebackground-image
instead) $CORE_STATE_MAPPINGS
and$CONFIG_STATE_MAPPINGS
are now proper Sass mapsstyleguide
function now has the same signature as the mixin and can take multiple definitions at oncestyleguide-diff
now takes twostyleguide
results as params- removed
testing
configuration, instead check fordefined?(ArchetypeTestHelpers)
- removed
$CONFIG_GLYPHS_NAME
,$CONFIG_GLYPHS_VERSION
,$CONFIG_GLYPHS_SVG_ID
,$CONFIG_GLYPHS_BASE_PATH
,$CONFIG_GLYPHS_EOT
,$CONFIG_GLYPHS_FILES
,$CONFIG_GLYPHS_THRESHOLD
,$CORE_GLYPHS_MAPPINGS
,$CONFIG_GLYPHS_MAPPINGS
and instead merged these configs into$CORE_GLYPHS_LIBRARIES
and$CONFIG_GLYPHS_LIBRARIES
- removed all RTL functions
styleguide-sprite*
andstyleguide-image*
functions have been replaced with private methods (-archetype-sprite*
,-archetype-image*
)- ported many functions to ruby instead of defined as Sass user functions
- glyph icon mappings now take a map (optionally) of format
(char: characterCode, size: defaultSize)
(note that the previous list support is now deprecated) - Archetype has now been split into smaller projects
- the core will provide the most widely used functions/mixins with much opinion on your generated CSS
- things that are more specialized, opinionated, or heavy-handed have been moved to extensions, these extensions currently include:
archetype-grid
archetype-theme
archetype-base
archetype-base-h5bp
archetype-base-normalize
archetype-base-reset
archetype-base-hybrid
- the goal of this split is to provide consumers with the most useful and non-intrusive features upfront while still offering (via extension) the robustness we've already built
- added
styleguide-component-exists
method to check if a component/extension has already been registered in the theme - added
memoize
compiler configuration to allow enabling/disabling the internal styleguide memoizer glyph-icon
can now takefalse
as an icon name and not output anything- added
unstyled-button
method to remove default styling from a<button>
element - added
prefixed-tag
method for consistency when generating tag names - added Chinese font stacks
- added wildcard support to
locale
function (e.g.locale(en_ ja_JP _DE)
) - added
transparent-focusable
mixin for transparent background support in older IE - added ability to customize
output-style
withcustom-output-styler
mixin andhas-custom-output-styler
function (NEEDS DOCUMENTATION) - added better support for targeting IE6/7 glyphs and
ie-pseudo
generated elements (NEEDS DOCUMENTATION) - made
unique
generated IDs genuinely unique - added support for a
testing
config flag - added support for
@extend
from a styleguide component
- quotes on strings passed to
associative
weren't being stripped correctly - fixed some minor glyph issues
- out-of-order CSS issues in Ruby 1.8.7 are fixed using
Hashery::OrderedHash
- fixed issue with
archetype-version
incorrectly matching comparators
- added test case for fallback CSS properties
- added test case for generating loading spinner keyframe animations
- updated test cases for minor changes
- added HTML5 Boilerplate reset
- updated normalize to 2.0.1
- added support for selective states in
styleguide
calls (e.g. styleguide(large primary button, $state: disabled)) - added support for
drop
andstyleguide
keywords in componentsdrop
allows you to drop previously defined styles within a component definition (e.g. if you need to remove defaults)styleguide
in a component definition will insert the derived styles from a styleguide() call. this allows you to share styles between components
- added
styleguide-diff
method - added
ie-pseudo
methods to support dynamically generating pseudo :before and :after elements (using expressions) - added
stroke
mixin to create a stroke line around text (or font icon) - added
hide-element
mixin to hide elements from screen but keep them screen-reader accessible - added basic support for fallback CSS values (e.g. border: red; border: rgba(255,0,0, 0.8);)
- added
$CONFIG_STATE_MAPPINGS
to simplify the mapping between state names and selectors
- loading spinners now use CSS3 animations and require some integration work
- updated default vertical/horizontal spacing to 5px
list-extend
is nowassociative-merge
- nested inheritance would get corrupted (due to a volatile context being passed along)
$exclude
into-styles
wasn't taking a list of keys cleanlyfont-family
andlang
weren't respecting locale aliases- fixed thread safety issues
- updated README to be a bit friendlier
- added CONTRIBUTING
- added RDoc documentation to source
styleguide-add-component
,styleguide-extend-component
, andstyleguide
now take a$theme
parameter$CONFIG_THEME
can change the global theme$CONFIG_DISABLE_STYLEGUIDE_SPRITES
will prevent styleguide sprites from being generated if set totrue
- theme components are cached
styleguide
calls are memoized
filter
mixin is nowie-filter
to prevent conflicts with Compass'filter
mixin- Compass overrides are no longer loaded as Archetype core
- no known issues to resolve
- added README