Compare commits

..

52 Commits

Author SHA1 Message Date
B Mathis
40c26b4de1 Merge branch 'css3-v2' of github.com:chriseppstein/compass into css3-v2 2010-11-15 16:28:59 -06:00
B Mathis
e6c28d81f7 renamed default variable in has-layout mixin to more appropriate name $approach 2010-11-15 16:28:53 -06:00
Chris Eppstein
38faf774eb generate docs on the css3 images module. 2010-11-15 03:50:00 -08:00
Chris Eppstein
0f5746bec0 Use some of the new compass helpers to clean up this code. 2010-11-15 03:48:59 -08:00
Chris Eppstein
795800a85f Return false if no false value is provided. 2010-11-15 03:47:57 -08:00
Chris Eppstein
0334af1234 start working on upgrade docs. 2010-11-15 03:46:44 -08:00
Chris Eppstein
681bf3742f Update the changelog and add an upgrading guide. 2010-11-15 02:42:01 -08:00
Chris Eppstein
832d4a2a99 Add a changelog note on the new compass helpers for gradients. No docs on them because they're mostly internal and they match the official CSS syntax. 2010-11-15 00:16:19 -08:00
Chris Eppstein
d34cf1de85 Deprecate the radial-gradient mixin, linear-gradient mixin, and add
deprecation notices to the changelog.
2010-11-15 00:02:35 -08:00
Chris Eppstein
8e2b5f4d1c Add a new configuration property to disable sass warnings: disable_warnings 2010-11-15 00:01:25 -08:00
Chris Eppstein
412468d52a Better argument names for the columns module, tests for the columns module, accept space separated args for the column-rule mixin. 2010-11-15 00:01:25 -08:00
B Mathis
0e7bef6dbf updated changelog to indicate changes to the box-shadow and text-shadow mixin defaults 2010-11-14 23:51:02 -06:00
B Mathis
f135ecef34 defaults for text-shadow and box-shadow are better 2010-11-14 23:37:46 -06:00
Chris Eppstein
6817072f49 Handle gradients with those crazy extra arguments in them. 2010-11-14 20:55:11 -08:00
Chris Eppstein
683d58babc fix the default rake task 2010-11-14 20:41:18 -08:00
Chris Eppstein
721f1370bc I misread the spec, those are ands, not ors 2010-11-14 20:40:56 -08:00
Chris Eppstein
3e01a9e990 Change the legacy gradient mixins to use the new background-image mixin. 2010-11-14 20:30:04 -08:00
Chris Eppstein
a0f5b5a6ae Gradients in content too 2010-11-14 18:00:47 -08:00
Chris Eppstein
6c166bee0d Only emit extra property values for list images when required. 2010-11-14 17:49:19 -08:00
Chris Eppstein
cb0c3775cf Don't need to slice this list up afterall. 2010-11-14 17:39:30 -08:00
Chris Eppstein
133bf0a078 Gradient support for list-style-image. 2010-11-14 17:35:25 -08:00
Chris Eppstein
e0561d33f9 Trim some whitespace from the svg xml -- saves about 12 bytes from the output per gradient. 2010-11-14 17:04:17 -08:00
Chris Eppstein
4dc455f312 [CSS3] Support for the border-image property. 2010-11-14 16:56:39 -08:00
Chris Eppstein
3ade4e3f3a handle missing gradient arguments. 2010-11-14 12:40:22 -08:00
Chris Eppstein
5d85df5ca1 ignore rvmrc files. 2010-11-14 11:00:36 -08:00
Chris Eppstein
4ddc3e9bcf Revert "Updated gitignore"
This reverts commit c9a684c1cf.
2010-11-14 10:59:49 -08:00
Chris Eppstein
ad06b282cb New background image mixin with gradient support and up to 10 images. 2010-11-13 23:59:31 -08:00
Chris Eppstein
ff375489f6 less unquotes & underscores, more dashes 2010-11-13 23:59:31 -08:00
B Mathis
21a316c594 added home page layout for serving new home page deisgn 2010-11-13 17:28:23 -06:00
B Mathis
9338e134ce updated Gemfiles 2010-11-13 17:27:33 -06:00
B Mathis
c9a684c1cf Updated gitignore
Conflicts:

	.gitignore
2010-11-13 17:24:35 -06:00
Chris Eppstein
2f40eb9f7f Gradient mixin for IE6-8 using filters, only does simple linear gradients and must be applied seperately from the linear-gradient mixin. Closes GH-183. 2010-11-13 00:49:16 -08:00
Chris Eppstein
073c0d136c This is maddening. 2010-11-13 00:47:55 -08:00
Chris Eppstein
7406a627f8 A new function: if() 2010-11-13 00:46:41 -08:00
Chris Eppstein
f2def7bf3b Add note about an opera bug. 2010-11-12 23:00:14 -08:00
Chris Eppstein
5ca9dacc36 Tweak the gradient docs to explain svg support. 2010-11-12 22:53:50 -08:00
Chris Eppstein
af5ab4e6c9 Clean up the gradient demo page. 2010-11-12 22:01:26 -08:00
Chris Eppstein
20d3e705e3 Update nanoc so we can use the new watcher. 2010-11-12 21:45:24 -08:00
Chris Eppstein
955cfa75cf Make the new deprecated library documentation more obviously deprecated. 2010-11-12 20:28:54 -08:00
Irina Dumitrascu
60257ed673 Docs: improved CSS3/Gradient 2010-11-12 17:32:06 -08:00
Irina Dumitrascu
9d4da89071 Fixed the position evaluation for radial gradients
top    should mean top center (not top left)
left   should mean center left (not top left)
center should mean center center (it was wrongly evaluated to "50%"
       Safari would not show the gradient at all, SVG would place it
       in center left)

This does not affect linear gradients.
2010-11-12 17:32:06 -08:00
Irina Dumitrascu
6326835d5e Opt-in SVG support for gradients (linear & radial) 2010-11-12 17:32:06 -08:00
Chris Eppstein
efa9e2408d upgrade some gems 2010-11-12 17:10:12 -08:00
Eric Meyer
5341211c42 documentation for new transform api 2010-11-12 17:10:12 -08:00
Eric Meyer
e56505a0ce document new text shadow api 2010-11-12 17:10:12 -08:00
Eric Meyer
37b0bde605 multiple box shadow mixins use defaults 2010-11-12 17:10:12 -08:00
Eric Meyer
371e2103a7 text shadows v2, supports multiple shadows 2010-11-12 17:10:11 -08:00
Eric Meyer
782e6979ea 2d and 3d transforms, version 2, closes 170 2010-11-12 17:10:11 -08:00
Eric Meyer
290aac3a7e 2d and 3d transforms, version 2, closes 170 2010-11-12 17:10:11 -08:00
Chris Eppstein
509282f916 Document the new box shadow api 2010-11-12 17:10:11 -08:00
Chris Eppstein
b7285f9b85 Create a new version of the box shadow api to accomodate multiple box shadows. 2010-11-12 17:10:11 -08:00
Chris Eppstein
fb33dff089 What I'd like the box shadow upgrade to be -- not legal syntax. 2010-11-12 17:10:11 -08:00
1040 changed files with 5891 additions and 15906 deletions

4
.gitignore vendored
View File

@ -25,7 +25,3 @@ doc-src/.bundle
attic
devbin
.rvmrc
*.rbc
vendor/ruby
vendor
Gemfile.lock

2
.rspec
View File

@ -1,2 +0,0 @@
--colour
--format s

View File

@ -1,7 +0,0 @@
rvm:
- 1.8.7
- 1.9.2
- jruby
- rbx
- ree
script: "bundle exec rake test features"

32
Gemfile
View File

@ -1,29 +1,11 @@
source :rubygems
gemspec
gem "cucumber", "~> 0.9.2"
gem "rspec", "~>2.0.0"
gem "compass", :path => "."
gem "cucumber"
gem "rspec"
gem "rails", "~>3.0.0.rc"
gem "compass-validator", "3.0.1"
gem "css_parser", "~> 1.0.1"
gem "sass", "~>3.1"
gem "haml", "~> 3.1"
gem "rcov", :platform => :mri
gem "compass-validator", "3.0.0"
gem "css_parser"
gem "haml"
gem "rcov"
gem "rubyzip"
gem "livereload"
gem "ruby-prof", :platform => :mri
gem 'autotest'
gem 'autotest-fsevent' if RUBY_PLATFORM =~ /darwin/
gem 'fakefs', :git => 'git://github.com/johnbintz/fakefs.git'
gem 'mocha'
gem 'timecop'
gem 'diff-lcs', '~> 1.1.2'
gem 'rake', '0.8.7'
group :mac do
gem "rb-fsevent"
end

View File

@ -5,16 +5,10 @@ require 'compass'
# ----- Default: Testing ------
task :default => [:test, :features]
task :default => :test
require 'rake/testtask'
require 'fileutils'
require 'cucumber'
require 'cucumber/rake/task'
Cucumber::Rake::Task.new(:features) do |t|
t.cucumber_opts = "features --format progress"
end
Rake::TestTask.new :test do |t|
t.libs << 'lib'
@ -47,7 +41,7 @@ task :examples do
puts "=" * "Compiling #{example}".length
Dir.chdir example do
load "bootstrap.rb" if File.exists?("bootstrap.rb")
Compass::Exec::SubCommandUI.new(%w(compile --force)).run!
Compass::Exec::SwitchUI.new(["--force"]).run!
end
# compile any haml templates to html
FileList["#{example}/**/*.haml"].each do |haml_file|

View File

@ -1,5 +1,5 @@
---
:major: 0
:minor: 11
:patch: 5
:name: Antares
:state: alpha
:build: 0

View File

@ -1,5 +0,0 @@
Autotest.add_discovery { 'rspec2' }

View File

@ -21,20 +21,6 @@ fallback_load_path(File.join(File.dirname(__FILE__), '..', 'lib')) do
require 'compass/exec'
end
runner = Proc.new do
Compass::Exec::SubCommandUI.new(ARGV).run!
end
if ARGV.delete("--profile")
require 'ruby-prof'
RubyProf.start
exit_code = runner.call
result = RubyProf.stop
# Print a flat profile to text
printer = RubyProf::FlatPrinter.new(result)
printer.print(STDERR, 0)
exit exit_code
else
exit runner.call
end
command_line_class = Compass::Exec::Helpers.select_appropriate_command_line_ui(ARGV)
exit command_line_class.new(ARGV).run!

View File

@ -4,21 +4,18 @@ require File.join(path, 'compass/version')
Gem::Specification.new do |gemspec|
gemspec.name = "compass"
gemspec.version = Compass::VERSION # Update the VERSION.yml file to set this.
gemspec.date = "#{Time.now.year}-#{Time.now.month}-#{Time.now.day}" # Automatically update for each build
gemspec.description = "Compass is a Sass-based Stylesheet Framework that streamlines the creation and maintainance of CSS."
gemspec.homepage = "http://compass-style.org"
gemspec.authors = ["Chris Eppstein", "Eric A. Meyer", "Brandon Mathis", "Nico Hagenburger", "Scott Davis"]
gemspec.authors = ["Chris Eppstein", "Eric A. Meyer", "Brandon Mathis"]
gemspec.email = "chris@eppsteins.net"
#gemspec.default_executable = "compass" #deprecated
gemspec.default_executable = "compass"
gemspec.executables = %w(compass)
#gemspec.has_rdoc = false #deprecated
gemspec.has_rdoc = false
gemspec.require_paths = %w(lib)
gemspec.rubygems_version = "1.3.5"
gemspec.summary = %q{A Real Stylesheet Framework}
gemspec.add_dependency 'sass', '~> 3.1'
gemspec.add_dependency 'chunky_png', '~> 1.2'
gemspec.add_dependency 'fssm', '>= 0.2.7'
gemspec.add_dependency('haml', '>= 3.0.4')
gemspec.files = %w(README.markdown LICENSE.markdown VERSION.yml Rakefile)
gemspec.files += Dir.glob("bin/*")
gemspec.files += Dir.glob("examples/**/*.*")

View File

@ -3,9 +3,9 @@ require 'susy'
require 'css-slideshow'
# Set this to the root of your project when deployed:
http_path = "/"
http_path = "/docs"
project_path = File.expand_path(File.join(File.dirname(__FILE__), '..'))
css_dir = "output/stylesheets"
css_dir = "../docs/stylesheets"
sass_dir = "content/stylesheets"
images_dir = "assets/images"
javascripts_dir = "assets/javascripts"

2
doc-src/.gitignore vendored
View File

@ -1,4 +1,2 @@
bin
vendor
output
vendor/ruby

View File

@ -1,19 +0,0 @@
# Lines starting with pound sign (#) are ignored.
# additional extensions to monitor
#config.exts << 'haml'
# exclude files with NAMES matching this mask
#config.exclusions << '~*'
# exclude files with PATHS matching this mask (if the mask contains a slash)
#config.exclusions << '/excluded_dir/*'
# exclude files with PATHS matching this REGEXP
#config.exclusions << /somedir.*(ab){2,4}.(css|js)$/
# reload the whole page when .js changes
#config.apply_js_live = false
# reload the whole page when .css changes
#config.apply_css_live = false
# wait 100ms for more changes before reloading a page
#config.grace_period = 0.1

View File

@ -5,19 +5,14 @@ gem 'rdiscount'
gem 'thor'
gem 'rack'
gem 'mime-types'
gem 'fssm'
gem 'serve', "1.0.0"
gem 'nokogiri'
gem 'coderay'
gem 'sass', ">= 3.1"
gem 'haml', ">= 3.1"
gem 'haml', ">=3.0.23", :require => 'sass'
gem 'rake'
gem 'compass', :path => ".."
gem 'compass-susy-plugin', ">=0.7.0.pre8"
gem 'css-slideshow', "0.2.0"
gem 'json'
gem 'css_parser', "1.0.1"
gem 'ruby-prof'
gem 'rb-fsevent'
gem 'builder'

View File

@ -1,71 +1,59 @@
GIT
remote: git://github.com/chriseppstein/nanoc.git
revision: 4eee0e60c5121b90498caa88605d416521553378
revision: 4ecb400489c83fd2068659de0c651733b8dad28f
specs:
nanoc3 (3.2.0a3)
cri (>= 1.0.0)
PATH
remote: ..
remote: /Users/bmathis/Documents/Workspace/compass-projects/compass
specs:
compass (0.11.1.93b89a2)
chunky_png (~> 1.1)
fssm (>= 0.2.7)
sass (~> 3.1)
compass (0.11.alpha.0.c9a684c)
haml (>= 3.0.4)
GEM
remote: http://rubygems.org/
specs:
activesupport (3.0.7)
builder (2.1.2)
chunky_png (1.2.0)
coderay (0.9.7)
compass-susy-plugin (0.9.beta.3)
compass (>= 0.11.beta.3)
activesupport (3.0.1)
coderay (0.9.5)
compass-susy-plugin (0.8.1)
compass (>= 0.10.0)
cri (1.0.1)
css-slideshow (0.2.0)
compass (>= 0.10.0.rc3)
css_parser (1.0.1)
fssm (0.2.7)
haml (3.1.0)
fssm (0.2.0)
haml (3.0.23)
i18n (0.4.2)
json (1.5.1)
json (1.4.6)
mime-types (1.16)
nokogiri (1.4.4)
rack (1.2.2)
nokogiri (1.4.3.1)
rack (1.2.1)
rake (0.8.7)
rb-fsevent (0.4.0)
rdiscount (1.6.8)
ruby-prof (0.9.2)
sass (3.1.0)
rdiscount (1.6.5)
serve (1.0.0)
activesupport (~> 3.0.1)
i18n (~> 0.4.1)
rack (~> 1.2.1)
tzinfo (~> 0.3.23)
thor (0.14.6)
tzinfo (0.3.26)
thor (0.14.4)
tzinfo (0.3.23)
PLATFORMS
ruby
DEPENDENCIES
builder
coderay
compass!
compass-susy-plugin (>= 0.7.0.pre8)
css-slideshow (= 0.2.0)
css_parser (= 1.0.1)
haml (>= 3.1)
fssm
haml (>= 3.0.23)
json
mime-types
nanoc3!
nokogiri
rack
rake
rb-fsevent
rdiscount
ruby-prof
sass (>= 3.1)
serve (= 1.0.0)
thor

View File

@ -49,7 +49,7 @@ If you are adding an asset (E.g. image, css, javascript) place the file(s) in th
Running the following command will generate a new example:
./bin/thor generate:example blueprint/grid/simple/
bundle exec thor generate:example blueprint/grid/simple/
An example consists of three files:
@ -74,7 +74,7 @@ After adding the example and adjusting the metadata, go to the reference page an
Generate a reference file for a stylesheet:
./bin/thor generate:reference ../frameworks/compass/stylesheets/_compass.sass
bundle exec thor generate:reference ../frameworks/compass/stylesheets/_compass.sass
The item metadata (at the top of the file) provides some details about what stylesheet is being documented. For instance, here is the metadata for the blueprint color module item:
@ -143,7 +143,15 @@ Go to your fork of Compass on github. Your compass fork will be available on htt
$ git clone git@github.com:**yourusername**/compass.git
### 3. Don't forget: bundler!
### 3. Switch to the docs branch
To work on the docs, you need to do a checkout of the docs branch
$ git checkout docs
(A list branches can be accessed through `git branch` with no arguments)
### 4. Don't forget: bundler!
If you haven't yet done so, install bundler:
@ -152,28 +160,30 @@ If you haven't yet done so, install bundler:
Bundle the gems for this application:
$ cd doc-src
$ bundle install --binstubs
$ bundle install
### 4. Compile the docs
### 6. Compile the docs
To compile (and auto recompile) and preview the site in your browser: (make sure you run nanoc3 aco from the doc-src directory)
To compile (and auto recompile) and preview the site in your browser: (make sure you run nanoc3/aco from the doc-src directory)
$ cd doc-src
$ ./bin/nanoc3 aco
$ export RUBYLIB="../lib"
$ bundle exec nanoc3 aco
Then open `http://localhost:3000/index.html` in your web browser.
Then open `http://localhost:3000/docs/` in your web browser.
aco stands for autocompiler; the site will recompile every time you request a new page.
If you find `./bin/nanoc3 aco` to be sluggish, try this alternative workflow:
If you find `bundle exec nanoc3 aco` to be sluggish, try this alternative workflow:
$ cd doc-src
$ ./bin/serve 3000 output &
$ ./bin/rake watch
$ export RUBYLIB="../lib"
$ bundle exec serve 3000 .. &
$ bundle exec rake watch
It is recommended that you read the 5 minute [tutorial](http://nanoc.stoneship.org/tutorial/) on Nanoc.
### 5. Commit your changes to your Fork
### 7. Commit your changes to your Fork
git commit -a
git push
@ -192,4 +202,4 @@ Then get the new changes with fetch:
And merge them with your local docs branch:
git merge chris
git merge chris/docs

View File

@ -25,7 +25,7 @@ task :watch do
rebuild_site = lambda do |base, relative|
if relative && relative =~ /\.s[ac]ss/
puts ">>> Change Detected to #{relative} : updating stylesheets <<<"
puts ">>> Change Detected to #{relative} : updating stylsheets <<<"
system "bundle exec compass compile"
else
if !relative

View File

@ -4,7 +4,7 @@ require 'compass'
Compass.add_configuration "#{File.dirname(__FILE__)}/.compass/config.rb"
SITE_ROOT = ""
SITE_ROOT = "/docs"
compile '/assets/*/' do
nil
@ -18,7 +18,7 @@ end
compile '/' do
filter :haml, :ugly => true
layout item[:layout] ? item[:layout] : "main"
layout 'main'
end
compile '/search-data/' do
@ -27,8 +27,8 @@ end
compile '/examples/*/' do
filter :haml, :ugly => true
filter :highlight
layout item[:layout] ? item[:layout] : "example"
filter :highlight if ENV['SYNTAX']
layout 'example'
end
sass_options = Compass.sass_engine_options
@ -43,22 +43,8 @@ end
compile '/reference/*/' do
filter :haml, :ugly => true
filter :highlight
layout item[:layout] ? item[:layout] : "main"
end
compile '/posts/*/' do
filter :erb
filter :rdiscount if item[:extension] == "markdown"
layout 'post'
end
compile "/blog/atom/" do
filter :haml, :attr_wrapper => '"'
end
compile 'sitemap' do
filter :erb
filter :highlight if ENV['SYNTAX']
layout item[:layout] || 'main'
end
compile '*' do
@ -67,15 +53,7 @@ compile '*' do
elsif item[:extension] == "haml"
filter :haml, :ugly => true
end
layout item[:layout] ? item[:layout] : "main"
end
route 'sitemap' do
item.identifier.chop + '.xml'
end
route "/blog/atom/" do
"/blog/atom.xml"
layout item[:layout] || 'main'
end
route '/search-data/' do
@ -86,10 +64,6 @@ end
route("/stylesheets/#{'*/' * i}_*/") {nil}
end
route '/assets/htaccess/' do
"#{SITE_ROOT}/.htaccess"
end
route '/assets/css/*/' do
"#{SITE_ROOT}/stylesheets"+item.identifier.chop[11..-1]+"."+item[:extension]
end
@ -111,15 +85,6 @@ route '/stylesheets/*/' do
SITE_ROOT+item.identifier.chop + '.css'
end
route '/posts/*/' do
if item.identifier =~ %r{^/posts/(\d{4})-(\d{2})-(\d{2})-(.*)/$}
"/blog/#{$1}/#{$2}/#{$3}/#{$4}/index.html"
else
puts "WARNING: malformed post name: #{item.identifier}"
nil
end
end
%w(markup stylesheet background).each do |ex_file|
route "/examples/*/#{ex_file}/" do
nil

View File

@ -1,241 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG webfont generated by Font Squirrel.
Copyright : Copyright c 2008 by Jos Buivenga All rights reserved
Designer : Jos Buivenga
Foundry : Jos Buivenga
Foundry URL : httpwwwjosbuivengademonnl
</metadata>
<defs>
<font id="webfontJHBEijmD" horiz-adv-x="1681" >
<font-face units-per-em="2048" ascent="1536" descent="-512" />
<missing-glyph horiz-adv-x="526" />
<glyph unicode=" " horiz-adv-x="526" />
<glyph unicode="&#x09;" horiz-adv-x="526" />
<glyph unicode="&#xa0;" horiz-adv-x="526" />
<glyph unicode="!" horiz-adv-x="651" d="M223 1446h205l-12 -1049h-178zM225 0v199h203v-199h-203z" />
<glyph unicode="&#x22;" horiz-adv-x="700" d="M129 1085v385h156v-385h-156zM416 1085v385h155v-385h-155z" />
<glyph unicode="#" horiz-adv-x="1470" d="M90 391l25 152h268l59 344h-264l25 149h266l72 410h166l-72 -410h317l72 410h166l-72 -410h268l-26 -149h-266l-62 -344h266l-26 -152h-264l-70 -391h-166l68 391h-318l-67 -391h-166l67 391h-266zM549 543h317l62 344h-318z" />
<glyph unicode="$" horiz-adv-x="1159" d="M111 166l114 153q6 -6 17.5 -16t50.5 -37.5t79 -48t101.5 -37t120.5 -16.5q106 0 178 57.5t72 155.5q0 82 -73 142.5t-177.5 104.5t-208.5 95t-177 139t-73 209q0 150 105.5 261.5t275.5 135.5v193h146v-191q102 -8 189 -42.5t124 -67.5l37 -31l-92 -168q-14 14 -42 34.5 t-111 55.5t-165 35q-115 0 -188.5 -61.5t-73.5 -149.5q0 -57 39 -103t101.5 -79t138 -63.5t151.5 -68.5t138.5 -85t101.5 -121t39 -168q0 -158 -104.5 -270.5t-282.5 -132.5v-189h-146v189q-231 23 -389 170z" />
<glyph unicode="%" horiz-adv-x="1558" d="M98 1167q0 125 90.5 214t219.5 89t220 -89t91 -214t-91 -214t-220 -89t-219.5 88t-90.5 215zM129 0l1106 1446h192l-1105 -1446h-193zM256 1167q0 -66 44 -108.5t107.5 -42.5t107.5 43t44 108q0 63 -44 108.5t-107.5 45.5t-107.5 -45.5t-44 -108.5zM840 279q0 125 91 214 t220 89q127 0 219 -89.5t92 -214t-92 -214t-219 -89.5q-131 0 -221 88.5t-90 215.5zM999 279q0 -66 43 -109t109 -43q63 0 107.5 44t44.5 107.5t-44.5 108.5t-108 45t-107.5 -45t-44 -108z" />
<glyph unicode="&#x26;" horiz-adv-x="1400" d="M111 406q0 123 68.5 227t185.5 143v4q-8 2 -20.5 8.5t-45.5 31t-58.5 57t-46 92t-20.5 129.5q0 176 124 274t320 98q35 0 79 -6t71 -10l27 -6l-52 -162q-59 12 -108 12q-111 0 -183.5 -59t-72.5 -162q0 -39 11 -74.5t38 -72.5t82 -58.5t135 -21.5h268v197h199v-197h193 v-176h-193v-193q0 -240 -133 -373t-367 -133q-223 0 -362 123.5t-139 307.5zM317 416q0 -106 82 -180t213 -74q143 0 222 81t79 246v185h-276q-154 0 -237 -67.5t-83 -190.5z" />
<glyph unicode="'" horiz-adv-x="415" d="M129 1085v385h158v-385h-158z" />
<glyph unicode="(" horiz-adv-x="618" d="M150 696q0 430 237 809h174q-231 -387 -231 -811q0 -469 231 -889h-174q-237 395 -237 891z" />
<glyph unicode=")" horiz-adv-x="618" d="M57 -195q231 420 232 889q0 424 -232 811h174q238 -379 238 -809q0 -496 -238 -891h-174z" />
<glyph unicode="*" horiz-adv-x="956" d="M74 1085l53 172l272 -102l-14 291h186l-16 -291l274 102l56 -172l-281 -75v-4l180 -226l-145 -106l-158 241h-4l-160 -241l-147 106l182 226v4z" />
<glyph unicode="+" horiz-adv-x="1398" d="M158 504v160h458v503h168v-503h457v-160h-457v-504h-168v504h-458z" />
<glyph unicode="," horiz-adv-x="522" d="M55 -207l127 422h203l-172 -422h-158z" />
<glyph unicode="-" horiz-adv-x="966" d="M184 496v176h598v-176h-598z" />
<glyph unicode="." horiz-adv-x="520" d="M156 0v211h209v-211h-209z" />
<glyph unicode="/" horiz-adv-x="827" d="M74 -86l520 1610h176l-520 -1610h-176z" />
<glyph unicode="0" horiz-adv-x="1280" d="M129 725q0 745 510 745q512 0 512 -745q0 -750 -512 -750q-510 0 -510 750zM336 725q0 -563 303 -563q305 0 305 563q0 559 -305 559q-303 0 -303 -559z" />
<glyph unicode="1" horiz-adv-x="1001" d="M104 1110l347 336h180v-1270h315v-176h-831v176h319v934l2 90h-4q-16 -33 -70 -84l-135 -133z" />
<glyph unicode="2" horiz-adv-x="1171" d="M113 111q0 121 52 224t131 170.5t171 135.5l171 122q79 54 131 127t52 150q0 106 -72.5 173t-187.5 67q-53 0 -103 -19.5t-83 -46t-58.5 -53t-37.5 -47.5l-11 -18l-149 100q6 10 16 29.5t50 66.5t88.5 83t129 65.5t172.5 29.5q201 0 329 -114.5t128 -300.5 q0 -96 -38 -180t-99 -144.5t-135 -116t-147.5 -104.5t-135 -98.5t-100.5 -109.5t-39 -126h717v-176h-932q-10 66 -10 111z" />
<glyph unicode="3" horiz-adv-x="1161" d="M82 172l111 154q16 -18 44.5 -44t121 -70t184.5 -44q123 0 209 74.5t86 189.5q0 127 -96.5 196.5t-239.5 69.5h-101l-47 109l316 371l90 94v4q-43 -6 -123 -6h-490v176h865v-129l-394 -453q168 -18 296 -124.5t128 -299t-137 -329t-354 -136.5q-82 0 -161 20.5t-132 49.5 t-95 57.5t-61 49.5z" />
<glyph unicode="4" horiz-adv-x="1241" d="M63 387v127l668 932h232v-887h196v-172h-196v-387h-199v387h-701zM287 559h477v526l8 144h-4q-33 -68 -72 -119l-409 -547v-4z" />
<glyph unicode="5" horiz-adv-x="1153" d="M98 176l113 148q4 -6 13 -16.5t40 -38t64.5 -48t88 -37t111.5 -16.5q131 0 224.5 82t93.5 211t-94.5 213t-235.5 84q-63 0 -123.5 -18.5t-89.5 -34.5l-31 -19l-116 43l71 717h729v-176h-553l-34 -305l-11 -76h4q80 45 187 45q223 0 363.5 -136t140.5 -335 q0 -209 -146.5 -348.5t-365.5 -139.5q-248 0 -414 168z" />
<glyph unicode="6" horiz-adv-x="1226" d="M121 657q0 143 40 283.5t116.5 261.5t204.5 194.5t290 73.5q76 0 145.5 -14t102.5 -31l33 -14l-66 -174q-92 47 -207 47q-186 0 -296.5 -142.5t-137.5 -342.5h4q45 61 134 99t186 38q203 0 329.5 -136t126.5 -341q0 -213 -131 -348.5t-333 -135.5q-236 0 -388.5 188.5 t-152.5 493.5zM334 561q0 -147 96 -273t229 -126q121 0 194 84t73 213q0 135 -81 220t-216 85q-121 0 -208 -61.5t-87 -141.5z" />
<glyph unicode="7" horiz-adv-x="1083" d="M72 1270v176h966v-139l-653 -1307h-209l563 1139q18 37 39 69.5t33 48.5l12 15v4q-33 -6 -106 -6h-645z" />
<glyph unicode="8" horiz-adv-x="1243" d="M117 418q0 76 28.5 146.5t74.5 120.5t74 74.5t54 43.5q-162 117 -162 289q0 156 117 267t334 111q203 0 329 -105t126 -282q0 -186 -172 -376q197 -121 196 -308q0 -174 -138 -299t-357.5 -125t-361.5 124t-142 319zM324 430q0 -121 88 -196.5t209 -75.5 q117 0 201.5 69.5t84.5 178.5q0 37 -18.5 70.5t-43 57t-71.5 51t-83 44.5l-97 44l-96 44q-174 -121 -174 -287zM387 1087q0 -29 10.5 -55t21.5 -46.5t39.5 -43t47 -35t59.5 -33t61.5 -29.5t71 -29.5t68.5 -29.5q127 127 127 285q0 98 -71.5 157.5t-186.5 59.5 q-117 0 -182.5 -57.5t-65.5 -143.5z" />
<glyph unicode="9" horiz-adv-x="1226" d="M100 987q0 213 131 348t334 135q233 0 387 -188t154 -494q0 -143 -40 -283t-117 -261t-205 -195t-289 -74q-76 0 -146.5 14.5t-103.5 30.5l-31 15l66 176q92 -49 206 -49q186 0 297 142t138 343h-4q-43 -61 -133.5 -98t-186.5 -37q-203 0 -330 135t-127 340zM301 987 q0 -135 80 -220t217 -85q121 0 208 62.5t87 140.5q0 147 -96.5 273t-229.5 126q-123 0 -194.5 -84t-71.5 -213z" />
<glyph unicode=":" horiz-adv-x="598" d="M195 0v211h208v-211h-208zM195 825v211h208v-211h-208z" />
<glyph unicode=";" horiz-adv-x="600" d="M96 -207l109 422h205l-154 -422h-160zM207 825v211h209v-211h-209z" />
<glyph unicode="&#x3c;" horiz-adv-x="1142" d="M68 516v135l954 426v-182l-733 -309v-4l733 -310v-182z" />
<glyph unicode="=" horiz-adv-x="1370" d="M197 309v160h977v-160h-977zM197 696v160h977v-160h-977z" />
<glyph unicode="&#x3e;" horiz-adv-x="1142" d="M121 90v182l731 310v4l-731 309v182l954 -426v-135z" />
<glyph unicode="?" horiz-adv-x="1001" d="M66 1343q14 14 42.5 36t123 59t192.5 37q178 0 303 -104.5t125 -270.5q0 -94 -37 -169t-90 -125t-107.5 -96t-91.5 -103.5t-37 -125.5v-84h-194v97q0 86 36 156.5t87 119.5l102 94q51 45 87 101.5t36 119.5q0 86 -66.5 144.5t-166.5 58.5q-57 0 -115.5 -21.5t-89.5 -41.5 l-29 -23zM291 0v199h203v-199h-203z" />
<glyph unicode="@" d="M121 493.5q0 317.5 217 537.5t530 220q276 0 404.5 -117.5t128.5 -297.5v-580h147v-150h-559q-186 0 -305 114t-119 274q0 158 118 270.5t306 112.5h221q-4 92 -91 151t-240 59q-236 0 -398 -175t-162 -418q0 -248 163 -418t419 -170v-162q-340 0 -560 216t-220 533.5z M766 496q0 -100 67.5 -170t170.5 -70h206v483h-202q-106 0 -174 -70.5t-68 -172.5z" />
<glyph unicode="A" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM422 584h438l-160 458l-55 205h-4q-33 -131 -57 -205z" />
<glyph unicode="B" horiz-adv-x="1298" d="M197 0v1446h505q186 0 303 -98.5t117 -270.5q0 -104 -48 -186t-132 -125v-4q111 -33 174.5 -129t63.5 -221q0 -197 -132.5 -304.5t-332.5 -107.5h-518zM399 176h326q115 0 181.5 66.5t66.5 179.5q0 111 -68.5 179.5t-181.5 68.5h-324v-494zM399 838h303q96 0 154.5 61.5 t58.5 157.5t-57 154.5t-160 58.5h-299v-432z" />
<glyph unicode="C" horiz-adv-x="1478" d="M98 731q0 315 210 527t526 212q98 0 188 -19t148.5 -47t103.5 -56.5t65 -49.5l21 -18l-100 -152q-18 18 -53.5 44t-145 70t-219.5 44q-238 0 -386.5 -158.5t-148.5 -394.5q0 -238 150.5 -404.5t386.5 -166.5q121 0 232.5 47t162.5 94l51 47l109 -145q-8 -10 -23.5 -25.5 t-70 -54.5t-115 -69.5t-155.5 -55.5t-197 -25q-322 0 -531 217t-209 539z" />
<glyph unicode="D" horiz-adv-x="1515" d="M197 0v1446h479q336 0 534.5 -191.5t198.5 -529.5q0 -340 -198.5 -532.5t-534.5 -192.5h-479zM399 176h263q248 0 393 143.5t145 405.5q0 260 -145.5 402.5t-392.5 142.5h-263v-1094z" />
<glyph unicode="E" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874z" />
<glyph unicode="F" horiz-adv-x="1067" d="M197 0v1446h796v-176h-594v-475h506v-177h-506v-618h-202z" />
<glyph unicode="G" horiz-adv-x="1556" d="M100 725q0 315 211 530t527 215q96 0 186 -18t149.5 -43t104.5 -50.5t65 -43.5l21 -19l-102 -151q-18 16 -52 39.5t-140.5 62.5t-215.5 39q-248 0 -396.5 -158.5t-148.5 -398.5q0 -250 151.5 -408.5t381.5 -158.5q111 0 213 45t149 90l47 45v209h-235v176h420v-727h-179 v90l3 62h-5l-18 -19q-12 -12 -55 -43t-90.5 -53.5t-124 -42t-156.5 -19.5q-297 0 -504 212t-207 538z" />
<glyph unicode="H" horiz-adv-x="1548" d="M197 0v1446h202v-635h750v635h203v-1446h-203v635h-750v-635h-202z" />
<glyph unicode="I" horiz-adv-x="595" d="M197 0v1446h202v-1446h-202z" />
<glyph unicode="J" horiz-adv-x="1099" d="M61 416v71h201v-61q0 -137 66.5 -200.5t163 -63.5t161 61.5t64.5 194.5v852h-365v176h568v-1030q0 -219 -127 -330t-303.5 -111t-302.5 112t-126 329z" />
<glyph unicode="K" horiz-adv-x="1275" d="M197 0v1446h202v-608h215l365 608h223l-420 -686v-4l447 -756h-230l-385 664h-215v-664h-202z" />
<glyph unicode="L" horiz-adv-x="1083" d="M197 0v1446h202v-1270h648v-176h-850z" />
<glyph unicode="M" horiz-adv-x="1773" d="M152 0l116 1446h213l332 -782l72 -195h4q39 115 72 195l331 782h213l117 -1446h-201l-71 911l-2 213h-5q-43 -133 -77 -213l-289 -651h-180l-287 651q-33 78 -78 217h-4q1 -32 1 -62q0 -89 -5 -155l-70 -911h-202z" />
<glyph unicode="N" horiz-adv-x="1550" d="M197 0v1446h200l643 -940q25 -35 55 -87l48 -87l18 -35h4q-14 129 -14 209v940h203v-1446h-199l-645 938q-53 80 -121 211h-4q14 -129 14 -211v-938h-202z" />
<glyph unicode="O" d="M98 733q0 311 215 524t528.5 213t527.5 -213t214 -524q0 -319 -214 -538.5t-527.5 -219.5t-528.5 219.5t-215 538.5zM307 733q0 -242 155.5 -406.5t379 -164.5t378 165t154.5 406q0 236 -154.5 394.5t-378 158.5t-379 -158.5t-155.5 -394.5z" />
<glyph unicode="P" horiz-adv-x="1243" d="M197 0v1446h528q201 0 328 -124t127 -329t-128 -331.5t-327 -126.5h-326v-535h-202zM399 711h293q131 0 206 75.5t75 206.5q0 129 -75 203t-204 74h-295v-559z" />
<glyph unicode="Q" horiz-adv-x="1705" d="M100 731q0 313 214 526t528 213q315 0 529 -213t214 -526q0 -270 -170 -477l172 -164l-119 -127l-168 168q-195 -156 -458 -156q-313 0 -527.5 219.5t-214.5 536.5zM309 731q0 -242 153.5 -405.5t379.5 -163.5q180 0 313 106l-170 166l119 127l166 -168q106 147 106 338 q0 238 -153.5 396.5t-380.5 158.5q-225 0 -379 -158.5t-154 -396.5z" />
<glyph unicode="R" horiz-adv-x="1312" d="M197 0v1446h442q182 0 270 -33q113 -41 178.5 -145.5t65.5 -245.5q0 -139 -70.5 -245.5t-189.5 -145.5v-4q16 -18 43 -66l307 -561h-229l-305 575h-310v-575h-202zM399 752h291q119 0 187.5 70.5t68.5 191.5q0 160 -115 223q-61 33 -198 33h-234v-518z" />
<glyph unicode="S" horiz-adv-x="1118" d="M86 166l115 153q6 -6 17 -16t50 -37.5t79 -48t101.5 -37t120.5 -16.5q106 0 178 57.5t72 155.5q0 63 -39 112.5t-100.5 84t-136 66.5t-149.5 68.5t-136 82t-100 116t-39 160.5q0 170 132 286.5t335 116.5q119 0 221 -36.5t145 -73.5l43 -35l-92 -168q-14 14 -41.5 34.5 t-110.5 55.5t-165 35q-113 0 -187.5 -61.5t-74.5 -149.5q0 -82 71.5 -139.5t175 -98t207 -90t175 -140.5t71.5 -220q0 -174 -125 -291t-334 -117q-86 0 -167 19.5t-135 47.5t-96 56.5t-61 48.5z" />
<glyph unicode="T" horiz-adv-x="1214" d="M10 1270v176h1194v-176h-495v-1270h-203v1270h-496z" />
<glyph unicode="U" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98 -257t266 -93q170 0 269.5 93t99.5 261v930h203v-934q0 -240 -158 -388.5t-411.5 -148.5t-411.5 148.5t-158 388.5z" />
<glyph unicode="V" horiz-adv-x="1294" d="M12 1446h219l359 -1022l55 -199h4q29 121 56 199l362 1022h215l-532 -1446h-203z" />
<glyph unicode="W" horiz-adv-x="1941" d="M68 1446h208l256 -1061q18 -78 27 -154h4q10 74 31 154l283 1061h180l282 -1061l31 -154h4q6 76 27 154l266 1061h209l-379 -1446h-235l-250 938q-25 92 -43 205h-4q-18 -113 -43 -205l-250 -938h-236z" />
<glyph unicode="X" horiz-adv-x="1253" d="M45 0l457 745l-428 701h233l228 -391l92 -172h4q41 92 88 172l227 391h234l-428 -701l456 -745h-229l-262 444l-92 166h-4q-39 -86 -86 -166l-263 -444h-227z" />
<glyph unicode="Y" horiz-adv-x="1204" d="M16 1446h230l268 -475l88 -183h4q43 100 88 183l264 475h230l-483 -834v-612h-203v612z" />
<glyph unicode="Z" horiz-adv-x="1243" d="M84 0v135l696 1004q25 37 50.5 69.5t39.5 48.5l15 15v4q-39 -6 -109 -6h-655v176h1016v-133l-697 -1006q-25 -35 -51.5 -67.5t-40.5 -46.5l-12 -17v-4q39 4 108 4h701v-176h-1061z" />
<glyph unicode="[" horiz-adv-x="616" d="M207 -195v1700h338v-149h-164v-1399h164v-152h-338z" />
<glyph unicode="\" horiz-adv-x="827" d="M57 1524h176l521 -1610h-176z" />
<glyph unicode="]" horiz-adv-x="618" d="M72 -43h166v1399h-166v149h340v-1700h-340v152z" />
<glyph unicode="^" horiz-adv-x="1255" d="M141 506l410 940h129l407 -940h-178l-295 721l-292 -721h-181z" />
<glyph unicode="_" horiz-adv-x="1216" d="M57 0h1102v-160h-1102v160z" />
<glyph unicode="`" horiz-adv-x="1021" d="M330 1806h213l149 -260h-168z" />
<glyph unicode="a" horiz-adv-x="1081" d="M72 291q0 356 624 356h45v19q0 227 -227 227q-156 -2 -289 -100l-82 145q16 14 48 34.5t132.5 54.5t206.5 34q197 0 303.5 -104.5t106.5 -301.5v-655h-184v98l4 82h-4l-12 -22q-7 -14 -34.5 -49t-61.5 -62t-94 -49.5t-130 -22.5q-143 0 -247.5 84.5t-104.5 231.5z M272 301q0 -68 51.5 -117t143.5 -49q119 0 197.5 103.5t78.5 226.5v33h-51q-420 0 -420 -197z" />
<glyph unicode="b" horiz-adv-x="1228" d="M156 0v1446h198v-473l-4 -88h4l11.5 18t36 43t62.5 53.5t94 42t128 19.5q207 0 331 -149.5t124 -393.5t-132 -393.5t-339 -149.5q-66 0 -123.5 18.5t-92 45.5t-61 52.5t-37.5 43.5l-12 19h-4q4 -33 4 -78v-76h-188zM348 514q0 -150 77 -259.5t216 -109.5q127 0 213 99.5 t86 271.5q0 168 -81 269.5t-212 101.5q-127 0 -213 -93.5t-86 -279.5z" />
<glyph unicode="c" horiz-adv-x="1120" d="M82 518q0 231 156.5 387t398.5 156q115 0 212 -38t138 -77l39 -37l-94 -139q-12 12 -36 32.5t-98.5 53.5t-152.5 33q-156 0 -258 -104.5t-102 -264.5t103.5 -266.5t262.5 -106.5q86 0 166 35t117 70l37 35l80 -146l-18 -17q-11 -11 -50 -40t-84 -50.5t-115.5 -40 t-146.5 -18.5q-244 0 -399.5 153.5t-155.5 389.5z" />
<glyph unicode="d" horiz-adv-x="1230" d="M88 518q0 246 131 394.5t338 148.5q68 0 125 -16.5t91 -41t59.5 -49t35.5 -41.5l9 -16h4q-4 31 -4 70v479h198v-1446h-188v98l2 70h-4q-4 -8 -11.5 -20.5t-35 -46t-63.5 -59.5t-97.5 -46.5t-132.5 -20.5q-209 0 -333 149.5t-124 393.5zM291 518q0 -168 81 -269.5 t212 -101.5q127 0 213 93.5t86 279.5q0 150 -77 259.5t-216 109.5q-127 0 -213 -99.5t-86 -271.5z" />
<glyph unicode="e" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q211 0 330 -137.5t119 -348.5l-7 -86h-755q8 -164 109.5 -253t246.5 -89q164 0 299 115l8 6l82 -145q-16 -16 -49 -41t-137.5 -66t-214.5 -41q-242 0 -395.5 155t-153.5 388zM295 639h553q-4 129 -75 196.5t-175 67.5 q-117 0 -200 -69.5t-103 -194.5z" />
<glyph unicode="f" horiz-adv-x="688" d="M82 862v160h129v49q0 98 28.5 171t69.5 113t98.5 63.5t101.5 30.5t91 7l76 -6v-170q-20 4 -51 4q-35 0 -67 -7t-68.5 -27.5t-59 -67.5t-22.5 -115v-45h245v-160h-245v-862h-197v862h-129z" />
<glyph unicode="g" horiz-adv-x="1214" d="M88 542.5q0 229.5 121 374t332 144.5q213 0 311 -131l14 -23h4q-2 14 -2 33v96h191v-993q0 -123 -44 -217t-120 -148.5t-166 -81t-192 -26.5q-186 0 -355 86l66 156q129 -70 284 -70q147 0 237.5 70.5t90.5 220.5v76l2 65h-4q-96 -162 -307 -162t-337 150.5t-126 380z M289 547q0 -164 81 -263.5t220 -99.5q121 0 197.5 84t76.5 273q0 348 -293 348q-133 0 -207.5 -91t-74.5 -251z" />
<glyph unicode="h" horiz-adv-x="1234" d="M156 0v1446h198v-531l-4 -86h4q41 90 141.5 161t241.5 71q356 0 357 -397v-664h-199v618q0 125 -41 193t-155.5 68t-205 -72t-122.5 -184q-16 -55 -17 -138v-485h-198z" />
<glyph unicode="i" horiz-adv-x="509" d="M154 1243v203h200v-203h-200zM156 0v1036h198v-1036h-198z" />
<glyph unicode="j" horiz-adv-x="507" d="M-113 -248q18 -2 45 -2q35 0 68 8.5t71 28.5t61.5 69.5t23.5 120.5v1059h196v-1071q0 -121 -42 -205t-109.5 -119.5t-125 -49t-118.5 -13.5l-70 4v170zM154 1243v203h200v-203h-200z" />
<glyph unicode="k" horiz-adv-x="1077" d="M156 0v1446h198v-791h146l282 381h226l-344 -456v-5l383 -575h-232l-311 487h-150v-487h-198z" />
<glyph unicode="l" horiz-adv-x="542" d="M143 283v1163h199v-1129q0 -86 28.5 -116.5t82.5 -30.5l34 2v-176q-31 -4 -65 -4q-279 0 -279 291z" />
<glyph unicode="m" horiz-adv-x="1871" d="M156 0v1036h192v-137l-4 -76h4q39 96 139.5 167t217.5 71q258 0 311 -236h4q45 98 146.5 167t222.5 69q342 0 342 -397v-664h-199v621q0 125 -38 192.5t-146 67.5q-104 0 -183.5 -76t-107.5 -189q-14 -59 -15 -143v-473h-198v621q0 123 -36 191.5t-144.5 68.5t-187.5 -78 t-109 -195q-12 -49 -13 -135v-473h-198z" />
<glyph unicode="n" horiz-adv-x="1234" d="M156 0v1036h192v-137l-4 -76h4q41 88 139.5 163t249.5 75q356 0 357 -397v-664h-199v618q0 125 -41 193t-156 68q-117 0 -206 -71t-121 -183q-16 -55 -17 -140v-485h-198z" />
<glyph unicode="o" horiz-adv-x="1277" d="M80 520.5q0 233.5 161.5 387t397 153.5t397.5 -153.5t162 -387t-163 -389.5t-396 -156t-396 156t-163 389.5zM283 520q0 -160 104.5 -266.5t251.5 -106.5q150 0 253 105.5t103 267.5q0 160 -103.5 264.5t-252.5 104.5q-147 0 -251.5 -104.5t-104.5 -264.5z" />
<glyph unicode="p" horiz-adv-x="1228" d="M156 -410v1446h182v-88l-4 -76h4q4 8 11 20.5t37 45.5t65.5 57.5t98 45t136.5 20.5q207 0 331 -149.5t124 -393.5t-132 -393.5t-337 -149.5q-63 0 -119.5 17.5t-91.5 43t-60.5 50.5t-35.5 41l-11 18h-4q4 -37 4 -90v-465h-198zM348 514q0 -150 79 -259.5t214 -109.5 q127 0 213 99.5t86 271.5q0 168 -81 269.5t-212 101.5q-127 0 -213 -93.5t-86 -279.5z" />
<glyph unicode="q" horiz-adv-x="1230" d="M88 518q0 246 131 394.5t338 148.5q68 0 126 -18.5t93 -43t61.5 -50t36.5 -44.5l11 -18h4q-2 31 -2 71v78h188v-1446h-198v473l4 91h-4q-4 -8 -11.5 -19.5t-35 -42.5t-62.5 -54.5t-94.5 -43t-128.5 -19.5q-209 0 -333 149.5t-124 393.5zM291 518q0 -168 81 -269.5 t212 -101.5q127 0 213 93.5t86 279.5q0 150 -77 259.5t-216 109.5q-127 0 -213 -99.5t-86 -271.5z" />
<glyph unicode="r" horiz-adv-x="768" d="M156 0v1036h192v-180l-4 -78h4q37 119 124 195t204 76l51 -5v-196q-27 6 -57 6q-96 0 -176 -65.5t-115 -178.5q-25 -80 -25 -186v-424h-198z" />
<glyph unicode="s" horiz-adv-x="917" d="M72 127l96 141q12 -14 36.5 -33.5t102.5 -53.5t158 -34q70 0 121 35t51 94q0 51 -55.5 90.5t-133 69t-155.5 65.5t-133.5 103.5t-55.5 161.5q0 137 106.5 216t268.5 79q100 0 184.5 -28.5t116.5 -57.5l33 -29l-80 -149q-10 10 -29.5 25.5t-86 41t-140.5 25.5 q-72 0 -121 -32t-49 -95q0 -51 55.5 -88t133 -66.5t155.5 -65.5t133.5 -103.5t55.5 -162.5q0 -131 -103.5 -216t-271.5 -85q-113 0 -211 38t-139 77z" />
<glyph unicode="t" horiz-adv-x="733" d="M63 862v160h142v299h192v-299h250v-160h-250v-461q0 -59 16.5 -103t40 -68.5t55.5 -39t57.5 -18.5t51.5 -4l48 4v-176q-29 -4 -70 -4q-49 0 -94 6t-102.5 30.5t-99.5 64.5t-71.5 114t-29.5 172v483h-136z" />
<glyph unicode="u" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -125 40 -191.5t155 -66.5q152 0 243.5 114.5t91.5 276.5v485h199v-1036h-192v137l4 76h-4q-39 -90 -140.5 -164t-240.5 -74q-355 1 -355 398z" />
<glyph unicode="v" horiz-adv-x="1028" d="M14 1036h211l252 -700q8 -25 16.5 -60.5l14.5 -58.5l4 -22h4l4 22l16 58q9 36 17 61l252 700h209l-383 -1036h-230z" />
<glyph unicode="w" horiz-adv-x="1667" d="M35 1036h211l215 -727l13 -51q7 -29 9 -45l4 -14h5q10 57 26 110l225 725h183l223 -725l29 -110h4q8 57 24 110l217 727h209l-334 -1036h-219l-215 666l-28 112h-5q-12 -59 -28 -112l-213 -666h-221z" />
<glyph unicode="x" horiz-adv-x="1040" d="M45 0l352 532l-334 504h228l192 -315l35 -62h4q18 35 35 62l193 315h227l-334 -504l352 -532h-225l-217 346l-31 57h-4q-16 -33 -31 -57l-217 -346h-225z" />
<glyph unicode="y" horiz-adv-x="1044" d="M4 1036h223l260 -678l39 -125h4q16 70 35 123l252 680h215l-485 -1222q-47 -117 -136 -180.5t-200 -63.5q-51 0 -101.5 16.5t-74.5 32.5l-25 14l70 152q57 -43 121 -43q123 0 186 152l51 118z" />
<glyph unicode="z" horiz-adv-x="1058" d="M80 0v115l522 655l86 96v4q-33 -4 -100 -4h-486v170h854v-114l-522 -658l-88 -94v-4q35 4 103 4h526v-170h-895z" />
<glyph unicode="{" horiz-adv-x="716" d="M100 578v176q6 0 18.5 2t42 16t53.5 36.5t42 68t18 104.5v172q0 92 26 160.5t61.5 104.5t86 58.5t86 27.5t72.5 5l47 -2v-151h-28q-27 0 -50.5 -7.5t-55.5 -26.5t-51 -65.5t-19 -115.5v-211q0 -57 -17.5 -104.5t-42 -75t-48.5 -47t-42 -27.5l-16 -6v-4q6 -2 17 -6.5 t40 -25t50.5 -47t40 -74.5t18.5 -107v-236q0 -70 19 -116t51 -65.5t55.5 -26.5t50.5 -7h28v-152q-18 -4 -47 -4q-37 0 -72.5 5.5t-86 28t-86 58t-61.5 105.5t-26 162v196q0 59 -18 103.5t-43 66t-50.5 34.5t-43.5 15z" />
<glyph unicode="|" horiz-adv-x="579" d="M203 -326v1948h174v-1948h-174z" />
<glyph unicode="}" horiz-adv-x="716" d="M63 -45h29q27 0 50.5 7t55 26.5t51 65.5t19.5 116v236q0 94 42 158.5t83 82.5l41 19v4q-6 2 -17 7t-40 25.5t-50.5 47t-40 74.5t-18.5 106v211q0 70 -19.5 116t-51 65t-55 26.5t-50.5 7.5h-29v151q18 2 48 2q37 0 72.5 -5t85.5 -27.5t86 -58.5t61.5 -104.5t25.5 -160.5 v-172q0 -172 138 -219l36 -8v-176q-6 0 -18 -2.5t-42 -16.5t-53.5 -35.5t-42 -65.5t-18.5 -104v-196q0 -92 -25.5 -162t-61.5 -105.5t-86 -58t-86 -28t-72 -5.5l-48 4v152z" />
<glyph unicode="~" horiz-adv-x="1245" d="M137 418q0 174 75 260t212 86q72 0 130 -32t89 -68.5t76 -68.5t96 -32q74 0 105.5 57.5t31.5 135.5h162q0 -346 -285 -346q-72 0 -130 30.5t-88.5 68.5t-77 68.5t-97.5 30.5q-72 0 -104.5 -57t-32.5 -133h-162z" />
<glyph unicode="&#xa1;" horiz-adv-x="591" d="M193 -410l14 1049h178l12 -1049h-204zM193 838v198h202v-198h-202z" />
<glyph unicode="&#xa2;" horiz-adv-x="1179" d="M109 723q0 227 116.5 388t315.5 187v172h145v-172q133 -20 232.5 -103t152.5 -214l-180 -70q-90 203 -273 203q-143 0 -225 -109.5t-82 -281.5q0 -176 80 -282.5t227 -106.5q184 0 273 203l180 -72q-55 -125 -152.5 -213t-232.5 -102v-177h-145v177q-199 27 -315.5 187.5 t-116.5 385.5z" />
<glyph unicode="&#xa3;" horiz-adv-x="1210" d="M115 0v176h125v477h-90v144h90v278q0 170 126 282.5t318 112.5q186 0 332 -120l10 -11l-117 -141q-98 88 -223 88q-111 0 -176.5 -62.5t-65.5 -156.5v-270h377v-144h-377v-477h666v-176h-995z" />
<glyph unicode="&#xa5;" horiz-adv-x="1243" d="M57 1446h232l241 -451l88 -209h5q43 113 88 209l243 451h232l-340 -606h209v-129h-277l-55 -99v-75h332v-129h-332v-408h-205v408h-334v129h334v75l-55 99h-279v129h211z" />
<glyph unicode="&#xa7;" horiz-adv-x="905" d="M98 -23l90 138q84 -76 199 -76q94 0 155.5 56.5t61.5 158.5q0 41 -12 92l-135 770h161l144 -799q10 -55 10 -92q0 -156 -104.5 -254t-280.5 -98q-80 0 -151.5 26.5t-104.5 51.5zM129 1120q0 154 104.5 252t282.5 98q78 0 150.5 -26.5t105.5 -50.5l33 -27l-94 -131 q-82 70 -195 70q-96 0 -157.5 -53.5t-61.5 -153.5q0 -37 12 -82l140 -789h-164l-144 799q-12 47 -12 94z" />
<glyph unicode="&#xa8;" horiz-adv-x="1021" d="M258 1599v207h164v-207h-164zM600 1599v207h164v-207h-164z" />
<glyph unicode="&#xa9;" d="M111 723q0 311 212 529t515 218q305 0 519 -218t214 -529t-214 -529.5t-519 -218.5q-303 0 -515 218.5t-212 529.5zM260 723q0 -256 167 -432t411 -176q248 0 415.5 176t167.5 432t-168 432t-415 176q-244 0 -411 -176t-167 -432zM449 721q0 168 111.5 288.5t291.5 120.5 q195 0 311 -165l23 -37l-125 -68q-8 14 -23.5 36t-67.5 57.5t-112 35.5q-117 0 -185.5 -79t-68.5 -189q0 -115 67.5 -191.5t186.5 -76.5q59 0 110.5 32.5t71.5 63.5l21 33l125 -68q-4 -8 -12.5 -21.5t-38 -49t-64.5 -62.5t-94 -48.5t-125 -21.5q-180 0 -291.5 120 t-111.5 290z" />
<glyph unicode="&#xaa;" horiz-adv-x="864" d="M150 543v116h563v-116h-563zM152 981q0 225 385 225h20v13q0 129 -131 129q-39 0 -82 -14.5t-65 -28.5l-23 -15l-59 101q92 76 247 75q127 0 194 -66.5t67 -191.5v-411h-140v94h-4q-6 -12 -19.5 -30.5t-61.5 -48.5t-107 -30q-88 0 -154.5 53.5t-66.5 145.5zM299 991 q0 -37 27.5 -62.5t76.5 -25.5q68 0 111 56.5t43 125.5v17h-25q-233 0 -233 -111z" />
<glyph unicode="&#xab;" horiz-adv-x="1138" d="M90 578l336 421h199l-336 -421l336 -420h-199zM502 578l336 421h198l-336 -421l336 -420h-198z" />
<glyph unicode="&#xac;" horiz-adv-x="1257" d="M123 696v160h977v-547h-166v387h-811z" />
<glyph unicode="&#xad;" horiz-adv-x="882" d="M143 496v176h598v-176h-598z" />
<glyph unicode="&#xae;" d="M111 723q0 311 212 529t515 218q305 0 519 -218t214 -529t-214 -529.5t-519 -218.5q-303 0 -515 218.5t-212 529.5zM260 723q0 -256 167 -432t411 -176q248 0 415.5 176t167.5 432t-168 432t-415 176q-244 0 -411 -176t-167 -432zM588 340v772h297q111 0 177 -64.5 t66 -170.5q0 -82 -43 -136.5t-98 -68.5v-4q8 -8 27 -43l147 -285h-160l-143 299h-125v-299h-145zM733 745h123q57 0 91 35t34 97q0 59 -34 91.5t-91 32.5h-123v-256z" />
<glyph unicode="&#xaf;" horiz-adv-x="1021" d="M250 1606v143h522v-143h-522z" />
<glyph unicode="&#xb0;" horiz-adv-x="796" d="M88 1167q0 125 90 214t219 89t220.5 -89t91.5 -214t-91.5 -214t-220.5 -89t-219 88t-90 215zM246 1167.5q0 -63.5 44 -107.5t107.5 -44t107.5 44t44 107.5t-44 108.5t-107.5 45t-107.5 -45t-44 -108.5z" />
<glyph unicode="&#xb1;" horiz-adv-x="1394" d="M156 504v160h458v503h168v-503h457v-160h-457v-504h-168v504h-458zM188 -195h1018v-159h-1018v159z" />
<glyph unicode="&#xb2;" horiz-adv-x="796" d="M96 940q0 96 45 171t108.5 121t127 86t108.5 87t45 102q0 57 -42 95t-105 38q-96 -4 -172 -98l-100 92l11 17q7 10 32.5 34.5t56.5 44t79 36t101 16.5q127 0 211 -75t84 -194q0 -82 -42 -147.5t-103.5 -107t-123 -78.5t-105.5 -81t-48 -98h436v-135h-598q0 8 -2 23.5 t-3 28t-1 22.5z" />
<glyph unicode="&#xb3;" horiz-adv-x="796" d="M82 981l86 109q8 -12 24.5 -29t70.5 -45.5t114 -28.5q68 0 119 45t51 111q0 68 -54.5 106.5t-127.5 38.5h-70l-33 78l182 211l50 49v4q-39 -6 -74 -6h-289v137h555v-98l-223 -258q102 -14 170.5 -81t68.5 -181q0 -121 -91 -209t-228 -88q-92 0 -167 33.5t-105 66.5z" />
<glyph unicode="&#xb4;" horiz-adv-x="1021" d="M330 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xb5;" horiz-adv-x="1267" d="M170 -410v1446h199v-618q0 -125 40 -191.5t152 -66.5q154 0 246 114.5t92 276.5v485h199v-1036h-193v141l4 72h-6q-4 -10 -12 -25.5t-40 -56.5t-72 -72.5t-108.5 -57.5t-148.5 -26q-131 2 -186 64h-4q14 -100 14 -160v-289h-176z" />
<glyph unicode="&#x3bc;" horiz-adv-x="1267" d="M170 -410v1446h199v-618q0 -125 40 -191.5t152 -66.5q154 0 246 114.5t92 276.5v485h199v-1036h-193v141l4 72h-6q-4 -10 -12 -25.5t-40 -56.5t-72 -72.5t-108.5 -57.5t-148.5 -26q-131 2 -186 64h-4q14 -100 14 -160v-289h-176z" />
<glyph unicode="&#xb6;" horiz-adv-x="1208" d="M88 970.5q0 200.5 142.5 338t340.5 137.5h557v-176h-401v-1372h-154v596q-199 0 -342 138t-143 338.5zM854 -102v1255h152v-1255h-152z" />
<glyph unicode="&#xb7;" horiz-adv-x="563" d="M180 489v211h203v-211h-203z" />
<glyph unicode="&#xb8;" horiz-adv-x="1021" d="M350 -291q41 -14 86 -14q98 0 98.5 63.5t-108.5 63.5l-37 -2l60 227l100 -20v-17l-25 -112q66 -8 107 -47t41 -103q0 -88 -60.5 -130t-148.5 -42q-66 0 -113 14v119z" />
<glyph unicode="&#xb9;" horiz-adv-x="796" d="M133 1550l217 211h139v-760h187v-135h-531v135h191v510l4 54h-4q-8 -18 -37 -45l-72 -70z" />
<glyph unicode="&#xba;" horiz-adv-x="956" d="M127 1130q0 145 101.5 241.5t246.5 96.5q147 0 249.5 -96t102.5 -242q0 -150 -101 -247t-248.5 -97t-249 97t-101.5 247zM160 543v116h639v-116h-639zM274 1130q0 -92 58.5 -152t144.5 -60q84 0 142.5 60t58.5 152q0 90 -58.5 148.5t-142.5 58.5q-86 0 -144.5 -58.5 t-58.5 -148.5z" />
<glyph unicode="&#xbb;" horiz-adv-x="1140" d="M102 158l336 420l-336 421h199l336 -421l-336 -420h-199zM516 158l336 420l-336 421h199l336 -421l-336 -420h-199z" />
<glyph unicode="&#xbc;" horiz-adv-x="1980" d="M109 1235l217 211h139v-760h186v-135h-530v135h190v510l4 53h-4q-8 -18 -37 -45l-71 -69zM535 0l688 1446h153l-688 -1446h-153zM1167 219v103l412 573h166v-541h125v-135h-125v-219h-152v219h-426zM1335 354h258v252l6 119h-4q-29 -55 -59 -98l-201 -269v-4z" />
<glyph unicode="&#xbd;" horiz-adv-x="1968" d="M109 1235l217 211h139v-760h186v-135h-530v135h190v510l4 53h-4q-8 -18 -37 -45l-71 -69zM539 0l688 1446h153l-688 -1446h-153zM1229 74q0 96 45 170.5t108.5 121t127 86.5t108.5 87t45 102q0 57 -42 95t-105 38q-96 -4 -173 -98l-100 92l11 16q7 10 33 35t56.5 44.5 t78.5 35.5t102 16q127 0 211 -74.5t84 -193.5q0 -82 -42 -147.5t-103.5 -107.5t-123 -79t-105.5 -81t-48 -97h436v-135h-598q0 8 -2 23.5t-3 28t-1 22.5z" />
<glyph unicode="&#xbe;" horiz-adv-x="2004" d="M82 666l86 108q8 -12 24.5 -28.5t70.5 -45t114 -28.5q68 0 119 45t51 110q0 68 -54.5 107t-127.5 39h-70l-33 78l182 211l50 49v4q-39 -6 -74 -6h-289v137h555v-98l-223 -258q102 -14 170.5 -81t68.5 -182q0 -121 -91 -209t-228 -88q-92 0 -167 34t-105 67zM559 0 l688 1446h154l-688 -1446h-154zM1192 219v103l412 573h165v-541h125v-135h-125v-219h-151v219h-426zM1360 354h258v252l6 119h-4q-29 -55 -59 -98l-201 -269v-4z" />
<glyph unicode="&#xbf;" horiz-adv-x="921" d="M80 -57q0 94 37 168.5t90 125t107.5 96.5t91 104.5t36.5 125.5v76h193v-88q0 -86 -36 -157.5t-86 -120.5l-101 -93q-51 -45 -87 -101t-36 -120q0 -86 66.5 -145.5t166.5 -59.5q57 0 115.5 22.5t87.5 43.5l31 22l108 -141q-6 -6 -16 -14.5t-45 -31t-74 -39.5t-98.5 -31.5 t-122.5 -14.5q-178 0 -303 103.5t-125 269.5zM438 838v198h203v-198h-203z" />
<glyph unicode="&#xc0;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM369 1806h213l149 -260h-168zM422 584h438l-160 458l-55 205h-4q-33 -131 -57 -205z" />
<glyph unicode="&#xc1;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM422 584h438l-160 458l-55 205h-4q-33 -131 -57 -205zM553 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xc2;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM358 1546l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174zM422 584h438l-160 458l-55 205h-4q-33 -131 -57 -205z" />
<glyph unicode="&#xc3;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM299 1548q0 260 209 260q59 0 104 -34.5t82 -69.5t72 -35q41 0 60.5 40t19.5 93h143q0 -260 -209 -260q-59 0 -104 35t-82 69.5t-72 34.5q-80 0 -80 -133h-143zM422 584h438l-160 458l-55 205h-4 q-33 -131 -57 -205z" />
<glyph unicode="&#xc4;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM391 1599v207h164v-207h-164zM422 584h438l-160 458l-55 205h-4q-33 -131 -57 -205zM733 1599v207h164v-207h-164z" />
<glyph unicode="&#xc5;" horiz-adv-x="1286" d="M16 0l521 1446h213l520 -1446h-211l-146 416h-544l-144 -416h-209zM422 584h438l-160 458l-55 205h-4q-33 -131 -57 -205zM469 1673q0 70 51 112t123 42t123 -42t51 -112q0 -68 -51 -109.5t-123 -41.5t-123 41.5t-51 109.5zM575 1673q0 -29 18.5 -48t49.5 -19 q29 0 48.5 19.5t19.5 47.5q0 33 -19.5 52.5t-48.5 19.5q-31 0 -49.5 -19.5t-18.5 -52.5z" />
<glyph unicode="&#xc6;" horiz-adv-x="1798" d="M8 0l598 1446h1057v-176h-639v-453h520v-176h-520v-465h674v-176h-875v643h-346l-258 -643h-211zM545 811h278v459h-94z" />
<glyph unicode="&#xc7;" horiz-adv-x="1482" d="M102 731q0 315 210 527t526 212q98 0 188 -19t148.5 -47t103.5 -56.5t65 -49.5l21 -18l-100 -152q-18 18 -53 44t-145 70t-220 44q-238 0 -386.5 -158.5t-148.5 -394.5q0 -238 150.5 -404.5t386.5 -166.5q121 0 232.5 47t162.5 94l51 47l109 -145l-23 -24 q-14 -15 -65 -52t-108.5 -66.5t-147.5 -56t-187 -31.5l-16 -77q66 -8 107 -47t41 -103q0 -88 -60.5 -130t-148.5 -42q-66 0 -113 14v119q41 -14 86 -14q98 0 98 63.5t-108 63.5l-37 -2l41 160q-291 27 -475.5 238.5t-184.5 512.5z" />
<glyph unicode="&#xc8;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM365 1806h213l149 -260h-168z" />
<glyph unicode="&#xc9;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM551 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xca;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM356 1546l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174z" />
<glyph unicode="&#xcb;" horiz-adv-x="1173" d="M197 0v1446h839v-176h-637v-453h519v-176h-519v-465h672v-176h-874zM387 1599v207h164v-207h-164zM729 1599v207h164v-207h-164z" />
<glyph unicode="&#xcc;" horiz-adv-x="595" d="M25 1806h213l149 -260h-168zM197 0v1446h202v-1446h-202z" />
<glyph unicode="&#xcd;" horiz-adv-x="595" d="M197 0v1446h202v-1446h-202zM211 1546l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xce;" horiz-adv-x="595" d="M14 1546l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174zM197 0v1446h202v-1446h-202z" />
<glyph unicode="&#xcf;" horiz-adv-x="595" d="M47 1599v207h164v-207h-164zM197 0v1446h202v-1446h-202zM389 1599v207h164v-207h-164z" />
<glyph unicode="&#xd0;" horiz-adv-x="1554" d="M115 639v168h121v639h479q336 0 534.5 -191.5t198.5 -529.5q0 -340 -198.5 -532.5t-534.5 -192.5h-479v639h-121zM438 176h262q248 0 393.5 143.5t145.5 405.5q0 260 -145.5 402.5t-393.5 142.5h-262v-463h305v-168h-305v-463z" />
<glyph unicode="&#xd1;" horiz-adv-x="1550" d="M197 0v1446h200l643 -940q25 -35 55 -87l48 -87l18 -35h4q-14 129 -14 209v940h203v-1446h-199l-645 938q-53 80 -121 211h-4q14 -129 14 -211v-938h-202zM430 1548q0 260 209 260q59 0 104 -34.5t82 -69.5t72 -35q41 0 60.5 40t19.5 93h143q0 -260 -209 -260 q-59 0 -104 35t-82 69.5t-72 34.5q-80 0 -80 -133h-143z" />
<glyph unicode="&#xd2;" d="M98 733q0 311 215 524t528.5 213t527.5 -213t214 -524q0 -319 -214 -538.5t-527.5 -219.5t-528.5 219.5t-215 538.5zM307 733q0 -242 155.5 -406.5t379 -164.5t378 165t154.5 406q0 236 -154.5 394.5t-378 158.5t-379 -158.5t-155.5 -394.5zM567 1806h213l150 -260h-168z " />
<glyph unicode="&#xd3;" d="M98 733q0 311 215 524t528.5 213t527.5 -213t214 -524q0 -319 -214 -538.5t-527.5 -219.5t-528.5 219.5t-215 538.5zM307 733q0 -242 155.5 -406.5t379 -164.5t378 165t154.5 406q0 236 -154.5 394.5t-378 158.5t-379 -158.5t-155.5 -394.5zM754 1546l149 260h213 l-196 -260h-166z" />
<glyph unicode="&#xd4;" d="M98 733q0 311 215 524t528.5 213t527.5 -213t214 -524q0 -319 -214 -538.5t-527.5 -219.5t-528.5 219.5t-215 538.5zM307 733q0 -242 155.5 -406.5t379 -164.5t378 165t154.5 406q0 236 -154.5 394.5t-378 158.5t-379 -158.5t-155.5 -394.5zM557 1546l180 260h207 l180 -260h-174l-108 164h-4l-107 -164h-174z" />
<glyph unicode="&#xd5;" d="M98 733q0 311 215 524t528.5 213t527.5 -213t214 -524q0 -319 -214 -538.5t-527.5 -219.5t-528.5 219.5t-215 538.5zM307 733q0 -242 155.5 -406.5t379 -164.5t378 165t154.5 406q0 236 -154.5 394.5t-378 158.5t-379 -158.5t-155.5 -394.5zM498 1548q0 260 209 260 q59 0 104 -34.5t82 -69.5t72 -35q41 0 60 40t19 93h144q0 -260 -209 -260q-59 0 -104.5 35t-82 69.5t-71.5 34.5q-80 0 -80 -133h-143z" />
<glyph unicode="&#xd6;" d="M98 733q0 311 215 524t528.5 213t527.5 -213t214 -524q0 -319 -214 -538.5t-527.5 -219.5t-528.5 219.5t-215 538.5zM307 733q0 -242 155.5 -406.5t379 -164.5t378 165t154.5 406q0 236 -154.5 394.5t-378 158.5t-379 -158.5t-155.5 -394.5zM590 1599v207h164v-207h-164z M932 1599v207h164v-207h-164z" />
<glyph unicode="&#xd7;" horiz-adv-x="1320" d="M129 113l422 471l-422 471l113 112l417 -467l420 467l113 -112l-424 -471l424 -471l-113 -113l-420 465l-417 -465z" />
<glyph unicode="&#xd8;" horiz-adv-x="1687" d="M102 733q0 311 215 524t529 213q205 0 379 -100l94 129l100 -69l-94 -132q123 -102 192.5 -248.5t69.5 -316.5q0 -319 -214 -538.5t-527 -219.5q-217 0 -393 109l-97 -135l-102 69l100 142q-119 104 -185.5 252.5t-66.5 320.5zM311 733q0 -246 160 -411l641 890 q-121 74 -266 74q-223 0 -379 -158.5t-156 -394.5zM567 242q125 -80 279 -80q223 0 377.5 165t154.5 406q0 248 -168 406z" />
<glyph unicode="&#xd9;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98 -257t266 -93q170 0 269.5 93t99.5 261v930h203v-934q0 -240 -158 -388.5t-411.5 -148.5t-411.5 148.5t-158 388.5zM471 1806h213l150 -260h-168z" />
<glyph unicode="&#xda;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98 -257t266 -93q170 0 269.5 93t99.5 261v930h203v-934q0 -240 -158 -388.5t-411.5 -148.5t-411.5 148.5t-158 388.5zM655 1546l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xdb;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98 -257t266 -93q170 0 269.5 93t99.5 261v930h203v-934q0 -240 -158 -388.5t-411.5 -148.5t-411.5 148.5t-158 388.5zM461 1546l180 260h207l180 -260h-174l-109 164h-4l-106 -164h-174z" />
<glyph unicode="&#xdc;" horiz-adv-x="1490" d="M176 512v934h203v-934q0 -164 98 -257t266 -93q170 0 269.5 93t99.5 261v930h203v-934q0 -240 -158 -388.5t-411.5 -148.5t-411.5 148.5t-158 388.5zM494 1599v207h163v-207h-163zM836 1599v207h163v-207h-163z" />
<glyph unicode="&#xdd;" horiz-adv-x="1204" d="M16 1446h230l268 -475l88 -183h4q43 100 88 183l264 475h230l-483 -834v-612h-203v612zM514 1546l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xde;" horiz-adv-x="1243" d="M197 0v1446h200v-246h328q201 0 327 -124t126 -328.5t-127 -331.5t-328 -127h-326v-289h-200zM397 465h295q131 0 206 75.5t75 207.5q0 129 -75 202.5t-204 73.5h-297v-559z" />
<glyph unicode="&#xdf;" horiz-adv-x="1204" d="M156 0v1085q0 180 131 282.5t311 102.5q168 0 278.5 -95t110.5 -234q0 -68 -31.5 -126.5t-70.5 -93t-71 -77.5t-32 -84q0 -35 38 -72t92.5 -73.5t107.5 -78.5t91 -104.5t38 -134.5q0 -147 -102.5 -229t-247.5 -82q-84 0 -157 14t-103 29l-31 16v176q115 -63 266 -63 q74 0 123 36.5t49 110.5q0 55 -57.5 109.5t-126 94.5t-125.5 105.5t-57 139.5q0 57 32.5 110.5t70.5 89t70.5 86t32.5 99.5q0 66 -51 112.5t-143 46.5q-98 0 -168 -59t-70 -168v-1071h-198z" />
<glyph unicode="&#xe0;" horiz-adv-x="1081" d="M72 291q0 356 624 356h45v19q0 227 -227 227q-156 -2 -289 -100l-82 145q16 14 48 34.5t132.5 54.5t206.5 34q197 0 303.5 -104.5t106.5 -301.5v-655h-184v98l4 82h-4l-12 -22q-7 -14 -34.5 -49t-61.5 -62t-94 -49.5t-130 -22.5q-143 0 -247.5 84.5t-104.5 231.5z M264 1446h213l150 -260h-168zM272 301q0 -68 51.5 -117t143.5 -49q119 0 197.5 103.5t78.5 226.5v33h-51q-420 0 -420 -197z" />
<glyph unicode="&#xe1;" horiz-adv-x="1081" d="M72 291q0 356 624 356h45v19q0 227 -227 227q-156 -2 -289 -100l-82 145q16 14 48 34.5t132.5 54.5t206.5 34q197 0 303.5 -104.5t106.5 -301.5v-655h-184v98l4 82h-4l-12 -22q-7 -14 -34.5 -49t-61.5 -62t-94 -49.5t-130 -22.5q-143 0 -247.5 84.5t-104.5 231.5z M272 301q0 -68 51.5 -117t143.5 -49q119 0 197.5 103.5t78.5 226.5v33h-51q-420 0 -420 -197zM446 1186l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xe2;" horiz-adv-x="1081" d="M72 291q0 356 624 356h45v19q0 227 -227 227q-156 -2 -289 -100l-82 145q16 14 48 34.5t132.5 54.5t206.5 34q197 0 303.5 -104.5t106.5 -301.5v-655h-184v98l4 82h-4l-12 -22q-7 -14 -34.5 -49t-61.5 -62t-94 -49.5t-130 -22.5q-143 0 -247.5 84.5t-104.5 231.5z M252 1186l180 260h207l180 -260h-174l-108 164h-5l-106 -164h-174zM272 301q0 -68 51.5 -117t143.5 -49q119 0 197.5 103.5t78.5 226.5v33h-51q-420 0 -420 -197z" />
<glyph unicode="&#xe3;" horiz-adv-x="1081" d="M72 291q0 356 624 356h45v19q0 227 -227 227q-156 -2 -289 -100l-82 145q16 14 48 34.5t132.5 54.5t206.5 34q197 0 303.5 -104.5t106.5 -301.5v-655h-184v98l4 82h-4l-12 -22q-7 -14 -34.5 -49t-61.5 -62t-94 -49.5t-130 -22.5q-143 0 -247.5 84.5t-104.5 231.5z M193 1188q0 260 208 260q59 0 104.5 -35t82.5 -69.5t71 -34.5q41 0 60.5 40t19.5 93h144q0 -260 -209 -260q-59 0 -104.5 34.5t-82 69.5t-71.5 35q-80 0 -80 -133h-143zM272 301q0 -68 51.5 -117t143.5 -49q119 0 197.5 103.5t78.5 226.5v33h-51q-420 0 -420 -197z" />
<glyph unicode="&#xe4;" horiz-adv-x="1081" d="M72 291q0 356 624 356h45v19q0 227 -227 227q-156 -2 -289 -100l-82 145q16 14 48 34.5t132.5 54.5t206.5 34q197 0 303.5 -104.5t106.5 -301.5v-655h-184v98l4 82h-4l-12 -22q-7 -14 -34.5 -49t-61.5 -62t-94 -49.5t-130 -22.5q-143 0 -247.5 84.5t-104.5 231.5z M272 301q0 -68 51.5 -117t143.5 -49q119 0 197.5 103.5t78.5 226.5v33h-51q-420 0 -420 -197zM285 1239v207h164v-207h-164zM627 1239v207h164v-207h-164z" />
<glyph unicode="&#xe5;" horiz-adv-x="1081" d="M72 291q0 356 624 356h45v19q0 227 -227 227q-156 -2 -289 -100l-82 145q16 14 48 34.5t132.5 54.5t206.5 34q197 0 303.5 -104.5t106.5 -301.5v-655h-184v98l4 82h-4l-12 -22q-7 -14 -34.5 -49t-61.5 -62t-94 -49.5t-130 -22.5q-143 0 -247.5 84.5t-104.5 231.5z M272 301q0 -68 51.5 -117t143.5 -49q119 0 197.5 103.5t78.5 226.5v33h-51q-420 0 -420 -197zM362 1313q0 70 51.5 111.5t123 41.5t123 -42t51.5 -111q0 -68 -51.5 -110t-123 -42t-123 42t-51.5 110zM469 1313q0 -29 18.5 -48.5t49.5 -19.5q29 0 48 19.5t19 48.5 q0 33 -19.5 52t-47.5 19q-31 0 -49.5 -19t-18.5 -52z" />
<glyph unicode="&#xe6;" horiz-adv-x="1769" d="M74 291q0 92 45 160.5t109.5 104.5t155.5 58.5t160.5 27.5t147.5 5h51v19q0 227 -233 227q-70 0 -140.5 -24.5t-107.5 -49.5l-37 -26l-80 145q6 4 17.5 13.5t48.5 29.5t78 36.5t105.5 30t129.5 13.5q260 0 344 -182h4q123 182 379 182q203 0 317.5 -142.5t114.5 -361.5 l-4 -59h-743q8 -170 103.5 -260.5t240.5 -90.5q80 0 156.5 30t113.5 61l37 28l82 -143q-16 -16 -49 -41t-137.5 -66t-212.5 -41q-154 0 -268.5 69t-178.5 192h-4q-10 -29 -32.5 -65t-67.5 -84t-121 -80t-170 -32q-150 0 -252 85.5t-102 230.5zM276 301q0 -70 50.5 -118 t144.5 -48q121 0 197.5 103.5t76.5 228.5v31h-96q-373 0 -373 -197zM944 647h539q-4 125 -74 190.5t-172 65.5q-117 0 -195 -64.5t-98 -191.5z" />
<glyph unicode="&#xe7;" horiz-adv-x="1122" d="M84 518q0 231 156.5 387t398.5 156q115 0 212 -38t136 -77l41 -37l-94 -139q-12 12 -36 32.5t-98.5 53.5t-152.5 33q-156 0 -258 -104.5t-102 -264.5t103.5 -266.5t262.5 -106.5q86 0 166 35t117 70l37 35l80 -146l-17 -16q-10 -10 -47 -38t-79 -49.5t-108.5 -41 t-137.5 -21.5l-17 -77q66 -8 107 -47t41 -103q0 -88 -60.5 -130t-148.5 -42q-66 0 -113 14v119q41 -14 86 -14q98 0 98 63.5t-108 63.5l-37 -2l41 162q-209 29 -339 176t-130 360z" />
<glyph unicode="&#xe8;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q211 0 330 -137.5t119 -348.5l-7 -86h-755q8 -164 109.5 -253t246.5 -89q164 0 299 115l8 6l82 -145q-16 -16 -49 -41t-137.5 -66t-214.5 -41q-242 0 -395.5 155t-153.5 388zM295 639h553q-4 129 -75 196.5t-175 67.5 q-117 0 -200 -69.5t-103 -194.5zM330 1446h213l149 -260h-168z" />
<glyph unicode="&#xe9;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q211 0 330 -137.5t119 -348.5l-7 -86h-755q8 -164 109.5 -253t246.5 -89q164 0 299 115l8 6l82 -145q-16 -16 -49 -41t-137.5 -66t-214.5 -41q-242 0 -395.5 155t-153.5 388zM295 639h553q-4 129 -75 196.5t-175 67.5 q-117 0 -200 -69.5t-103 -194.5zM514 1186l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xea;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q211 0 330 -137.5t119 -348.5l-7 -86h-755q8 -164 109.5 -253t246.5 -89q164 0 299 115l8 6l82 -145q-16 -16 -49 -41t-137.5 -66t-214.5 -41q-242 0 -395.5 155t-153.5 388zM295 639h553q-4 129 -75 196.5t-175 67.5 q-117 0 -200 -69.5t-103 -194.5zM317 1186l181 260h207l180 -260h-174l-109 164h-4l-106 -164h-175z" />
<glyph unicode="&#xeb;" horiz-adv-x="1136" d="M84 518q0 244 146.5 393.5t371.5 149.5q211 0 330 -137.5t119 -348.5l-7 -86h-755q8 -164 109.5 -253t246.5 -89q164 0 299 115l8 6l82 -145q-16 -16 -49 -41t-137.5 -66t-214.5 -41q-242 0 -395.5 155t-153.5 388zM295 639h553q-4 129 -75 196.5t-175 67.5 q-117 0 -200 -69.5t-103 -194.5zM350 1239v207h164v-207h-164zM692 1239v207h164v-207h-164z" />
<glyph unicode="&#xec;" horiz-adv-x="509" d="M-18 1446h213l149 -260h-168zM156 0v1036h198v-1036h-198z" />
<glyph unicode="&#xed;" horiz-adv-x="509" d="M156 0v1036h198v-1036h-198zM168 1186l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xee;" horiz-adv-x="509" d="M-27 1186l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174zM156 0v1036h198v-1036h-198z" />
<glyph unicode="&#xef;" horiz-adv-x="509" d="M4 1239v207h164v-207h-164zM156 0v1036h198v-1036h-198zM346 1239v207h164v-207h-164z" />
<glyph unicode="&#xf0;" horiz-adv-x="1206" d="M88 481q0 193 130 333t355 140q158 -2 252 -86h4q-61 164 -223 273l-370 -164l-21 127l254 113q-125 63 -264 94l55 162q238 -53 424 -164l285 125l18 -125l-188 -86q295 -246 295 -660q0 -109 -30 -209t-89.5 -187t-163.5 -139.5t-238 -52.5q-223 0 -354 150.5 t-131 355.5zM289 477q0 -135 76.5 -232.5t212.5 -97.5q80 0 142 34t98 91.5t54.5 122t18.5 133.5q0 117 -79 192t-210 75q-150 0 -231.5 -93.5t-81.5 -224.5z" />
<glyph unicode="&#xf1;" horiz-adv-x="1234" d="M156 0v1036h192v-137l-4 -76h4q41 88 139.5 163t249.5 75q356 0 357 -397v-664h-199v618q0 125 -41 193t-156 68q-117 0 -206 -71t-121 -183q-16 -55 -17 -140v-485h-198zM297 1188q0 260 209 260q59 0 104 -35t82 -69.5t72 -34.5q41 0 60.5 40t19.5 93h143 q0 -260 -209 -260q-59 0 -104 34.5t-82 69.5t-72 35q-80 0 -80 -133h-143z" />
<glyph unicode="&#xf2;" horiz-adv-x="1277" d="M80 520.5q0 233.5 161.5 387t397 153.5t397.5 -153.5t162 -387t-163 -389.5t-396 -156t-396 156t-163 389.5zM283 520q0 -160 104.5 -266.5t251.5 -106.5q150 0 253 105.5t103 267.5q0 160 -103.5 264.5t-252.5 104.5q-147 0 -251.5 -104.5t-104.5 -264.5zM365 1446h213 l149 -260h-168z" />
<glyph unicode="&#xf3;" horiz-adv-x="1277" d="M80 520.5q0 233.5 161.5 387t397 153.5t397.5 -153.5t162 -387t-163 -389.5t-396 -156t-396 156t-163 389.5zM283 520q0 -160 104.5 -266.5t251.5 -106.5q150 0 253 105.5t103 267.5q0 160 -103.5 264.5t-252.5 104.5q-147 0 -251.5 -104.5t-104.5 -264.5zM551 1186 l149 260h213l-196 -260h-166z" />
<glyph unicode="&#xf4;" horiz-adv-x="1277" d="M80 520.5q0 233.5 161.5 387t397 153.5t397.5 -153.5t162 -387t-163 -389.5t-396 -156t-396 156t-163 389.5zM283 520q0 -160 104.5 -266.5t251.5 -106.5q150 0 253 105.5t103 267.5q0 160 -103.5 264.5t-252.5 104.5q-147 0 -251.5 -104.5t-104.5 -264.5zM356 1186 l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174z" />
<glyph unicode="&#xf5;" horiz-adv-x="1277" d="M80 520.5q0 233.5 161.5 387t397 153.5t397.5 -153.5t162 -387t-163 -389.5t-396 -156t-396 156t-163 389.5zM283 520q0 -160 104.5 -266.5t251.5 -106.5q150 0 253 105.5t103 267.5q0 160 -103.5 264.5t-252.5 104.5q-147 0 -251.5 -104.5t-104.5 -264.5zM295 1188 q0 260 209 260q59 0 104 -35t82 -69.5t72 -34.5q41 0 60.5 40t19.5 93h143q0 -260 -209 -260q-59 0 -104 34.5t-82 69.5t-72 35q-80 0 -80 -133h-143z" />
<glyph unicode="&#xf6;" horiz-adv-x="1277" d="M80 520.5q0 233.5 161.5 387t397 153.5t397.5 -153.5t162 -387t-163 -389.5t-396 -156t-396 156t-163 389.5zM283 520q0 -160 104.5 -266.5t251.5 -106.5q150 0 253 105.5t103 267.5q0 160 -103.5 264.5t-252.5 104.5q-147 0 -251.5 -104.5t-104.5 -264.5zM387 1239v207 h164v-207h-164zM729 1239v207h164v-207h-164z" />
<glyph unicode="&#xf7;" horiz-adv-x="1300" d="M133 504v160h1034v-160h-1034zM553 90v186h192v-186h-192zM553 891v186h192v-186h-192z" />
<glyph unicode="&#xf8;" horiz-adv-x="1277" d="M80 520q0 233 161.5 387t397.5 154q147 0 276 -68l82 113l97 -70l-80 -110q184 -158 184 -406q0 -233 -163 -389t-396 -156q-137 0 -262 60l-80 -113l-98 72l75 106q-194 158 -194 420zM283 520q0 -160 102 -266l426 592q-82 43 -172 43q-147 0 -251.5 -104.5 t-104.5 -264.5zM483 182q74 -35 156 -35q150 0 253 105.5t103 267.5q0 147 -92 250z" />
<glyph unicode="&#xf9;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -125 40 -191.5t155 -66.5q152 0 243.5 114.5t91.5 276.5v485h199v-1036h-192v137l4 76h-4q-39 -90 -140.5 -164t-240.5 -74q-355 1 -355 398zM332 1446h213l149 -260h-168z" />
<glyph unicode="&#xfa;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -125 40 -191.5t155 -66.5q152 0 243.5 114.5t91.5 276.5v485h199v-1036h-192v137l4 76h-4q-39 -90 -140.5 -164t-240.5 -74q-355 1 -355 398zM516 1186l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xfb;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -125 40 -191.5t155 -66.5q152 0 243.5 114.5t91.5 276.5v485h199v-1036h-192v137l4 76h-4q-39 -90 -140.5 -164t-240.5 -74q-355 1 -355 398zM322 1186l180 260h207l180 -260h-174l-109 164h-4l-106 -164h-174z" />
<glyph unicode="&#xfc;" horiz-adv-x="1224" d="M141 373v663h199v-618q0 -125 40 -191.5t155 -66.5q152 0 243.5 114.5t91.5 276.5v485h199v-1036h-192v137l4 76h-4q-39 -90 -140.5 -164t-240.5 -74q-355 1 -355 398zM354 1239v207h164v-207h-164zM696 1239v207h164v-207h-164z" />
<glyph unicode="&#xfd;" horiz-adv-x="1044" d="M4 1036h223l260 -678l39 -125h4q16 70 35 123l252 680h215l-485 -1222q-47 -117 -136 -180.5t-200 -63.5q-51 0 -101.5 16.5t-74.5 32.5l-25 14l70 152q57 -43 121 -43q123 0 186 152l51 118zM440 1186l150 260h213l-197 -260h-166z" />
<glyph unicode="&#xfe;" horiz-adv-x="1228" d="M156 -410v1856h198v-471l-2 -86h4q2 2 19 22l29 36q13 15 43 38t61 38t77 26.5t97 11.5q209 0 335 -151.5t126 -391t-130 -391.5t-337 -152q-66 0 -124 17.5t-93 43t-59.5 50.5t-34.5 41l-11 18h-4q4 -37 4 -90v-465h-198zM348 516q0 -162 81 -265.5t216 -103.5 q127 0 211 102.5t84 268.5q0 164 -80 267.5t-211 103.5q-129 0 -215 -92.5t-86 -280.5z" />
<glyph unicode="&#xff;" horiz-adv-x="1044" d="M4 1036h223l260 -678l39 -125h4q16 70 35 123l252 680h215l-485 -1222q-47 -117 -136 -180.5t-200 -63.5q-51 0 -101.5 16.5t-74.5 32.5l-25 14l70 152q57 -43 121 -43q123 0 186 152l51 118zM276 1239v207h164v-207h-164zM618 1239v207h164v-207h-164z" />
<glyph unicode="&#x152;" horiz-adv-x="1966" d="M98 725q0 313 214 526t534 213q53 0 136 -9t116 -9h733v-176h-639v-453h520v-176h-520v-465h676v-176h-768q-33 0 -117 -9t-137 -9q-317 0 -532.5 214t-215.5 529zM307 725q0 -242 151.5 -404.5t387.5 -162.5q37 0 72.5 3t54.5 7l18 4v1102q-63 16 -145 16 q-236 0 -387.5 -162.5t-151.5 -402.5z" />
<glyph unicode="&#x153;" horiz-adv-x="2048" d="M82 516q0 240 160.5 392.5t392.5 152.5q301 0 448 -246h4q131 246 426 246q211 0 330 -137.5t119 -348.5l-6 -86h-756q12 -164 112.5 -253t243.5 -89q164 0 299 115l9 6l82 -145q-16 -16 -49 -41t-137.5 -66t-215.5 -41q-313 0 -452 252h-5q-145 -252 -452 -252 q-231 0 -392 150.5t-161 390.5zM285 516q0 -164 102 -266.5t251.5 -102.5t253 103.5t103.5 271.5q0 162 -104.5 264.5t-251.5 102.5t-250.5 -103.5t-103.5 -269.5zM1206 639h553q-4 127 -73.5 195.5t-174.5 68.5q-119 0 -202 -69.5t-103 -194.5z" />
<glyph unicode="&#x178;" horiz-adv-x="1204" d="M16 1446h230l268 -475l88 -183h4q43 100 88 183l264 475h230l-483 -834v-612h-203v612zM344 1599v207h164v-207h-164zM686 1599v207h164v-207h-164z" />
<glyph unicode="&#x2c6;" horiz-adv-x="1021" d="M227 1546l181 260h206l181 -260h-174l-109 164h-4l-107 -164h-174z" />
<glyph unicode="&#x2dc;" horiz-adv-x="1021" d="M166 1548q0 260 209 260q59 0 104 -34.5t82 -69.5t72 -35q41 0 60.5 40t19.5 93h143q0 -260 -209 -260q-59 0 -104 35t-82 69.5t-72 34.5q-80 0 -80 -133h-143z" />
<glyph unicode="&#x2000;" horiz-adv-x="913" />
<glyph unicode="&#x2001;" horiz-adv-x="1826" />
<glyph unicode="&#x2002;" horiz-adv-x="913" />
<glyph unicode="&#x2003;" horiz-adv-x="1826" />
<glyph unicode="&#x2004;" horiz-adv-x="608" />
<glyph unicode="&#x2005;" horiz-adv-x="456" />
<glyph unicode="&#x2006;" horiz-adv-x="303" />
<glyph unicode="&#x2007;" horiz-adv-x="303" />
<glyph unicode="&#x2008;" horiz-adv-x="227" />
<glyph unicode="&#x2009;" horiz-adv-x="364" />
<glyph unicode="&#x200a;" horiz-adv-x="100" />
<glyph unicode="&#x2010;" horiz-adv-x="966" d="M184 496v176h598v-176h-598z" />
<glyph unicode="&#x2011;" horiz-adv-x="966" d="M184 496v176h598v-176h-598z" />
<glyph unicode="&#x2013;" horiz-adv-x="1445" d="M184 504v160h1078v-160h-1078z" />
<glyph unicode="&#x2014;" horiz-adv-x="1855" d="M184 504v160h1487v-160h-1487z" />
<glyph unicode="&#x2018;" horiz-adv-x="464" d="M100 1069l136 399h145l-88 -399h-193z" />
<glyph unicode="&#x2019;" horiz-adv-x="448" d="M104 1071l89 399h192l-133 -399h-148z" />
<glyph unicode="&#x201a;" horiz-adv-x="499" d="M86 -184l88 399h186l-133 -399h-141z" />
<glyph unicode="&#x201c;" horiz-adv-x="755" d="M100 1069l136 399h147l-88 -399h-195zM389 1069l135 399h148l-88 -399h-195z" />
<glyph unicode="&#x201d;" horiz-adv-x="737" d="M104 1071l89 399h194l-135 -399h-148zM393 1071l88 399h195l-133 -399h-150z" />
<glyph unicode="&#x201e;" horiz-adv-x="784" d="M86 -184l88 399h186l-133 -399h-141zM369 -184l88 399h188l-133 -399h-143z" />
<glyph unicode="&#x2022;" horiz-adv-x="841" d="M104 596q0 133 93.5 225t224.5 92t223 -93t92 -224t-92 -224t-223 -93t-224.5 92t-93.5 225z" />
<glyph unicode="&#x2026;" horiz-adv-x="1576" d="M156 0v211h202v-211h-202zM686 0v211h205v-211h-205zM1219 0v211h202v-211h-202z" />
<glyph unicode="&#x202f;" horiz-adv-x="364" />
<glyph unicode="&#x2039;" horiz-adv-x="727" d="M90 578l336 421h199l-336 -421l336 -420h-199z" />
<glyph unicode="&#x203a;" horiz-adv-x="727" d="M102 158l336 420l-336 421h199l336 -421l-336 -420h-199z" />
<glyph unicode="&#x205f;" horiz-adv-x="456" />
<glyph unicode="&#x20ac;" horiz-adv-x="1210" d="M78 528v129h112q-8 82 0 148h-112v131h137q61 236 251.5 385t440.5 149q51 0 102.5 -6t77.5 -12l27 -6l-49 -186q-76 23 -162 22q-170 0 -296 -94t-177 -252h576l-27 -131h-578q-12 -68 -2 -148h553l-26 -129h-492q47 -162 177 -261t300 -99q45 0 92.5 6t69.5 14l25 7 l39 -185q-98 -35 -230 -35q-258 0 -447.5 153t-246.5 400h-135z" />
<glyph unicode="&#x2122;" horiz-adv-x="1925" d="M47 1309v137h778v-137h-311v-764h-156v764h-311zM891 545l72 901h141l213 -471l29 -86h4q12 49 26 86l213 471h144l69 -901h-153l-43 538l2 62h-4l-195 -434h-125l-194 434h-5l2 -62l-43 -538h-153z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 51 KiB

View File

@ -1,4 +0,0 @@
RedirectMatch 301 /docs/$ /reference/compass/
RedirectMatch 301 /docs/tutorials/(.*) /help/tutorials/$1
RedirectMatch 301 /docs/(.*) /$1
RedirectMatch 301 /reference/$ /reference/compass/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -6,17 +6,5 @@ $(function(){
$('span.arg[data-default-value]').each(function(i,e){
e = $(e);
e.attr("title", "Defaults to: " + e.attr("data-default-value"))
});
})
});
/*;(function()
{
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
function Brush(){};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['sass', 'scss', 'css', 'html'];
SyntaxHighlighter.brushes.Sass = Brush;
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();*/

View File

@ -1,87 +0,0 @@
function showInstallCommand() {
var cmd = $("#existence").val();
var commands = [];
var notes = [];
var project_name = "&lt;myproject>";
var can_be_bare = true;
commands.push("$ gem install compass");
if (cmd == "init") {
commands.push("$ cd " + project_name);
project_name = ".";
}
if ($("#app-type").val() == "rails") {
if (cmd == "create") {
commands.push("$ rails new " + project_name);
}
cmd = "init rails";
can_be_bare = false;
} else if ($("#app-type").val() == "other") {
if (cmd == "init") {
cmd = "create";
}
} else if ($("#app-type").val() == "stand-alone") {
if (cmd == "init") {
cmd = "install";
can_be_bare = false;
}
}
var framework = $("#framework").val();
var create_command;
if (cmd == "install") {
create_command = "$ compass install " + framework + " " + project_name;
} else {
create_command = "$ compass " + cmd + " " + project_name;
}
if (framework != "compass" && framework != "bare" && cmd != "install") {
create_command = create_command + " --using " + framework;
} else if (framework == "bare") {
if (can_be_bare) {
create_command = create_command + " --bare";
} else {
notes.push("<p class='note warning'>You cannot create a bare project in this configuration. Feel free to remove any stylesheets that you don't want.</p>");
}
}
if ($("#syntax").val() == "sass") {
create_command = create_command + " --syntax sass";
}
if ($("#options").val() == "customized") {
$("#directories").show();
create_command = create_command +
" --sass-dir \"" + $("#sassdir").val() + "\"" +
" --css-dir \"" + $("#cssdir").val() + "\"" +
" --javascripts-dir \"" + $("#jsdir").val() + "\"" +
" --images-dir \"" + $("#imagesdir").val() + "\"";
} else {
$("#directories").hide();
}
commands.push(create_command);
var instructions = "<pre><code>" + commands.join("\n") + "</code></pre>";
if (instructions.match(/&lt;/)) {
notes.push("<p class='note'>Note: Values indicated by &lt;&gt; are placeholders. Change them to suit your needs.</em>");
}
$("#steps").html(instructions + notes.join(""));
}
function attachMadlibBehaviors() {
$("#app-type").change(function(event) {
var val = $(event.target).val();
if (val == "other") {
$("#options").val("customized");
$(".madlib").addClass("customizable");
} else if (val == "rails") {
$("#options").val("default");
$(".madlib").removeClass("customizable");
} else {
$(".madlib").addClass("customizable");
}
});
$("#existence, #app-type, #framework, #syntax, #options").change(showInstallCommand);
$(".madlib input").keyup(function(){setTimeout(showInstallCommand, 0.1)});
}
function setupMadlib() {
attachMadlibBehaviors();
showInstallCommand();
}
$(setupMadlib);

View File

@ -1,96 +0,0 @@
/**
* Cookie plugin
*
* Copyright (c) 2006 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
/**
* Create a cookie with the given name and value and other optional parameters.
*
* @example $.cookie('the_cookie', 'the_value');
* @desc Set the value of a cookie.
* @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
* @desc Create a cookie with all available options.
* @example $.cookie('the_cookie', 'the_value');
* @desc Create a session cookie.
* @example $.cookie('the_cookie', null);
* @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
* used when the cookie was set.
*
* @param String name The name of the cookie.
* @param String value The value of the cookie.
* @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
* @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
* If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
* If set to null or omitted, the cookie will be a session cookie and will not be retained
* when the the browser exits.
* @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
* @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
* @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
* require a secure protocol (like HTTPS).
* @type undefined
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
/**
* Get the value of a cookie with the given name.
*
* @example $.cookie('the_cookie');
* @desc Get the value of a cookie.
*
* @param String name The name of the cookie.
* @return The value of the cookie.
* @type String
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
}
// CAUTION: Needed to parenthesize options.path and options.domain
// in the following expressions, otherwise they evaluate to undefined
// in the packed version for some reason...
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else { // only name given, get cookie
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};

View File

@ -1,30 +0,0 @@
/*
* Modernizr v1.6
* http://www.modernizr.com
*
* Developed by:
* - Faruk Ates http://farukat.es/
* - Paul Irish http://paulirish.com/
*
* Copyright (c) 2009-2010
* Dual-licensed under the BSD or MIT licenses.
* http://www.modernizr.com/license/
*/
window.Modernizr=function(i,e,u){function s(a,b){return(""+a).indexOf(b)!==-1}function D(a,b){for(var c in a)if(j[a[c]]!==u&&(!b||b(a[c],E)))return true}function n(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1);c=(a+" "+F.join(c+" ")+c).split(" ");return!!D(c,b)}function S(){f.input=function(a){for(var b=0,c=a.length;b<c;b++)L[a[b]]=!!(a[b]in h);return L}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" "));f.inputtypes=function(a){for(var b=0,c,k=a.length;b<
k;b++){h.setAttribute("type",a[b]);if(c=h.type!=="text"){h.value=M;if(/^range$/.test(h.type)&&h.style.WebkitAppearance!==u){l.appendChild(h);c=e.defaultView;c=c.getComputedStyle&&c.getComputedStyle(h,null).WebkitAppearance!=="textfield"&&h.offsetHeight!==0;l.removeChild(h)}else/^(search|tel)$/.test(h.type)||(c=/^(url|email)$/.test(h.type)?h.checkValidity&&h.checkValidity()===false:h.value!=M)}N[a[b]]=!!c}return N}("search tel url email datetime date month week time datetime-local number range color".split(" "))}
var f={},l=e.documentElement,E=e.createElement("modernizr"),j=E.style,h=e.createElement("input"),M=":)",O=Object.prototype.toString,q=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),F="Webkit Moz O ms Khtml".split(" "),v={svg:"http://www.w3.org/2000/svg"},d={},N={},L={},P=[],w,Q=function(a){var b=document.createElement("style"),c=e.createElement("div");b.textContent=a+"{#modernizr{height:3px}}";(e.head||e.getElementsByTagName("head")[0]).appendChild(b);c.id="modernizr";l.appendChild(c);a=c.offsetHeight===
3;b.parentNode.removeChild(b);c.parentNode.removeChild(c);return!!a},o=function(){var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return function(b,c){c=c||document.createElement(a[b]||"div");b="on"+b;var k=b in c;if(!k){c.setAttribute||(c=document.createElement("div"));if(c.setAttribute&&c.removeAttribute){c.setAttribute(b,"");k=typeof c[b]=="function";if(typeof c[b]!="undefined")c[b]=u;c.removeAttribute(b)}}return k}}(),G={}.hasOwnProperty,R;R=
typeof G!=="undefined"&&typeof G.call!=="undefined"?function(a,b){return G.call(a,b)}:function(a,b){return b in a&&typeof a.constructor.prototype[b]==="undefined"};d.flexbox=function(){var a=e.createElement("div"),b=e.createElement("div");(function(k,g,r,x){g+=":";k.style.cssText=(g+q.join(r+";"+g)).slice(0,-g.length)+(x||"")})(a,"display","box","width:42px;padding:0;");b.style.cssText=q.join("box-flex:1;")+"width:10px;";a.appendChild(b);l.appendChild(a);var c=b.offsetWidth===42;a.removeChild(b);
l.removeChild(a);return c};d.canvas=function(){var a=e.createElement("canvas");return!!(a.getContext&&a.getContext("2d"))};d.canvastext=function(){return!!(f.canvas&&typeof e.createElement("canvas").getContext("2d").fillText=="function")};d.webgl=function(){var a=e.createElement("canvas");try{if(a.getContext("webgl"))return true}catch(b){}try{if(a.getContext("experimental-webgl"))return true}catch(c){}return false};d.touch=function(){return"ontouchstart"in i||Q("@media ("+q.join("touch-enabled),(")+
"modernizr)")};d.geolocation=function(){return!!navigator.geolocation};d.postmessage=function(){return!!i.postMessage};d.websqldatabase=function(){return!!i.openDatabase};d.indexedDB=function(){for(var a=-1,b=F.length;++a<b;){var c=F[a].toLowerCase();if(i[c+"_indexedDB"]||i[c+"IndexedDB"])return true}return false};d.hashchange=function(){return o("hashchange",i)&&(document.documentMode===u||document.documentMode>7)};d.history=function(){return!!(i.history&&history.pushState)};d.draganddrop=function(){return o("drag")&&
o("dragstart")&&o("dragenter")&&o("dragover")&&o("dragleave")&&o("dragend")&&o("drop")};d.websockets=function(){return"WebSocket"in i};d.rgba=function(){j.cssText="background-color:rgba(150,255,150,.5)";return s(j.backgroundColor,"rgba")};d.hsla=function(){j.cssText="background-color:hsla(120,40%,100%,.5)";return s(j.backgroundColor,"rgba")||s(j.backgroundColor,"hsla")};d.multiplebgs=function(){j.cssText="background:url(//:),url(//:),red url(//:)";return/(url\s*\(.*?){3}/.test(j.background)};d.backgroundsize=
function(){return n("backgroundSize")};d.borderimage=function(){return n("borderImage")};d.borderradius=function(){return n("borderRadius","",function(a){return s(a,"orderRadius")})};d.boxshadow=function(){return n("boxShadow")};d.textshadow=function(){return e.createElement("div").style.textShadow===""};d.opacity=function(){var a=q.join("opacity:.5;")+"";j.cssText=a;return s(j.opacity,"0.5")};d.cssanimations=function(){return n("animationName")};d.csscolumns=function(){return n("columnCount")};d.cssgradients=
function(){var a=("background-image:"+q.join("gradient(linear,left top,right bottom,from(#9f9),to(white));background-image:")+q.join("linear-gradient(left top,#9f9, white);background-image:")).slice(0,-17);j.cssText=a;return s(j.backgroundImage,"gradient")};d.cssreflections=function(){return n("boxReflect")};d.csstransforms=function(){return!!D(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])};d.csstransforms3d=function(){var a=!!D(["perspectiveProperty","WebkitPerspective",
"MozPerspective","OPerspective","msPerspective"]);if(a)a=Q("@media ("+q.join("transform-3d),(")+"modernizr)");return a};d.csstransitions=function(){return n("transitionProperty")};d.fontface=function(){var a,b=e.head||e.getElementsByTagName("head")[0]||l,c=e.createElement("style"),k=e.implementation||{hasFeature:function(){return false}};c.type="text/css";b.insertBefore(c,b.firstChild);a=c.sheet||c.styleSheet;b=k.hasFeature("CSS2","")?function(g){if(!(a&&g))return false;var r=false;try{a.insertRule(g,
0);r=!/unknown/i.test(a.cssRules[0].cssText);a.deleteRule(a.cssRules.length-1)}catch(x){}return r}:function(g){if(!(a&&g))return false;a.cssText=g;return a.cssText.length!==0&&!/unknown/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(g.split(" ")[0])===0};f._fontfaceready=function(g){g(f.fontface)};return b('@font-face { font-family: "font"; src: "font.ttf"; }')};d.video=function(){var a=e.createElement("video"),b=!!a.canPlayType;if(b){b=new Boolean(b);b.ogg=a.canPlayType('video/ogg; codecs="theora"');
b.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"')||a.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"');b.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return b};d.audio=function(){var a=e.createElement("audio"),b=!!a.canPlayType;if(b){b=new Boolean(b);b.ogg=a.canPlayType('audio/ogg; codecs="vorbis"');b.mp3=a.canPlayType("audio/mpeg;");b.wav=a.canPlayType('audio/wav; codecs="1"');b.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")}return b};d.localstorage=function(){try{return"localStorage"in
i&&i.localStorage!==null}catch(a){return false}};d.sessionstorage=function(){try{return"sessionStorage"in i&&i.sessionStorage!==null}catch(a){return false}};d.webWorkers=function(){return!!i.Worker};d.applicationcache=function(){return!!i.applicationCache};d.svg=function(){return!!e.createElementNS&&!!e.createElementNS(v.svg,"svg").createSVGRect};d.inlinesvg=function(){var a=document.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==v.svg};d.smil=function(){return!!e.createElementNS&&
/SVG/.test(O.call(e.createElementNS(v.svg,"animate")))};d.svgclippaths=function(){return!!e.createElementNS&&/SVG/.test(O.call(e.createElementNS(v.svg,"clipPath")))};for(var H in d)if(R(d,H)){w=H.toLowerCase();f[w]=d[H]();P.push((f[w]?"":"no-")+w)}f.input||S();f.crosswindowmessaging=f.postmessage;f.historymanagement=f.history;f.addTest=function(a,b){a=a.toLowerCase();if(!f[a]){b=!!b();l.className+=" "+(b?"":"no-")+a;f[a]=b;return f}};j.cssText="";E=h=null;i.attachEvent&&function(){var a=e.createElement("div");
a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function c(p){for(var m=-1;++m<r;)p.createElement(g[m])}function k(p,m){for(var I=p.length,t=-1,y,J=[];++t<I;){y=p[t];m=y.media||m;J.push(k(y.imports,m));J.push(y.cssText)}return J.join("")}var g="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video".split("|"),r=g.length,x=RegExp("<(/*)(abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video)",
"gi"),T=RegExp("\\b(abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video)\\b(?!.*[;}])","gi"),z=b.createDocumentFragment(),A=b.documentElement,K=A.firstChild,B=b.createElement("style"),C=b.createElement("body");B.media="all";c(b);c(z);a.attachEvent("onbeforeprint",function(){for(var p=-1;++p<r;)for(var m=b.getElementsByTagName(g[p]),I=m.length,t=-1;++t<I;)if(m[t].className.indexOf("iepp_")<0)m[t].className+=" iepp_"+
g[p];K.insertBefore(B,K.firstChild);B.styleSheet.cssText=k(b.styleSheets,"all").replace(T,".iepp_$1");z.appendChild(b.body);A.appendChild(C);C.innerHTML=z.firstChild.innerHTML.replace(x,"<$1bdo")});a.attachEvent("onafterprint",function(){C.innerHTML="";A.removeChild(C);K.removeChild(B);A.appendChild(z.firstChild)})}(this,document);f._enableHTML5=true;f._version="1.6";l.className=l.className.replace(/\bno-js\b/,"")+" js";l.className+=" "+P.join(" ");return f}(this,this.document);

View File

@ -1,47 +0,0 @@
(function($) {
$.fn.replaceholder = function(options) {
var $placeholder;
(this.length > 0) ? $this = $(this) : $this = $('input[placeholder]');
return $this.each(function() {
settings = jQuery.extend(options);
var $placeholder = $(this);
if ($placeholder.length > 0) {
var attrPh = $placeholder.attr('placeholder');
$placeholder.attr('value', attrPh);
$placeholder.bind('focus', function() {
var $this = $(this);
if($this.val() === attrPh)
$this.val('').removeClass('placeholder');
}).bind('blur', function() {
var $this = $(this);
if($this.val() === '')
$this.val(attrPh).addClass('placeholder');
});
}
});
};
})(jQuery);
jQuery(function($){
$(document).ready(function(){
if (!Modernizr.input.placeholder) { $("input[placeholder], textarea[placeholder]").replaceholder() }
})
})

View File

@ -1,17 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(2(){1 h=5;h.I=2(){2 n(c,a){4(1 d=0;d<c.9;d++)i[c[d]]=a}2 o(c){1 a=r.H("J"),d=3;a.K=c;a.M="L/t";a.G="t";a.u=a.v=2(){6(!d&&(!8.7||8.7=="F"||8.7=="z")){d=q;e[c]=q;a:{4(1 p y e)6(e[p]==3)B a;j&&5.C(k)}a.u=a.v=x;a.D.O(a)}};r.N.R(a)}1 f=Q,l=h.P(),i={},e={},j=3,k=x,b;5.T=2(c){k=c;j=q};4(b=0;b<f.9;b++){1 m=f[b].w?f[b]:f[b].S(/\\s+/),g=m.w();n(m,g)}4(b=0;b<l.9;b++)6(g=i[l[b].E.A]){e[g]=3;o(g)}}})();',56,56,'|var|function|false|for|SyntaxHighlighter|if|readyState|this|length|||||||||||||||||true|document||javascript|onload|onreadystatechange|pop|null|in|complete|brush|break|highlight|parentNode|params|loaded|language|createElement|autoloader|script|src|text|type|body|removeChild|findElements|arguments|appendChild|split|all'.split('|'),0,{}))

View File

@ -1,91 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
function Brush()
{
function getKeywordsCSS(str)
{
return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
};
function getValuesCSS(str)
{
return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b';
};
var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +
'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +
'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +
'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +
'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +
'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +
'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +
'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +
'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +
'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +
'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +
'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +
'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +
'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';
var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+
'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+
'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double '+
'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+
'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+
'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+
'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+
'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+
'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+
'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+
'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+
'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+
'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+
'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings
{ regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors
{ regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g, css: 'value' }, // sizes
{ regex: /!important/g, css: 'color3' }, // !important
{ regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css: 'keyword' }, // keywords
{ regex: new RegExp(getValuesCSS(values), 'g'), css: 'value' }, // values
{ regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts
];
this.forHtmlScript({
left: /(&lt;|<)\s*style.*?(&gt;|>)/gi,
right: /(&lt;|<)\/\s*style\s*(&gt;|>)/gi
});
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['css'];
SyntaxHighlighter.brushes.CSS = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();

View File

@ -1,33 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
function Brush()
{
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['text', 'plain', 'haml'];
SyntaxHighlighter.brushes.Plain = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();

View File

@ -1,113 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
function Brush()
{
function getKeywordsCSS(str)
{
return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
};
function getValuesCSS(str)
{
return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b';
};
var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +
'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +
'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +
'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +
'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +
'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +
'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +
'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +
'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +
'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +
'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +
'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +
'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +
'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index zoom';
var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+
'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+
'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero digits disc dotted double '+
'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+
'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+
'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+
'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+
'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+
'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+
'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+
'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+
'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+
'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+
'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
var statements = '!important !default';
var preprocessors = 'import extend debug warn if for while mixin include';
var r = SyntaxHighlighter.regexLib;
var getKeywordsPrependedBy = function(keywords, by)
{
str = keywords
.replace(/^\s+|\s+$/g, '')
.replace(/\s+/g, '|' + by + '\\b')
.replace(/^/, by + '\\b')
;
return '(?:' + str + ')\\b';
}
this.regexList = [
{ regex: r.multiLineCComments, css: 'comments' }, // multiline comments
{ regex: r.singleLineCComments, css: 'comments' }, // singleline comments
{ regex: r.doubleQuotedString, css: 'string' }, // double quoted strings
{ regex: r.singleQuotedString, css: 'string' }, // single quoted strings
{ regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors
{ regex: /\b(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)\b/g, css: 'value' }, // sizes
{ regex: /(\$|!)\w+/g, css: 'variable' }, // variables
{ regex: new RegExp(this.getKeywords(statements), 'g'), css: 'color3' }, // statements
{ regex: new RegExp(getKeywordsPrependedBy(preprocessors, '@'), 'g'), css: 'preprocessor' }, // preprocessors
{ regex: new RegExp('(^|\\n)\\s*=.*', 'g'), css: 'functions' }, // short mixin declarations
{ regex: new RegExp('(^|\\n)\\s*\\+.*', 'g'), css: 'functions' }, // short mixin call
{ regex: new RegExp('&amp;', 'g'), css: 'keyword' }, // &
{ regex: new RegExp('#(\\w|-|_)+', 'g'), css: 'color2' }, // ids
{ regex: new RegExp('(\\.(\\w|-|_)+)', 'g'), css: 'color4' }, // classes
{ regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css: 'keyword' }, // keywords
{ regex: new RegExp(getKeywordsPrependedBy(keywords, ':'), 'g'), css: 'keyword' }, // :keyword value
{ regex: new RegExp(getValuesCSS(values), 'g'), css: 'value' }, // values
{ regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['sass', 'scss'];
SyntaxHighlighter.brushes.Sass = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();

View File

@ -1,91 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
function Brush()
{
function getKeywordsSCSS(str)
{
return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
};
function getValuesSCSS(str)
{
return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b';
};
var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +
'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +
'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +
'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +
'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +
'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +
'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +
'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +
'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +
'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +
'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +
'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +
'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +
'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';
var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+
'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+
'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double '+
'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+
'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+
'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+
'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+
'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+
'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+
'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+
'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+
'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+
'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+
'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings
{ regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors
{ regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g, css: 'value' }, // sizes
{ regex: /!important/g, css: 'color3' }, // !important
{ regex: new RegExp(getKeywordsSCSS(keywords), 'gm'), css: 'keyword' }, // keywords
{ regex: new RegExp(getValuesSCSS(values), 'g'), css: 'value' }, // values
{ regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts
];
this.forHtmlScript({
left: /(&lt;|<)\s*style.*?(&gt;|>)/gi,
right: /(&lt;|<)\/\s*style\s*(&gt;|>)/gi
});
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['scss'];
SyntaxHighlighter.brushes.SCSS = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();

View File

@ -1,69 +0,0 @@
/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
function Brush()
{
function process(match, regexInfo)
{
var constructor = SyntaxHighlighter.Match,
code = match[0],
tag = new XRegExp('(&lt;|<)[\\s\\/\\?]*(?<name>[:\\w-\\.]+)', 'xg').exec(code),
result = []
;
if (match.attributes != null)
{
var attributes,
regex = new XRegExp('(?<name> [\\w:\\-\\.]+)' +
'\\s*=\\s*' +
'(?<value> ".*?"|\'.*?\'|\\w+)',
'xg');
while ((attributes = regex.exec(code)) != null)
{
result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
}
}
if (tag != null)
result.push(
new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
);
return result;
}
this.regexList = [
{ regex: new XRegExp('(\\&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\&gt;|>)', 'gm'), css: 'color2' }, // <![ ... [ ... ]]>
{ regex: SyntaxHighlighter.regexLib.xmlComments, css: 'comments' }, // <!-- ... -->
{ regex: new XRegExp('(&lt;|<)[\\s\\/\\?]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(&gt;|>)', 'sg'), func: process }
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['xml', 'xhtml', 'xslt', 'html'];
SyntaxHighlighter.brushes.Xml = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();

File diff suppressed because one or more lines are too long

View File

@ -1,118 +0,0 @@
function changeTheme(theme, setCookie) {
el = $('html');
if (!theme) theme = el.hasClass('dark') ? 'light': 'dark';
else if (el.hasClass(theme)) return;
el.removeClass('light');
el.removeClass('dark');
el.addClass(theme);
setThemePreference(theme);
}
function changeSyntax(style, setCookie){
el = $('html');
el.removeClass('scss'); el.removeClass('sass');
el.addClass(style);
setStyleSyntaxPreference(style);
}
function changeExampleStyleSyntax(style, setCookie){
el = $('html');
el.removeClass('scss'); el.removeClass('sass'); el.removeClass('css');
el.addClass(style);
setExampleStyleSyntaxPreference(style);
}
function changeExampleMarkupSyntax(markup){
el = $('html');
el.removeClass('haml'); el.removeClass('html');
el.addClass(markup);
setExampleMarkupSyntaxPreference(markup);
}
function setThemePreference(theme) {
$.cookie("compass-theme", null);
$.cookie("compass-theme", theme, {
expires: 60 * 60 * 24 * 365 * 10,
path: '/'
});
}
function getThemePreference(defaultTheme) {
theme = $.cookie("compass-theme");
if (theme) {
changeTheme(theme, false);
} else {
changeTheme(defaultTheme, true);
}
}
function setStyleSyntaxPreference (mainSyntax) {
$.cookie("compass-syntax", null);
$.cookie("compass-syntax", mainSyntax, { expires: 60 * 60 * 24 * 365 * 10, path: '/' });
}
function setExampleStyleSyntaxPreference (exampleStyle) {
$.cookie("compass-example-style", null);
$.cookie("compass-example-style", exampleStyle, { expires: 60 * 60 * 24 * 365 * 10, path: '/' });
}
function setExampleMarkupSyntaxPreference (exampleMarkup) {
$.cookie("compass-example-markup", null);
$.cookie("compass-example-markup", exampleMarkup, { expires: 60 * 60 * 24 * 365 * 10, path: '/' });
}
function getSyntaxPreference(defaultSyntax, defaultMarkup) {
mainSyntaxCookie = $.cookie("compass-syntax");
mainSyntax = (mainSyntaxCookie) ? mainSyntaxCookie : defaultSyntax;
changeSyntax(mainSyntax);
// add example styling preferences
if ($('body').hasClass('demo')){
markupCookie = $.cookie("compass-example-markup");
styleCookie = $.cookie("compass-example-style");
markup = (markupCookie) ? markupCookie : defaultMarkup;
style = (styleCookie) ? styleCookie : defaultSyntax;
changeExampleStyleSyntax(style)
changeExampleMarkupSyntax(markup);
}
}
getThemePreference('dark');
$('document').ready(function(){
getSyntaxPreference('scss', 'html');
$('#page').click(function(event){
var target = $(event.target);
// Set Main Syntax Preference
if (target.parent().is('#syntax_pref')) {
changeSyntax(target.attr("rel"), true);
event.preventDefault();
// Set Demo page syntax preferences
} else if (target.parent().is('.syntax_pref')) {
event.preventDefault();
if (target.parent().parent().is('#markup')) {
changeExampleMarkupSyntax(target.attr("rel"), true);
} else {
changeExampleStyleSyntax(target.attr("rel"), true);
}
// Set Theme preference
} else if (target.is('#theme_pref') || target.parent().is('#theme_pref')) {
changeTheme();
event.preventDefault();
// View source for mixins & functions
} else if (target.attr("rel") == "view source") {
$(target.attr("href")).toggle();
event.preventDefault();
}
});
});

View File

@ -1,12 +0,0 @@
chris:
fullname: Chris Eppstein
byline_link: http://chriseppstein.github.com/
brandon:
fullname: Brandon Mathis
eric:
fullname: Eric Meyer
byline_link: http://eric.oddbird.net/
nico:
fullname: Nico Hagenburger
scott:
fullname: Scott Davis

View File

@ -6,6 +6,5 @@ data_sources:
- items_root: /assets
layouts_root: /assets
type: filesystem_assets
text_extensions: [ 'css', 'erb', 'haml', 'htm', 'html', 'js', 'less', 'markdown', 'md', 'php', 'rb', 'sass', 'scss', 'txt', 'xml' ]
output_dir: output
base_url: http://compass-style.org
text_extensions: [ 'css', 'erb', 'haml', 'htm', 'html', 'js', 'less', 'markdown', 'md', 'php', 'rb', 'sass', 'scss', 'txt' ]
output_dir: ..

View File

@ -1,19 +0,0 @@
# Lines starting with pound sign (#) are ignored.
# additional extensions to monitor
#config.exts << 'haml'
# exclude files with NAMES matching this mask
#config.exclusions << '~*'
# exclude files with PATHS matching this mask (if the mask contains a slash)
#config.exclusions << '/excluded_dir/*'
# exclude files with PATHS matching this REGEXP
#config.exclusions << /somedir.*(ab){2,4}.(css|js)$/
# reload the whole page when .js changes
#config.apply_js_live = false
# reload the whole page when .css changes
#config.apply_css_live = false
# wait 100ms for more changes before reloading a page
#config.grace_period = 0.1

View File

@ -42,13 +42,13 @@ layout: article
* [Compass Core] The gradient mixins now accept a background image that will
be placed over the gradient. Credit: [Will Leinweber](http://bitfission.com/)
* [Compass Core] You can now opt out of support for specific browsers in
the css3 module. See [the docs](/reference/compass/css3/shared/)
the css3 module. See [the docs](/docs/reference/compass/css3/shared/)
for more details.
0.10.0.rc4 (April 27, 2010)
---------------------------
* Lot of new docs can be found at: [http://compass-style.org/](http://compass-style.org/).
* Lot of new docs can be found at: [http://compass-style.org/docs/](http://compass-style.org/docs/).
* The `unobtrusive-logo` mixin is deprecated and will be removed.
If you use this, please move the source to your project.
* The CSS3 modules were refactored to share a common implementation that
@ -84,7 +84,7 @@ layout: article
* Compass now depends on Sass 3 -- Please be prepared to upgrade.
Things won't break but you'll have a lot of deprecation warnings.
Upgrading is pretty easy thanks to the `sass-convert` tool. See the
[Sass Changelog](http://beta.sass-lang.com/yardoc/file.SASS_CHANGELOG.html)
[Sass Changelog](http://beta.sass-lang.com/docs/yardoc/file.SASS_CHANGELOG.html)
for more information.
* All compass stylesheets are now written in the SCSS syntax,
if you import compass framework stylesheets with an explicit

View File

@ -1,282 +0,0 @@
---
title: Compass v0.11.0 Beta History
crumb: CHANGELOG
body_id: changelog
layout: article
---
0.11.beta.8 (UNRELEASED)
------------------------
* Created an official API to add configuration options to compass.
[More information](/help/tutorials/extending/).
0.11.beta.7 (04/16/2011)
------------------------
* Added support for the new webkit gradient syntax that matches the css3 specification.
Support for older webkit browsers remains enabled at this time.
To disable it, set `$support-for-original-webkit-gradients` to false.
* There is a new mixin for creating
[pure-css grid backgrounds](/reference/compass/layout/grid_background/)
for verifying grid alignment for both fixed and fluid grids.
* Add support for pixel-based gradients in the original webkit gradient syntax.
* Added a vertical rhythm function for calculating rhythms without returning a property.
0.11.beta.6 (04/10/2011)
------------------------
* Added support for degree-based linear and radial gradients (not yet supported for SVG gradients)
* Added opera prefix support for linear and radial gradients.
* The CSS3 `background` mixin's "simple" background that came
before the prefixed versions has been removed. If you
need to target css2 background it is recommended that you set a
the background property before calling the `background` mixin
or you can call the `background-with-css2-fallback` if you want
keep using compass's automatic simplification of the arguments.
* Bug fixes
* Fixed and issue with the compass gemspec in rubygems 1.7
* Fixed a bug with sprite imports
0.11.beta.5 (03/27/2011)
------------------------
### Compass Sprites
[Magic Selectors](/help/tutorials/spriting/#magic-selectors) have been added
Fixed a bug causing a stack level too deep in ruby 1.8.7
0.11.beta.4 (03/25/2011)
------------------------
* Extensions that are installed into ~/.compass/extensions will be automatically available to all your compass projects.
### Compass Internals
* Fixed a small bug in callbacks that was causing them to register twice
* The Sprite classes have been abstracted allowing for different engines
* Bumped chunky_png version to 1.1.0
* Total rewrite of the sprite generation classes - thanks to [@johnbintz](https://github.com/johnbintz) for the help
* More Rspec tests
0.11.beta.3 (03/15/2011)
------------------------
### Compass CSS3
* A new CSS3 mixin for [appearance](/reference/compass/css3/appearance/) was added.
* The font-face mixin has been updated again with the [syntax recommendations
from font-spring](http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax).
The API has not changed.
### Compass Typography
* Some text-based mixins have been moved from utilities to the new
typography module. The old imports are deprecated now.
Affected modules: utilities/links, utilities/lists, and utilities/text and
their sub-modules.
* There is a new typography module: [Vertical Rhythm](/reference/compass/typography/vertical_rhythm/).
This makes it easier to align the typography of your page to a common rhythm.
### Compass Utilities
* A new mixin `reset-float` is available in the [float module](/reference/compass/utilities/general/float/#mixin-reset-float) that makes it easier to reset the floats introduced from that module.
* A new mixin `reset-float` is available in the [float module](/reference/compass/utilities/general/float/#mixin-reset-float) that makes it easier to reset the floats introduced from that module.
* A new module has been added to create readable text against an arbitrary background color based on the lightness of the background: [compass/utilities/color/contrast](/reference/compass/utilities/color/contrast/).
* The comma-delimited-list has been renamed to delimited-list and
generalized to accept a delimiter which defaults to a comma.
The old function continues to exist, but is deprecated.
### Compass Internals
* You can now register callbacks for compilation events so that you can take
custom actions when they occur. For instance, you might want to notify
Growl when a stylesheet compilation error occurs.
* Bug fixes & performance improvements.
0.11.beta.2 (02/01/2011)
------------------------
* Updated the font-face mixin so it works in Android 2.2.
Credit: [Paul Irish](http://paulirish.com/).
* The deprecated & unused arguments to the font-face mixin have been removed.
0.11.beta.1 (01/17/2011)
------------------------
* Add an option `--skip-overrides` to the sprite
subcommand. When provided, the default variables for overriding the sprite
behavior are not created. Instead, you would change the call to
`sprite-map()` to customize your sprite map.
* Rename the `sprite-position` mixin in the new `sprite/base` module to
`sprite-background-position` in order avoid a naming conflict with the old
sprite module.
0.11.beta.0 (01/09/2011)
------------------------
Compass v0.11 is now feature complete. Future changes to this release will be doc improvements, bug fixes, performance tuning, and addressing user feedback.
* Added optional support for IE8 with $legacy-support-for-ie8 which defaults to true.
* Updated the opacity and filter-gradient mixins to make IE's hacky DirectX filters
optional based on Compass's legacy support settings.
* Added the ability to piggy back on compass's watcher within your configuration file.
See the [configuration reference](/help/tutorials/configuration-reference/) for details.
* The options passed to the CLI can now be inspected within the compass configuration file.
The CLI options will still override the values set within the config file, but they might
inform other values. For instance `compass compile -e production` will have the environment
parameter preset to `:production` so that you can set other values in the project accordingly.
* New infrastructure for supporting experimental css3 functions that are prefixed but have the same
syntax across all browsers. It is now possible to configure which browsers support which
experimental functions outside of the compass release cycle. For details, see the
[cross browser helpers](/reference/compass/helpers/cross-browser/).
* [Blueprint] Added a new sass function called span($n) to the grid module which replaces
the now **deprecated span mixin**. If you are using this mixin, please replace it with:
`width: span($n)`.
* [Blueprint] Blueprint no longer adds `!important` to the widths of `input`, `textarea`,
and `select` form fields, so compass no longer defaults to using `!important` in those cases.
If you were relying on this behavior, you may need to adjust your stylesheets accordingly.
0.11.alpha.4 (12/08/2010)
-------------------------
* Add a `--time` option to the compile and watch commands. This will print out
the time spent compiling each sass file and a total at the end.
* Upgrade FSSM, the internal library that monitors the filesystem events for compass.
* Removed the command line options that were deprecated in v0.10.
0.11.alpha.3 (12/05/2010)
-------------------------
* Fix a bug in compass running under ruby 1.9.2 that was introduced in v0.11.alpha.2.
0.11.alpha.2 (12/05/2010)
-------------------------
* Merge with Lemonade. Compass now provides a full featured spriting solution.
See the [spriting tutorial](/help/tutorials/spriting/) for more information.
* Compass now depends on Sass 3.1. You can install the preview release:
`gem install sass --pre`. Note: you must also upgrade your haml gem if you
use both in the same application.
* A third argument is now available on the `image-url()` helper. When `true` or
`false`, it will enable/disable the cache buster for a single image url. Or when
a string, it will be the cache buster used.
* Upgrade CSS3 PIE to 1.0-beta3.
* Bug fixes.
0.11.alpha.1 (11/22/2010)
-------------------------
* Support for Sass 3.1 alpha version
* CSS3 PIE module. [Docs](/reference/compass/css3/pie/).
* The versioned modules in the last release have been removed. There is now
just a single module for each and the overloaded mixins will discern
deprecated usage and warn accordingly.
* Allow erb processing of non all non-binary filetypes during extension installs.
* Added a `background` mixin for css3 gradient support in the shorthand style.
* Fix for gradients in opera with bordered elements.
* The `multiple-text-shadows` and `multiple-box-shadows` mixins that were present in
v0.11.alpha.0 were removed because they were unnecessary. Just use the `text-shadow`
and `box-shadow` mixins.
* The docs are [getting a make-over](http://beta.compass-style.org/) by Brandon :)
0.11.alpha.0 (11/15/2010)
-------------------------
Note: Compass does not currently support Sass 3.1 alphas.
### Deprecations
* Deprecated imports and APIs from v0.10 have been removed.
* Changed defaults for the box-shadow and text-shadow mixins.
Previously the horizontal and vertical offset were both 1, which
expected a top left light source. They are now set to 0 which assumes
a direct light source, a more generic default.
* The linear-gradient and radial-gradient mixins have been deprecated.
Instead use the background-image mixin and pass it a gradient function.
The deprecation warning will print out the correct call for you to use.
* Passing an argument to the `blueprint-scaffolding` mixin is not necessary
and has been deprecated.
* Some blueprint color defaults now use color functions instead of color arithmetic.
This may result in different output for those who have color customizations.
### Blueprint
* Updated from blueprint 0.9 to blueprint 1.0
* Added .info and .alert classes to forms.css [CMM]
* Fixed numerous bugs in forms, including the fieldset padding bug in IE6-8 [CMM]
* Fixed specificity problems in typography.css and grid.css [CMM]
* See Lighthouse for more bug fixes
* Full [blueprint changelog][blueprint_10_change]
* If for some reason you'd like to stay on the older version of blueprint you can run
the following command in your project before you upgrade (or after temporarily downgrading):
`compass unpack blueprint`
### CSS3 v2.0
Our CSS3 module makes writing CSS3 today almost as easy as it will be when all
the browsers officially support the new features. The second version of the
compass CSS module brings the API up to date with developments over the past
6 to 9 months of browser changes and more closely matching the most recent CSS
specifications. [Upgrade guide](/help/tutorials/upgrading/antares/). Summary of changes.
* Support for multiple box shadows and text shadows
* Support for 2d and 3d transforms
* Opt-in SVG support for gradients in opera and IE9.
Set `$experimental-support-for-svg : true` in your
stylesheet to enable it.
* Fixed a radial gradient position bug.
* To generate a simple linear gradient in IE6 & 7, you can now use
the `filter-gradient` mixin.
* New `background-image` mixin with gradient support and allowing
up to 10 images.
* Gradient support for the border-image property.
* Gradient support for list-style-image property.
* Gradient support for the content property.
### Helpers
* `linear-gradient()` & `radial-gradient()` helpers now intercept standard css
functions and parse them into Sass Literals. These work with new vendor helpers
(`-moz()`, `-webkit`, `-o`, `-ie`, and `-svg` (yes I know svg is not a vendor))
to return specific representations of the linear & radial gradients. The
`prefixed()` function will check a value to see if it has a certain
vendor-specific representation.
* New color helpers: `adjust-lightness`, `adjust-saturation`, `scale-lightness`, and `scale-saturation`
make it easier to construct apis that manipulate these color attributes.
* The `elements-of-type()` helper now returns html5 elements when the display is `block`
and also will return only html5 elements for `elements-of-type(html5)`
* Compass now provides several helper functions related to trigonometry.
There's no practical use, but it's hoped that users will find fun things to
do with these for technology demonstrations:
* `sin($number)` - Takes the sine of the number.
* `cos($number)` - Takes the cosine of the number.
* `tan($number)` - Takes the tangent of the number.
* `pi()` - Returns the value of π.
If you provide a number with units of `deg` then it will return a unitless number
after converting to radians. Otherwise, it assumes the number is a radian length measure
and passes the units along to the result.
* `ie-hex-str($color)` returns a #AARRGGBB formatted color suitable for
passing to IE filters.
* A new function `if()` that allows you to switch on a value without using `@if`.
Usage: `if($truth-value, $value-if-true, $value-if-false)`.
* Compass has added a number of new helper functions for lists that begin with
`-compass`, helpers that begin with `-compass` should be considered "private" and
are not to be used by compass users. Sass 3.1 will have proper list support,
these are a work around until that time.
### Configuration
* Added a new configuration property to disable sass warnings: `disable_warnings`
### Core Framework
* New layout mixins for absolute positioning: stretch, stretch-x, stretch-y
### Rails
* In rails 3, there's no need for an initializer. Instead we use a
Railstie.
* We now default to app/stylesheets for sass files and public/stylesheets for
css files -- though they can still be changed after installation or on the
command line during project initialization.
* Compass is now a gem plugin in a rails environment.
* In a rails3 environment the compass configuration can now be
changed without restarting the rails server process.

View File

@ -2,98 +2,26 @@
title: Compass History
crumb: CHANGELOG
body_id: changelog
layout: default
layout: article
---
COMPASS CHANGELOG
=================
Upgrading compass is pretty easy.
Don't let all these details [scare you...](/help/tutorials/upgrading/im-scared/)
Upgrading compass is really easy.
Don't let all these details [scare you...](/docs/tutorials/upgrading/im-scared/)
The Documentation for the [latest stable release](http://compass-style.org/docs/):
The Documentation for the [latest preview release](http://beta.compass-style.org/)
The Documentation for the [latest preview release](http://beta.compass-style.org/docs/)
0.11.6 (UNRELEASED)
-------------------
0.11.alpha.1 (11/16/2010)
---------------------------
* Added `user-select` mixin to control the selection model and granularity of an element. It accepts one argument (`$select`) from the following options: `none` | `text` | `toggle` | `element` | `elements` | `all` | `inherit`.
Note: Compass does not currently support Sass 3.1 alphas.
0.11.5 (07/10/2011)
-------------------
### Deprecations
* Updated the list of elements returned by the `elements-of-type()` helper.
It now understands `html5-block` and `html5-inline` and other types now
return html5 elements in them by default.
* Fix warning logic in vertical-rhythms module.
* Fix typo in the css3/transition module.
0.11.4 (07/03/2011)
-------------------
* Vertical rhythm now supports absolute units like pixels.
Set `$relative-font-sizing` to `false` to enable.
* Vertical rhythm now has a minimum padding that defaults to 2px.
This makes some edge cases look better.
* New mixin `force-wrap` prevents URLs and long lines of text from breaking layouts.
* Fix absolute path detection on windows.
* Fix the mime type returned for inline svg images.
* Allow multiple transitions in the CSS3 `transition` mixin.
* The Blueprint `:focus` styles no longer clobbers cascade-based overrides unnecessarily.
* The Blueprint grid-background vertical rhythm is now based off of $blueprint-font-size,
rather than a static value of 20px
0.11.3 (06/11/2011)
-------------------
**Note:** Due to some internal changes to compass you may have issue with your sass cache. Run `compass clean` to clear your cache.
* The `pie-clearfix` mixin has been updated. If you have to
support Firefox < 3.5, please update your stylesheets
to use `legacy-pie-clearfix` instead.
* Added a new command: `compass clean` which removes any generated
css files and clears the sass cache.
* Enable IE 10 support for flexible box with the -ms prefix.
* A small change to how generated sprites are named for better
rails 3.1 compatibility.
* Fixes for the compass --quiet mode.
* It is now possible to generate cache buster urls that manipulate
the path of the image instead of the query string. This makes
images work better with proxies, but will require some web server
configuration. [Docs](/help/tutorials/configuration-reference/#asset-cache-buster)
* Numerous small bug fixes to sprites.
* Sprite Engines are now classes see [Docs](/help/tutorials/extending) for more information
* Sprite classes have bee re-factored into modules for readability
* Sprites will no longer cause `undefined method 'find' for #<Compass::SpriteMap>` when adding or removing sprite files
0.11.2 (06/10/2011)
-------------------
* Sprites will now by default remove any old versions of the sprite. A new configuration
variable has been created to override this.
* Nested sprites are now supported using globs `@import 'nested/**/*.png';`.
* Fixed a bug that was causing sprite variable options to not get passed to the image classes.
* Sass Colors will no longer cause an error if you use them as sprite names.
* Added support for -ms gradients in background-image and background properties
* Give a better error if Sass::Script::Functions.declare does not exist.
0.11.1 (04/25/2011)
-------------------
* This release fixed some Gem dependency issues with Sass.
0.11.0 (04/24/2011)
-------------------
This changelog entry is aggregated across all the v0.11 beta releases.
If you're upgrading from a previous beta v0.11 beta release, you can read
[the 0.11 beta release notes here](/CHANGELOG-v0-11-beta/).
### !important
#### Breaking Changes & Deprecations:
* Deprecated imports and APIs from v0.10 have been removed. If you are upgrading
from v0.8, please upgrade to v0.10 before installing v0.11.
* Deprecated imports and APIs from v0.10 have been removed.
* Changed defaults for the box-shadow and text-shadow mixins.
Previously the horizontal and vertical offset were both 1, which
expected a top left light source. They are now set to 0 which assumes
@ -101,35 +29,16 @@ If you're upgrading from a previous beta v0.11 beta release, you can read
* The linear-gradient and radial-gradient mixins have been deprecated.
Instead use the background-image mixin and pass it a gradient function.
The deprecation warning will print out the correct call for you to use.
* The `css3` import is deprecated as well as the following css3 modules:
`box-shadow`, `text-shadow`, and `transform`. Instead import `css3/version-2`,
`box-shadow-v2`, `text-shadow-v2`, and `transform-v2` respectively.
However, you will only get deprecation warnings if you actually use
one of the deprecated mixins. The imports will be restored by 1.0
with the new, betterer APIs.
* Passing an argument to the `blueprint-scaffolding` mixin is not necessary
and has been deprecated.
* Some blueprint color defaults now use color functions instead of color arithmetic.
This may result in different output for those who have color customizations.
* The deprecated & unused arguments to the `font-face` mixin have been removed.
* Lemonade has been merged into compass. If you've been using Lemonade, you need to
upgrade your sprites to use the new [Compass Sprites](/help/tutorials/spriting/).
#### Dependencies
* Compass now depends on Sass 3.1 which is a new stand-alone gem that has been separated
from Haml. **If you have Haml installed, you must upgrade it to 3.1 as well.**
* Compass now depends on ChunkyPNG, a pure-ruby library for generating PNG files.
* The FSSM library that used to be vendored is now upgraded and a normal gem dependency.
If you don't know what this means, then you don't need to care :)
### New Sass Features
Sass 3.1 brings a ton of great new features that Compass now uses and you can too!
* Proper List Support. Space and Comma separated lists used to cause values to become strings when passing them to mixins. Now the values in lists are preserved as their original types.
* Sass-based Functions. Define your own value functions and use them anywhere.
* Keyword Style Argument passing to Functions and Mixins. It can be hard to understand what
the values being passed to a mixin or function are for, use keyword style arguments to
make it easier to understand what's going on.
* `@media` bubbling. Use a media declaration anywhere and it will be bubbled to the top level
for you.
For more information about the new Sass features, see the [Sass CHANGELOG](http://sass-lang.com/docs/yardoc/file.SASS_CHANGELOG.html).
### Blueprint
@ -142,66 +51,39 @@ For more information about the new Sass features, see the [Sass CHANGELOG](http:
* If for some reason you'd like to stay on the older version of blueprint you can run
the following command in your project before you upgrade (or after temporarily downgrading):
`compass unpack blueprint`
* [Blueprint] Blueprint no longer adds `!important` to the widths of `input`, `textarea`,
and `select` form fields, so compass no longer defaults to using `!important` in those cases.
If you were relying on this behavior, you may need to adjust your stylesheets accordingly.
* [Blueprint] Added a new sass function called span($n) to the grid module which replaces
the now **deprecated span mixin**. If you are using this mixin, please replace it with:
`width: span($n)`.
### Spriting Support
* Compass now has a world-class spriting system after merging with [Lemonade][lemonade].
See the [spriting tutorial](/help/tutorials/spriting/) for more information.
* The [old sprite module](/reference/compass/utilities/sprites/sprite_img/) is still available
for working with hand-generated sprite maps.
* The Sprite internals are abstracted allowing for different engines. By default
compass uses ChunkyPNG which only supports PNG files, so some users might prefer
ImageMagic which is available via a [plugin](#XXXLINKME).
* [Magic Selectors](/help/tutorials/spriting/#magic-selectors) make it simple to define
sprites that work with user interaction pseudo classes like `:hover`, `:active`, etc.
### CSS3 Module v2.0
### CSS3 v2.0
Our CSS3 module makes writing CSS3 today almost as easy as it will be when all
the browsers officially support the new features. The second version of the
compass CSS module brings the API up to date with developments over the past
6 to 9 months of browser changes and more closely matching the most recent CSS
specifications. [Upgrade guide](/help/tutorials/upgrading/antares/). Summary of changes.
specifications. Summary of changes:
* Support for multiple [box shadows](/reference/compass/css3/box_shadow/)
and multiple [text shadows](/reference/compass/css3/text-shadow/)
* Support for [2d and 3d transforms](/reference/compass/css3/transform/)
* Opt-in [SVG support](/reference/compass/support/#const-experimental-support-for-svg)
for gradients in opera and IE9. Set `$experimental-support-for-svg : true` in your
* Support for multiple box shadows and text shadows
* Support for 2d and 3d transforms
* Opt-in SVG support for gradients in opera and IE9.
Set `$experimental-support-for-svg : true` in your
stylesheet to enable it.
* Fixed a radial gradient position bug.
* To generate a simple linear gradient in IE6 & 7, you can now use
the [filter-gradient mixin](/reference/compass/css3/images/#mixin-filter-gradient).
* New [images module](/reference/compass/css3/images/) makes gradients simple for
all properties that support them using the CSS3 standard syntax.
* Compass now has opt-in support for the CSS3 PIE library. [Docs](/reference/compass/css3/pie/).
* Added optional support for IE8 with `$legacy-support-for-ie8` which defaults to true.
* Updated the `opacity` and `filter-gradient` mixins to make IE's hacky DirectX filters
optional based on Compass's legacy support settings.
* A new CSS3 mixin for [appearance](/reference/compass/css3/appearance/) was added.
* The font-face mixin has been updated again with the [syntax recommendations
from font-spring](http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax).
The API has not changed.
* Added support for the new webkit gradient syntax that matches the css3 specification.
Support for older webkit browsers remains enabled at this time.
To disable it, set `$support-for-original-webkit-gradients` to false.
the `filter-gradient` mixin.
* New `background-image` mixin with gradient support and allowing
up to 10 images.
* Gradient support for the border-image property.
* Gradient support for list-style-image property.
* Gradient support for the content property.
### Helper Functions
### Helpers
* `linear-gradient()` & `radial-gradient()` helpers now intercept standard css
functions and parse them into Sass Literals. These work with new vendor helpers
(`-moz()`, `-webkit`, `-o`, `-ie`, and `-svg` (yes, we know svg is not a vendor))
(`-moz()`, `-webkit`, `-o`, `-ie`, and `-svg` (yes I know svg is not a vendor))
to return specific representations of the linear & radial gradients. The
`prefixed()` function will check a value to see if it has a certain
vendor-specific representation.
* New color helpers: `adjust-lightness`, `adjust-saturation`, `scale-lightness`,
and `scale-saturation` make it easier to construct apis that manipulate these
color attributes.
* New color helpers: `adjust-lightness`, `adjust-saturation`, `scale-lightness`, and `scale-saturation`
make it easier to construct apis that manipulate these color attributes.
* The `elements-of-type()` helper now returns html5 elements when the display is `block`
and also will return only html5 elements for `elements-of-type(html5)`
* Compass now provides several helper functions related to trigonometry.
@ -212,68 +94,29 @@ specifications. [Upgrade guide](/help/tutorials/upgrading/antares/). Summary of
* `tan($number)` - Takes the tangent of the number.
* `pi()` - Returns the value of π.
If you provide a number with units of `deg` then it will return a unitless number
after converting to radians. Otherwise, it assumes the number is a radian length
measure and passes the units along to the result.
after converting to radians. Otherwise, it assumes the number is a radian length measure
and passes the units along to the result.
* `ie-hex-str($color)` returns a #AARRGGBB formatted color suitable for
passing to IE filters.
* Compass has added a number of new helper functions that begin with
`-compass`, helpers that begin with `-compass` should be considered "private"
and are not to be used.
* A third argument is now available on the `image-url()` helper. When `true` or
`false`, it will enable/disable the cache buster for a single image url. Or when
a string, will be the cache buster value that is used.
* A new function `if()` that allows you to switch on a value without using `@if`.
Usage: `if($truth-value, $value-if-true, $value-if-false)`.
* Compass has added a number of new helper functions for lists that begin with
`-compass`, helpers that begin with `-compass` should be considered "private" and
are not to be used by compass users. Sass 3.1 will have proper list support,
these are a work around until that time.
### Configuration Files
### Configuration
* Added a new configuration property to disable sass warnings: `disable_warnings`
* New infrastructure for supporting experimental css3 functions that are prefixed but have
the same syntax across all browsers. It is now possible to configure which browsers
support which experimental functions outside of the compass release cycle.
For details, see the [cross browser helpers](/reference/compass/helpers/cross-browser/).
* The options passed to the CLI can now be inspected within the compass configuration file.
The CLI options will still override the values set within the config file, but they might
inform other values. For instance `compass compile -e production` will have the environment
parameter preset to `:production` so that you can set other values in the project accordingly.
* Added the ability to piggy back on compass's watcher within your configuration file.
See the [configuration reference](/help/tutorials/configuration-reference/) for details.
* You can now register callbacks for compilation events so that you can take
custom actions when they occur. For instance, you might want to notify
Growl when a stylesheet compilation error occurs.
### New Compass Typography Module
* Some text-based mixins have been moved from utilities to the new
typography module. The old imports are deprecated now.
Affected modules: `utilities/links`, `utilities/lists`, and `utilities/text` and
their sub-modules.
* There is a new typography module:
[Vertical Rhythm](/reference/compass/typography/vertical_rhythm/).
This makes it easier to align the typography of your page to a common rhythm.
### Compass Layout Module
### Core Framework
* New layout mixins for absolute positioning: stretch, stretch-x, stretch-y
* There is a new mixin for creating
[pure-css grid backgrounds](/reference/compass/layout/grid_background/)
for verifying grid alignment for both fixed and fluid grids.
### Compass Utilities
* A new mixin `reset-float` is available in the [float module](/reference/compass/utilities/general/float/#mixin-reset-float) that makes it easier to reset the floats introduced from that module.
* A new module has been added to create readable text against an arbitrary background color based on the lightness of the background: [compass/utilities/color/contrast](/reference/compass/utilities/color/contrast/).
* The comma-delimited-list has been renamed to delimited-list and
generalized to accept a delimiter which defaults to a comma.
The old function continues to exist, but is deprecated.
### Command Line
* Add a `--time` option to the compile and watch commands. This will print out
the time spent compiling each sass file and a total at the end.
### Rails
* In rails 3, there's no need for an initializer. Instead we use a
Railtie. If you have one, please remove it.
Railstie.
* We now default to app/stylesheets for sass files and public/stylesheets for
css files -- though they can still be changed after installation or on the
command line during project initialization.
@ -281,20 +124,6 @@ specifications. [Upgrade guide](/help/tutorials/upgrading/antares/). Summary of
* In a rails3 environment the compass configuration can now be
changed without restarting the rails server process.
### Extensions
* Compass now allows ERB processing of non all non-binary filetypes during
extension installs.
* Extensions that are installed into `~/.compass/extensions` will be automatically
available to all your compass projects.
* Created an official API to add configuration options to compass.
[More information](/help/tutorials/extending/).
### Miscellaneous
* We have a new website design from [Brandon Mathis][brandon]
* Compass now officially supports the following ruby interpreters:
jruby, ruby 1.8.7, ruby 1.9.2, ree, and rubinius.
0.10.7 (UNRELEASED)
-------------------
@ -327,7 +156,7 @@ specifications. [Upgrade guide](/help/tutorials/upgrading/antares/). Summary of
* Can now set `$padding` to `false` to make the `horizontal-list` mixin skip the
padding properties.
* It is now possible to disable support for legacy IE browsers.
See [the docs](/reference/compass/support/) for more information.
See [the docs](/docs/reference/compass/support/) for more information.
0.10.5 (08/29/2010)
-------------------
@ -350,7 +179,7 @@ specifications. [Upgrade guide](/help/tutorials/upgrading/antares/). Summary of
------------------
* [Rails] Fixed a bug introduced in 0.10.3 that caused rails applications using the old configuration file (config/compass.config) to break.
* [Extensions] Make it easier to create manifest files by allowing template files to be discovered. See the Manifest Declarations section of [extensions tutorial](http://compass-style.org/help/tutorials/extensions/) for details.
* [Extensions] Make it easier to create manifest files by allowing template files to be discovered. See the Manifest Declarations section of [extensions tutorial](http://compass-style.org/docs/tutorials/extensions/) for details.
* [Rails] Don't install configuration files when installing extensions.
* [Compass Core] All url helpers now accept a second argument that when true will cause only the path to be emitted. This allows the url helpers to be used with IE filters.
@ -369,7 +198,7 @@ This will update your compass initializer file.
* Add missing clearfix import to horizontal-list.
* Emit less css for inline lists with the same result.
* New helper `opposite-position($position)` returns the opposite value of a position. [Documentation](http://compass-style.org/reference/compass/helpers/constants/)
* New helper `opposite-position($position)` returns the opposite value of a position. [Documentation](http://compass-style.org/docs/reference/compass/helpers/constants/)
* Allow horizontal lists to be floated to the right.
* Bugfix for inline-font-files helper.
* `+font-face` mixin no longer uses `$postscript` name or `$style` type variables, in favor of the Paul Irish [smiley bulletproof technique](http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/). Older declarations will still work, but will not apply the variables and will display a deprecation warning.
@ -385,7 +214,7 @@ This will update your compass initializer file.
* Support for inputs of type email.
### Extensions
* Extensions can now create empty directories with the `directory` directive. [Docs](http://compass-style.org/help/tutorials/extensions/).
* Extensions can now create empty directories with the `directory` directive. [Docs](http://compass-style.org/docs/tutorials/extensions/).
* It's now easier to load extensions from a configuration file using the `load` and `discover` directives.
### Rails
@ -424,7 +253,7 @@ This is a bug fix release. [Details on Github.](http://github.com/chriseppstein/
0.10.0 (May 10, 2010)
---------------------
This changelog entry is condensed from a very long beta release. You can read [the 0.10.0 beta release notes here](/CHANGELOG-v0-10-0-beta/).
This changelog entry is condensed from a very long beta release. You can read [the 0.10.0 beta release notes here](/docs/CHANGELOG-v0-10-0-beta/).
### Gem Location
@ -438,7 +267,7 @@ installed from github, please remove it:
* Compass now depends on Sass 3 -- Please be prepared to upgrade.
Things won't break but you'll have a lot of deprecation warnings.
Upgrading is pretty easy thanks to the `sass-convert` tool. See the
[Sass Changelog](http://sass-lang.com/yardoc/file.SASS_CHANGELOG.html)
[Sass Changelog](http://sass-lang.com/docs/yardoc/file.SASS_CHANGELOG.html)
for more information.
* All compass stylesheets are now written in the SCSS syntax,
if you import compass framework stylesheets with an explicit
@ -522,7 +351,7 @@ installed from github, please remove it:
for both arguments instead of just the first
* There is no longer any outline on unstyled links in the :active and :focused states.
* New CSS3 Compatibility Mixins. You can import them all with `@import compass/css3.sass`
Read the [documentation][http://compass-style.org/reference/compass/css3/].
Read the [documentation][http://compass-style.org/docs/reference/compass/css3/].
* The import for `+inline-block` has moved from "compass/utilities/general/inline_block"
to "compass/css3/inline-block".
* The import for `+opacity` has moved from "compass/utilities/general/opacity"
@ -583,7 +412,7 @@ installed from github, please remove it:
### Miscellaneous:
* Lot of new docs can be found at: [http://compass-style.org/](http://compass-style.org/).
* Lot of new docs can be found at: [http://compass-style.org/docs/](http://compass-style.org/docs/).
* The compass configuration object is no longer a singleton, this makes it
possible for other ruby software to manage multiple compass projects at a
time.
@ -1156,8 +985,6 @@ Almost definitely. Please let me know if you encounter any problems and I'll get
[der-rich]: http://github.com/der-rich
[adamstac]: http://github.com/adamstac
[ttilley]: http://github.com/ttilley
[inline-block-list]: http://compass-style.org/reference/compass/typography/lists/inline-block-list/
[html5-reset]: http://compass-style.org/reference/compass/reset/utilities/#mixin-reset-html5
[inline-block-list]: http://compass-style.org/docs/reference/compass/utilities/lists/inline-block-list/
[html5-reset]: http://compass-style.org/docs/reference/compass/reset/utilities/#mixin-reset-html5
[blueprint_10_change]: https://github.com/chriseppstein/compass/compare/a05e1ee7c0a1e4c0f0595a8bb812daa47872e476...864780969d872a93b1fd3b4f39f29dd9f0c3fe75
[brandon]: http://brandonmathis.com/
[lemonade]: http://www.hagenburger.net/BLOG/Lemonade-CSS-Sprites-for-Sass-Compass.html

View File

@ -1,14 +0,0 @@
---
layout: blog
---
%h1 Compass Blog
- for post in blog_posts_in_order.reverse
.post-snippet
%h2
- time = blog_date(post)
%span.timestamp= time.strftime("%Y/%m/%d")
%a{:href => post.rep_named(:default).path}= post[:title]
%p= post[:intro] || post[:description]

View File

@ -1,14 +0,0 @@
---
layout: blog
---
%h1 Compass Blog Archive
- for post in blog_posts_in_order.reverse
.post-snippet
%h2
- time = blog_date(post)
%span.timestamp= time.strftime("%Y/%m/%d")
%a{:href => post.rep_named(:default).path}= post[:title]
%p= post[:intro] || post[:description]

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
%feed(xmlns="http://www.w3.org/2005/Atom")
%title Compass Blog
%link(href="http://compass-style.org/blog/atom.xml" rel="self")
%link(href="http://compass-style.org/blog/")
%updated= Time.now.xmlschema
%id http://compass-style.org/blog/
%author
%name Compass Core Team
- for post in blog_posts_in_order.reverse
- full_url = "http://compass-style.org#{post.rep_named(:default).path}"
%entry
%title&= post[:title]
%link{:href=> full_url}
%updated= blog_date(post).localtime.xmlschema
%id= full_url[0..-2]
%content(type="html")
= post[:intro] || post[:description]

View File

@ -7,4 +7,4 @@ layout: article
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" id="cc-logo"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png" /></a><span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/InteractiveResource" property="dc:title" rel="dc:type">Compass Documentation</span>
by <a xmlns:cc="http://creativecommons.org/ns#" href="http://eppsteins.net/chris" property="cc:attributionName" rel="cc:attributionURL">Christopher M. Eppstein</a>
is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License</a>.
Permissions beyond the scope of this license may be available at <a xmlns:cc="http://creativecommons.org/ns#" href="http://compass-style.org/copyright/" rel="cc:morePermissions">http://compass-style.org/copyright/</a>.
Permissions beyond the scope of this license may be available at <a xmlns:cc="http://creativecommons.org/ns#" href="http://compass-style.org/docs/copyright/" rel="cc:morePermissions">http://compass-style.org/docs/copyright/</a>.

View File

@ -5,7 +5,7 @@
background-color: blue
border: 10px solid rgba(255, 0, 0, 0.5)
color: white
+text-shadow(darken(#00f, 50%) 2px 2px)
+text-shadow(darken(#00f, 50%), 2px, 2px)
padding: 3px
text-align: center
margin-bottom: 2em

View File

@ -9,7 +9,7 @@
position: top left
border: 10px solid rgba(255, 0, 0, 0.5)
color: white
+text-shadow(darken(#00f, 50%) 2px 2px)
+text-shadow(darken(#00f, 50%), 2px, 2px)
padding: 1em
text-align: center
margin-bottom: 2em

View File

@ -9,7 +9,7 @@
position: top left
border: 10px solid rgba(255, 0, 0, 0.5)
color: black
+text-shadow(#fff 1px 1px 4px)
+text-shadow(#fff, 1px, 1px, 4px)
padding: 1em
text-align: center
margin-bottom: 2em

View File

@ -1,4 +1,3 @@
.box-shadow-example
#box-shadow-default
#box-shadow-custom
#box-shadow-custom-multiple
#box-shadow-default.box-shadow-example
#box-shadow-custom.box-shadow-example

View File

@ -1,19 +1,15 @@
@import compass/css3
.box-shadow-example div
.box-shadow-example
width: 40px
height: 40px
background: #EEE
margin: 20px
float: left
// Default single box shadow
// Default box shadow
#box-shadow-default
+single-box-shadow
+box-shadow
// Box shadow with custom settings
#box-shadow-custom
+box-shadow(red 2px 2px 10px)
#box-shadow-custom-multiple
+box-shadow(rgba(blue, .4) 0 0 25px, rgba(green, .2) 0 0 3px 1px inset)
+box-shadow(red, 2px, 2px, 10px)

View File

@ -1,2 +1,3 @@
.example
%p The Quick Brown Fox jumped over the lazy dog.
%h1 The Quick Brown Fox
%p Jumped over the log.

View File

@ -4,4 +4,4 @@
.example
font-family: "Blooming Grove"
font-size: 1.5em
padding: 1em

View File

@ -1,8 +1,8 @@
---
title: Background Gradients
title: Gradient
description: css3 mixin for css gradients
framework: compass
stylesheet: compass/css3/_images.scss
stylesheet: compass/css3/_gradient.scss
example: true
---
= render "partials/example"

View File

@ -14,30 +14,30 @@
// This will yield a radial gradient with an apparent specular highlight
#radial-gradient
+background-image(radial-gradient(45px 45px, #0ff 10px, #1e90ff 30px))
+radial-gradient(color-stops(#00FFFF 10px, #1E90FF 30px), 45 45)
// This yields a linear gradient spanning from the upper left corner to the lower right corner
#linear-gradient
+background-image(linear-gradient(left top, #fff, #ddd))
+linear-gradient(color-stops(#fff, #ddd), left top)
// This yields a gradient starting at the top with #fff, ending in #aaa
#v-gradient
+background-image(linear-gradient(#fff, #aaa))
+linear-gradient(color-stops(#fff, #aaa))
// Same as above but with a #ccc at the halfway point
#v-gradient-2
+background-image(linear-gradient(#fff, #ccc, #aaa))
+linear-gradient(color-stops(#fff, #ccc, #aaa))
// Same as the first example but with #ccc at the 30% from the top, and #bbb at 70% from the top
#v-gradient-3
+background-image(linear-gradient(#fff, #ccc 30%, #bbb 70%, #aaa))
+linear-gradient(color-stops(#fff, #ccc 30%, #bbb 70%, #aaa))
// This yields a horizontal linear gradient spanning from left to right.
#h-gradient
+background-image(linear-gradient(left, #fff, #ddd))
+linear-gradient(color-stops(#fff, #ddd), left)
#svg-gradient
$experimental-support-for-svg: true
+background-image(linear-gradient(left, #2ac363, #cd8c14, #9c4cc2))
+linear-gradient(color-stops(#2AC363, #CD8C14, #9C4CC2), left)
width: 80px
height: 80px

View File

@ -1,3 +1,3 @@
%p
this is an
%span(id="inline-block") inline block
this is an
%span(id="inline-block") inline block

View File

@ -1,5 +1,9 @@
#opacity-10.opacity-example
#opacity-20.opacity-example
#opacity-50.opacity-example
#opaque.opacity-example
#transparent.opacity-example

View File

@ -1,3 +1,8 @@
%div this text has no shadow
.has-single-shadow this text has a shadow
.has-custom-shadow this text has a custom shadow
#p
this text has no shadow
#p
%span(class="has-shadow") this text has a shadow
#p
%span(class="has-custom-shadow") this text has a custom shadow

View File

@ -1,13 +1,7 @@
$default-text-shadow-color: rgba(red, .6)
$default-text-shadow-blur: 3px
$default-text-shadow-v-offset: 1px
@import compass/css3
// Uses defaults set before the import above
.has-single-shadow
+single-text-shadow
.has-shadow
+text-shadow
// Can output up to ten text shadows
.has-custom-shadow
+text-shadow(rgba(blue, .2) 1px 1px 0, rgba(blue, .2) 2px 2px 0, rgba(blue, .2) 3px 3px 0)
+text-shadow(red, 3px, 3px, 0)

View File

@ -2,7 +2,7 @@
title: Transform
description: css3 mixin for css transforms
framework: compass
stylesheet: compass/css3/_transform-legacy.scss
stylesheet: compass/css3/_transform.scss
example: true
---
= render "partials/example"

View File

@ -1,4 +1,4 @@
@import compass/css3, compass/css3/transform-legacy
@import compass/css3
.transform-example
width: 40px

View File

@ -1,30 +1,17 @@
.example
%ul
%li.stretch-container
#stretch-full
This element is fully stretched.
%li.stretch-container
#stretch-offset
This element is stretched with a 1em offset on each side.
%li.stretch-container
#stretch-x
This
%br
element
%br
is
%br
stretched
%br
horizontally.
%li.stretch-container
#stretch-y
This
%br
element
%br
is
%br
stretched
%br
vertically.
Click on the the following links to make them stretch.
Click <a href="#">here</a> to dismiss it.
#stretch-container
%ul
%li
%a#stretch-full(href="#stretch-full")
This element is fully stretched.
%li
%a#stretch-offset(href="#stretch-offset")
This element is stretched with a 1em offset on each side.
%li
%a#stretch-x(href="#stretch-x")
This element is stretched horizontally.
%li
%a#stretch-y(href="#stretch-y")
This element is stretched vertically.

View File

@ -1,32 +1,29 @@
@import "compass/layout/stretching"
@import "compass/utilities"
@import "compass/css3"
.stretch-container
#stretch-container
border: 1px solid #999
width: 200px
height: 200px
min-width: 200px
min-height: 200px
position: relative
+inline-block
.stretched
$stretch-color: #4C6B99
border: 3px solid $stretch-color
+border-radius(8px)
display: block
background-color: darken($stretch-color, 30%)
color: white
text-align: center
vertical-align: middle
padding: 0.5em
#stretch-full
padding: 2em 0
#stretch-full:target
@extend .stretched
+stretch
#stretch-offset
#stretch-offset:target
@extend .stretched
+stretch(1em, 1em, 1em, 1em)
#stretch-x
#stretch-x:target
@extend .stretched
+stretch-x
#stretch-y
#stretch-y:target
@extend .stretched
+stretch-y

View File

@ -1,8 +0,0 @@
---
title: Compass Contrast Color Example
description: Make text readable
framework: compass
stylesheet: compass/utilities/color/_contrast.scss
example: true
---
= render "partials/example"

View File

@ -1,3 +0,0 @@
.example
%p.dark This is a paragraph with a <em>dark</em> background and <em>light</em> text.
%p.light This is a paragraph with a <em>light</em> background and <em>dark</em> text.

View File

@ -1,11 +0,0 @@
$contrasted-dark-default: #333
$contrasted-light-default: #e7e7e7
@import "compass/utilities/color/contrast"
.example
p.dark
+contrasted(#5F1210)
p.light
+contrasted(#C82523)

View File

@ -48,7 +48,7 @@ crumb: Plugins and frameworks
%a
http://blueprintcss.org/
%td
%a{:href => "/reference/blueprint/"}
%a{:href => "/docs/reference/blueprint/"}
Blueprint docs
%tr
%td YUI

View File

@ -1,33 +0,0 @@
---
title: Get involved with the Compass community
crumb: Get Involved
classnames:
- get-involved
layout: default
---
%h1 Get Involved With Compass
:markdown
Many [wonderful people](https://github.com/chriseppstein/compass/contributors) have helped to make Compass awesome.
Here are some ways you can get involved with the Compass community.
## Share Sweet Stylesheets
So you've written some smashing Sass and you want to share them with others. Here are some ways you can.
1. [**Contribute to Compass**](/help/tutorials/contributing).
2. [**Develop a Compass Extension**](/help/tutorials/extensions).
3. [**Contribute to Sass Recipies**](http://chriseppstein.github.com/sass-recipes/).
4. Publish your code somewhere and email a link to the [mailing list](http://groups.google.com/group/compass-users).
## Help Others
Join the [mailing list](http://groups.google.com/group/compass-users) and help answer questions and share from your experience. If you're
writing a blog post about Sass or Compass send a link to the mailing list and we'll help you spread the word.
## Give Financially
Compass is charityware. You can use it as much as you like, but we encourage you to make a donation to help the [UMDF](http://umdf.org/)
find a cure for mitochondrial disease. If you can, please [donate here](http://umdf.org/compass/). Thanks!

View File

@ -1,61 +0,0 @@
---
title: Compass Help
crumb: Help
classnames:
- help
- getting-started
layout: site
---
%article
%h1 Getting started with Compass
:markdown
Compass is an open-source CSS authoring framework which uses the [Sass stylesheet
language](http://sass-lang.com) to make writing stylesheets powerful and easy. If you're
not familiar with Sass, you can take a look at [these simple tutorials](http://sass-lang.com/tutorial.html)
to get caught up.
<object width="700" height="438"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11671458&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11671458&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="700" height="438"></embed></object><p><a href="http://vimeo.com/11671458">An introduction to Compass</a> from <a href="http://vimeo.com/ltackett">Lorin Tackett</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
:markdown
## Installing Compass
Compass is a tool that runs on the command line. On any system with ruby installed, open your terminal and type:
gem install compass
This will install Compass and Sass too. If you want to verify that compass is installed:
compass version
## Manual Setup
compass create /path/to/project
cd /path/to/project
compass watch
Now you can edit the `*.scss` files in the `sass` directory with the text editor of your choice.
the `compass watch` process will automatically compile your them into css in the stylesheets directory whenever they change.
The files in the `sass` directory are yours and you can change them, delete them, add new ones, etc.
## Manual setup using the Blueprint Framework
When starting a project from scratch:
compass create /path/to/project --using blueprint
When installing into an existing project:
cd /path/to/project
compass install blueprint
To read more about using the Blueprint framework with Compass, [see the docs](/reference/blueprint/)
## Rails Setup
compass init rails /path/to/myrailsproject
Using Blueprint with Rails:
compass init rails /path/to/myrailsproject --using blueprint

View File

@ -1,21 +0,0 @@
---
title: Compass Tutorials
crumb: Tutorials
classnames:
- tutorial
layout: tutorial
---
%h1 Compass Tutorials
:markdown
These tutorials are still a work-in-progress, if you have questions that aren't covered here let us know on the [Compass users mailing list](http://groups.google.com/group/compass-users) where there are lots of
friendly Compass users standing by to help you out.
## New to Compass?
If you're new to Compass, you might be interested in [best practices](/help/tutorials/best_practices/), the [configuration reference](/help/tutorials/configuration-reference/), [configurable variables](/help/tutorials/configurable-variables/),
or the [command line documentation](/help/tutorials/command-line/).
## Want to contribute?
If you've been using Compass for a while and you'd like to give back, check out the tutorials on [contributing](/help/tutorials/contributing/) and [creating extensions](/help/tutorials/extensions/).

View File

@ -1,399 +0,0 @@
---
title: Configuration Reference
layout: tutorial
classnames:
- tutorial
---
# Configuration Reference
The compass configuration file is a ruby file, which means that we can do some
clever things if we want to. But dont let it frighten you; its really quite
easy to set up your project.
<a name="basic-format"></a>
## Basic format
Most configuration properties are a simple assignment to a configuration property.
For example:
css_dir = "stylesheets"
Most configuration properties have a value that is a “basic” type. There are three
basic types that can be set to a property:
* **String** Text is surrounded by either single or double quotes.
E.g. `"this is a string"`
* **Symbol** A symbol starts with a colon and has no spaces in it.
Symbols are used to represent values where the set of possible values are limited.
E.g. `:foo` or `:foo_bar_baz`
* **Boolean** `true` or `false`
There are two kinds of composite values:
* **Array** An Array is a comma delimited list of basic values surrounded by
square brackets. E.g. `["one", "two", "three"]`.
* **Hash** A Hash is an association or mapping of one value to another.
It is a comma delimited list of associations surrounded by curly brackets.
An association is two values separated by `=>`. E.g. `{:foo => "aaa", :bar => "zzz"}`
<a name="comments"></a>
## Comments
Use the hash sign `#` to comment out everything from the hash sign to the end
of the line.
<a name="import-note-windows-users"></a>
## Import Note for Windows Users
The backslash character (`\`) is a special character in a string delimited by
double quotes (`"`). If you are working with folders in your paths, you should
either use **single quotes** to delimit your strings or escape your backslash
by doubling it like `"some\\path"`.
<a name="loading-compass-plugins"></a>
## Loading Compass Plugins
Compass relies on the ruby `require` mechanism to load other libraries of code.
To load a compass-compatible plugin, simply require it at the top of your
configuration file. If you used the -r option to access another library at project
creation time, this will already be set up for you.
Example:
require 'ninesixty'
require 'susy'
<a name="overriding-configuration-settings"></a>
## Overriding Configuration Settings
When using the compass command line, configuration options that you set on the
command line will override the corresponding settings in your configuration file.
<a name="inspecting-configuration-settings-passed-via-the-command-line"></a>
## Inspecting Configuration Settings passed via the Command Line
When using the compass command line, configuration options that you set on the
command line can be inspected within the configuration file. For instance,
if you set the environment:
$ compass compile -e production --force
Then you can inspect the value like so:
output_style = (environment == :production) ? :compressed : :expanded
Values that are not set on the CLI will be `nil` even though they will have a default value
later on.
<a name="configuration-properties"></a>
## Configuration Properties
<table>
<tr>
<th>Property Name</th>
<th>Type </th>
<th>Description </th>
</tr>
<tr>
<td style="vertical-align:top;"><code>project_type</code> </td>
<td style="vertical-align:top;">Symbol </td>
<td style="vertical-align:top;">Can be <code>:stand_alone</code> or
<code>:rails</code>. Defaults to <code>:stand_alone</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>environment</code> </td>
<td style="vertical-align:top;">Symbol </td>
<td style="vertical-align:top;">The environment mode.
Defaults to <code>:production</code>, can also be <code>:development</code>
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>project_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">Not needed in <code>:stand_alone</code> mode
where it can be inferred by context. Sets the path to the root of the project.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>http_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The path to the project when running within the
web server. Defaults to <code>"/"</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>css_dir</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The directory where the css stylesheets are kept.
It is relative to the <code>project_path</code>.
Defaults to <code>"stylesheets"</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>css_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full path to where css stylesheets are kept.
Defaults to <code>&lt;project_path&gt;/&lt;css_dir&gt;</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>http_stylesheets_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full http path to stylesheets on the web server. Defaults to <code>http_path + "/" + css_dir</code>. </td>
</tr>
<tr>
<td style="vertical-align:top;"><code>sass_dir</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The directory where the sass stylesheets are kept.
It is relative to the <code>project_path</code>. Defaults to <code>"src"</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>sass_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full path to where sass stylesheets are kept.
Defaults to <code>&lt;project_path&gt;/&lt;sass_dir&gt;</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>images_dir</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The directory where the images are kept.
It is relative to the <code>project_path</code>.
Defaults to <code>"images"</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>images_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full path to where images are kept.
Defaults to <code>&lt;project_path&gt;/&lt;images_dir&gt;</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>http_images_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full http path to images on the web server.
Defaults to <code>http_path + "/" + images_dir</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>javascripts_dir</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The directory where the javascripts are kept.
It is relative to the <code>project_path</code>. Defaults to
<code>"javascripts"</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>javascripts_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full path to where javascripts are kept.
Defaults to <code>&lt;project_path&gt;/&lt;javascripts_dir&gt;</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>http_javascripts_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full http path to javascripts on the web server.
Defaults to <code>http_path + "/" + javascripts_dir</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>output_style</code> </td>
<td style="vertical-align:top;">Symbol </td>
<td style="vertical-align:top;">The output style for the compiled css.
One of: <code>:nested</code>, <code>:expanded</code>, <code>:compact</code>,
or <code>:compressed</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>relative_assets</code> </td>
<td style="vertical-align:top;">Boolean </td>
<td style="vertical-align:top;">Indicates whether the compass helper functions
should generate relative urls from the generated css to assets, or absolute urls
using the http path for that asset type.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>additional_import_paths</code> </td>
<td style="vertical-align:top;">Array of Strings </td>
<td style="vertical-align:top;">Other paths on your system from which to import
sass files. See the <code>add_import_path</code> function for a simpler
approach.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>disable_warnings</code> </td>
<td style="vertical-align:top;">Boolean </td>
<td style="vertical-align:top;">
Set this to true to silence deprecation warnings.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>sass_options</code> </td>
<td style="vertical-align:top;">Hash </td>
<td style="vertical-align:top;">These options are passed directly to the
Sass compiler. For more details on the format of sass options, please read the
<a href="http://sass-lang.com/yardoc/SASS_REFERENCE.md.html#options">sass options documentation</a>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>line_comments</code> </td>
<td style="vertical-align:top;">Boolean </td>
<td style="vertical-align:top;">Indicates whether line comments should be added
to compiled css that says where the selectors were defined. Defaults to false
in production mode, true in development mode.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>preferred_syntax</code> </td>
<td style="vertical-align:top;">Symbol </td>
<td style="vertical-align:top;">Can be <code>:scss</code> or <code>:sass</code>.
Defaults to <code>:scss</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>fonts_dir</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The directory where the font files are kept.
Standalone projects will default to <code>&lt;css_dir&gt;/fonts</code>.
Rails projects will default to <code>"public/fonts"</code>.
</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>fonts_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full path to where font files are kept.
Defaults to <code>&lt;project_path&gt;/&lt;fonts_dir&gt;</code>.</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>http_fonts_path</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The full http path to font files on the web server.</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>http_fonts_dir</code> </td>
<td style="vertical-align:top;">String </td>
<td style="vertical-align:top;">The relative http path to font files on the web server.</td>
</tr>
<tr>
<td style="vertical-align:top;"><code>sprite_engine</code> </td>
<td style="vertical-align:top;">Symbol </td>
<td style="vertical-align:top;">Defaults to <code>:chunky_png</code></td>
</tr>
<tr>
<td style="vertical-align:top;"><code>chunky_png_options</code></td>
<td style="vertical-align:top;">Hash </td>
<td style="vertical-align:top;">
Defaults to <code>{:compression => Zlib::BEST_COMPRESSION}</code>. See the chunky_png <a href='https://github.com/wvanbergen/chunky_png/wiki/Constraints' _target='blank'>wiki</a> for more information
</td>
</tr>
</table>
<a name="configuration-functions"></a>
## Configuration Functions
**`add_import_path`** Call this function to add a path to the list of sass import
paths for your compass project. E.g.:
add_import_path "/Users/chris/work/shared_sass"
---
**`asset_host`** Pass this function a block of code that will define the asset
host url to be used. The block must return a string that starts with a protocol
(E.g. http). The block will be passed the root-relative url of the asset.
For example, this picks one of four asset hosts numbered 0-3, depending on
the name of the asset:
asset_host do |asset|
"http://assets%d.example.com" % (asset.hash % 4)
end
By default there is no asset host used. When `relative_assets` is true
the asset host configuration is ignored.
---
<a name="asset-cache-buster"></a>
**`asset_cache_buster`** Pass this function a block of code that defines the
cache buster strategy to be used. The block must return nil, a string or a hash.
If the returned value is a hash the values of :path and/or :query is used to generate
a cache busted path to the asset. If a string value is returned, it is added as a query string.
The returned values for query strings must not include the starting `?`.
The block will be passed the root-relative url of the asset.
If the block accepts two arguments, it will also be passed a path
that points to the asset on disk — which may or may not exist.
# Increment the deploy_version before every release to force cache busting.
deploy_version = 1
asset_cache_buster do |http_path, real_path|
if File.exists?(real_path)
File.mtime(real_path).strftime("%s")
else
"v=#{deploy_version}"
end
end
Busting the cache via path:
asset_cache_buster do |path, real_path|
if File.exists?(real_path)
pathname = Pathname.new(path)
modified_time = File.mtime(real_path).strftime("%s")
new_path = "%s/%s-%s%s" % [pathname.dirname, pathname.basename(pathname.extname), modified_time, pathname.extname]
{:path => new_path, :query => nil}
end
end
To disable the asset cache buster:
asset_cache_buster :none
---
**`watch`** -- React to changes to arbitrary files within your project. Can be invoked
more than once. Example:
watch "images/**/*" do |project_dir, relative_path|
if File.exists?(File.join(project_dir, relative_path))
puts "File size of #{relative_path} is: #{File.size(File.join(project_dir, relative_path))}"
end
end
This code will be called if the file is added, updated, or removed. Be sure to check for existence
to avoid crashing the watcher in the case where the file has been removed.
<a name="callbacks"></a>
## Callbacks
**`on_sprite_saved`** -- Pass this function a block of code that gets executed after a sprite is saved to disk. The block will be passed the filename. Can be invoked more then once. Example:
on_sprite_saved do |filename|
post_process(filename) if File.exists?(filename)
end
**`on_sprite_generated`** -- Pass this function a block of code that gets executed after a sprite is generated but before its saved to disk. The block will be passed an instance of `ChunkyPNG::Image`. Can be invoked more then once. Example:
on_sprite_generated do |sprite_data|
sprite_data.metadata['Caption'] = "This Image is &copy; My Company 2011"
end
**`on_stylesheet_saved`** -- Pass this function a block of code that gets executed after a stylesheet is processed. The block will be passed the filename. Can be invoked more then once. Example:
on_stylesheet_saved do |filename|
Growl.notify {
self.message "#{File.basename(filename)} updated!"
self.icon = '/path/to/success.jpg'
}
end
**`on_stylesheet_error`** -- Pass this function a block of code that gets executed if a stylesheet has an error while processing. The block will be passed the filename and the error message. Can be invoked more then once. Example:
on_stylesheet_error do |filename, message|
Growl.notify {
self.message = "#{File.basename(filename)}: #{message}"
self.icon = '/path/to/fail.jpg'
sticky!
}
end

View File

@ -1,74 +0,0 @@
---
title: Extending Compass
layout: tutorial
crumb: Extending Compass
classnames:
- tutorial
---
# Extending Compass
## Sprite engine
The sprite engine is the work horse of sprite generation it's the interface for assembling and writing the image file to disk.
### Requirements
A sprite engine requires two methods `construct_sprite`, and `save(filename)`
Once inside the class you have access to `images` which is a collection of [Compass::SassExtensions::Sprites::Image](http://rdoc.info/github/chriseppstein/compass/dda7c9/Compass/SassExtensions/Sprites/Image)
### Configuration
To enable your sprite engine from the config file set
sprite_engine = :<engine name>
The example below will load `Compass::SassExtension::Sprites::ChunkyPngEngine.new(width, height, images)`
sprite_engine = :chunky_png
### Class Definition
module Compass
module SassExtensions
module Sprites
class ChunkyPngEngine < Compass::SassExtensions::Sprites::Engine
def construct_sprite
#do something
end
def save(filename)
#save file
end
end
end
end
end
<a name="adding-configuration-properties"></a>
## Adding Configuration Properties to Compass
To add a new configuration property to Compass:
Compass::Configuration.add_configuration_property(:foobar, "this is a foobar") do
if environment == :production
"foo"
else
"bar"
end
end
This will do several things:
1. make it possible for users to set the `foobar` configuration property in their
configuration file.
2. Ruby code can read and write the `foobar` attribute from any configuration object.
3. It will add the comment `# this is a foobar` above the property in the configuration file.
A comment is not required, you can simply omit this argument if you like.
4. The block of code provided allows you to assign a sensible default value according to other
settings in the configuration or by using arbitrary code to determine what the value should
be. For instance it could read from another configuration file or it could change based on
the user's operating system.

View File

@ -1,83 +0,0 @@
---
title: Application Integration
layout: tutorial
crumb: Application Integration
classnames:
- tutorial
---
# Application Integration
## Ruby on Rails
### Rails 3
compass init rails /path/to/myrailsproject
### Rails 2.3
rake rails:template LOCATION=http://compass-style.org/rails/installer
## Sinatra
require 'sinatra'
require 'haml'
require 'sass'
require 'compass'
configure do
Compass.configuration do |config|
config.project_path = File.dirname(__FILE__)
config.sass_dir = 'views'
end
set :haml, { :format => :html5 }
set :sass, Compass.sass_engine_options
end
get '/screen.css' do
content_type 'text/css', :charset => 'utf-8'
sass :screen
end
If you keep your stylesheets in “views/stylesheets/” directory instead of just “views/”, remember to update sass_dir configuration accordingly.
Check out this [sample compass-sinatra project](http://github.com/chriseppstein/compass-sinatra) to get up and running in no time!
[Sinatra Bootstrap](http://github.com/adamstac/sinatra-bootstrap) - a base Sinatra project with support for Haml, Sass, Compass, jQuery and more.
## Nanoc3
### Minimal integration: just drop it in
One simple route for lightweight integration is to simply install compass inside nanoc. Then edit config.rb to point to the stylesheets you want to use. This means you have to have the Compass watch command running in a separate window from the Nanoc compilation process.
Example project that works this way: http://github.com/unthinkingly/unthinkingly-blog
### More formal integration
At the top of the Nanoc Rules file, load the Compass configuration, like this:
require 'compass'
Compass.add_project_configuration 'compass/config.rb' # when using Compass 0.10
Compass.configuration.parse 'compass/config.rb' # when using Compass < 0.10
Your Compass configuration file (in compass/config.rb) could look like this (you may need to change the path to some directories depending on your directory structure):
http_path = "/"
project_path = "."
css_dir = "output/assets/style"
sass_dir = "content/assets/style"
images_dir = "output/assets/images"
# when using SCSS:
sass_options = {
:syntax => :scss
}
To filter the stylesheets using Sass and Compass, call the sass filter with Sass engine options taken from Compass, like this:
filter :sass, Compass.sass_engine_options
### Nanoc Projects using the formal approach
* [nanoc Bootstrap](http://github.com/adamstac/nanoc-bootstrap) - a base nanoc project with support for Haml, Sass, Compass, jQuery and more.
* [nanoc & Compass Example Project](http://github.com/ddfreyne/nanoc-bootstrap-compass)

View File

@ -1,228 +0,0 @@
---
title: Spriting with Compass
layout: tutorial
crumb: Spriting
classnames:
- tutorial
---
# Spriting with Compass
Spriting has never been easier with Compass. You place the sprite images in a folder,
import them into your stylesheet, and then you can use the sprite in your selectors in one
of several convenient ways.
## Setup
For this tutorial, let's imagine that in your project's image folder there are four icons:
* `images/icon/new.png`
* `images/icon/edit.png`
* `images/icon/save.png`
* `images/icon/delete.png`
Each is an icon that is 32px square.
## Basic Usage
The simplest way to use these icon sprites is to let compass give you a class for each sprite:
@import "icon/*.png";
@include all-icon-sprites;
And you'll get the following CSS output:
.icon-sprite,
.icon-delete,
.icon-edit,
.icon-new,
.icon-save { background: url('/images/icon-s34fe0604ab.png') no-repeat; }
.icon-delete { background-position: 0 0; }
.icon-edit { background-position: 0 -32px; }
.icon-new { background-position: 0 -64px; }
.icon-save { background-position: 0 -96px; }
You can now apply the `icon-XXX` classes to your markup as needed.
Let's go over what happened there. The import statement told compass to [generate a
stylesheet that is customized for your sprites](https://gist.github.com/729507). This
stylesheet is [magic](#magic-imports), it is not written to disk, and it can be customized
by setting configuration variables before you import it. See the section below on
[Customization Options](#customization-options). The goal of this stylesheet is to provide a
simple naming convention for your sprites so that you they are easy to remember and use. You
should never have to care what the is name of the generated sprite map, nor where a sprite
is located within it.
<a name="selector-control"></a>
## Selector Control
If you want control over what selectors are generated, it is easy to do. In this example,
this is done by using the magic `icon-sprite` mixin. Note that the mixin's name is dependent
on the name of the folder in which you've placed your icons.
@import "icon/*.png";
.actions {
.new { @include icon-sprite(new); }
.edit { @include icon-sprite(edit); }
.save { @include icon-sprite(save); }
.delete { @include icon-sprite(delete); }
}
And your stylesheet will compile to:
.icon-sprite,
.actions .new,
.actions .edit,
.actions .save,
.actions .delete { background: url('/images/icon-s34fe0604ab.png') no-repeat; }
.actions .new { background-position: 0 -64px; }
.actions .edit { background-position: 0 -32px; }
.actions .save { background-position: 0 -96px; }
.actions .delete { background-position: 0 0; }
<a name="magic-imports"></a>
## Magic Imports
As noted above, compass will magically create sprite stylesheets for you. Some people like
magic, some people are scared by it, and others are curious about how the magic works. If
you would like to avoid the magic, you can use compass to generate an import for you. On the
command line:
compass sprite "images/icon/*.png"
This will create file using your project's preferred syntax, or you can specify the
output filename using the `-f` option and the syntax will be inferred from the extension.
If you do this, you'll need to remember to regenerate the import whenever you rename, add,
or remove sprites.
Using the magic imports is recommended for most situations. But there are times when you
might want to avoid it. For instance, if your sprite map has more than about 20 to 30
sprites, you may find that hand crafting the import will speed up compilation times. See
the section on [performance considerations](#performance) for more details.
<a name="magic-selectors"></a>
## Magic Selectors
If you want to add selectors for your sprites, it's easy todo by adding `_active` `_target` or `_hover` to the file name, In the example below we have a sprite directory that looks like:
* `selectors/ten-by-ten.png`
* `selectors/ten-by-ten_hover.png`
* `selectors/ten-by-ten_active.png`
* `selectors/ten-by-ten_target.png`
Now in our sass file we add:
@import "selectors/*.png";
a {
@include selectors-sprite(ten-by-ten)
}
And your stylesheet will compile to:
.selectors-sprite, a {
background: url('/selectors-sedfef809e2.png') no-repeat;
}
a {
background-position: 0 0;
}
a:hover, a.ten-by-ten_hover, a.ten-by-ten-hover {
background-position: 0 -20px;
}
a:target, a.ten-by-ten_target, a.ten-by-ten-target {
background-position: 0 -30px;
}
a:active, a.ten-by-ten_active, a.ten-by-ten-active {
background-position: 0 -10px;
}
Alternatively you can use the `@include all-selectors-sprites;` after the import and get the following output:
.selectors-sprite, .selectors-ten-by-ten {
background: url('/selectors-sedfef809e2.png') no-repeat;
}
.selectors-ten-by-ten {
background-position: 0 0;
}
.selectors-ten-by-ten:hover, .selectors-ten-by-ten.ten-by-ten_hover, .selectors-ten-by-ten.ten-by-ten-hover {
background-position: 0 -20px;
}
.selectors-ten-by-ten:target, .selectors-ten-by-ten.ten-by-ten_target, .selectors-ten-by-ten.ten-by-ten-target {
background-position: 0 -30px;
}
.selectors-ten-by-ten:active, .selectors-ten-by-ten.ten-by-ten_active, .selectors-ten-by-ten.ten-by-ten-active {
background-position: 0 -10px;
}
<a name="customization-options"></a>
## Customization Options
### Options per Sprite Map
When constructing the sprite map, the entire sprite map and it's associated stylesheet
can be configured in the following ways. Each option is specified by setting a [configuration
variable](/help/tutorials/configurable-variables/) before importing the sprite. The variables
are named according to the name of the folder containing the sprites. In the examples below
the sprites were contained within a folder called `icon`.
* `$<map>-spacing` -- The amount of transparent space, in pixels, around each sprite.
Defaults to `0px`. E.g. `$icon-spacing: 20px`.
* `$<map>-repeat` -- Wether or not each sprite should repeat along the x axis. Defaults
to `no-repeat`. E.g. `$icon-repeat: repeat-x`.
* `$<map>-position` -- The position of the sprite in the sprite map along the x-axis. Can
be specified in pixels or percentage of the sprite map's width. `100%` would cause the
sprite to be on the right-hand side of the sprite map. Defaults to `0px`.
E.g. `$icon-position: 100%`.
* `$<map>-sprite-dimensions` -- Whether or not the dimensions of the sprite should be
included in each sprite's CSS output. Can be `true` or `false`. Defaults to `false`.
* `$<map>-sprite-base-class` -- The base class for these sprites. Defaults to `.<map>-sprite`.
E.g. `$icon-sprite-base-class: ".action-icon"`
* `$<map>-clean-up` -- Whether or not to removed the old sprite file when a new one is created. Defaults to true
### Options per Sprite
When constructing the sprite map, each sprite can be configured in the following ways:
* `$<map>-<sprite>-spacing` -- The amount of transparent space, in pixels, around the sprite. Defaults
to the sprite map's spacing which defaults to `0px`. E.g. `$icon-new-spacing: 20px`.
* `$<map>-<sprite>-repeat` -- Wether or not the sprite should repeat along the x axis. Defaults
to the sprite map's repeat which defaults to `no-repeat`. E.g. `$icon-new-repeat: repeat-x`.
* `$<map>-<sprite>-position` -- The position of the sprite in the sprite map along the x-axis. Can
be specified in pixels or percentage of the sprite map's width. `100%` would cause the
sprite to be on the right-hand side of the sprite map. Defaults to the sprite map's
position value which defaults to `0px`. E.g. `$icon-new-position: 100%`.
<a name="performance"></a>
## Performance Considerations
Reading PNG files and assembling new images and saving them to disk might have a non-trivial
impact to your stylesheet compilation times. Especially for the first compile. Please keep
this in mind.
## Large numbers of sprites
The magic stylesheet can get very large when there are large numbers of sprites. 50 sprites
will cause there to be over 150 variables created and then passed into the
`sprite-map` [function](/reference/compass/helpers/sprites/#sprite-map).
You may find that customizing the sprite function call to only pass those values that you
are overriding will provide a small performance boost.
See a [concrete example](https://gist.github.com/747970).
## Oily PNG
Compass generates PNG files using a pure-ruby library called
[`chunky_png`](https://github.com/wvanbergen/chunky_png). This library can be made faster by
installing a simple C extension called [`oily_png`](https://github.com/wvanbergen/oily_png).
Add it to your `Gemfile` if you have one in your project:
gem 'oily_png'
Or install the Rubygem:
gem install oily_png
Compass will automatically detect its presence.

View File

@ -1,29 +0,0 @@
---
title: Upgrading Compass
layout: tutorial
crumb: Upgrading
classnames:
- tutorial
---
Upgrading Compass
=================
So a new version of compass is out and you'd like to upgrade, but you're not sure how.
Well you've come to the right place.
There's a few things you should know.
1. **What is my currently installed compass version?**
You can find out your compass version by running `compass version`
on the command line.
2. **What is the latest compass version?**
The latest version of compass is proudly displayed [here](https://rubygems.org/gems/compass).
<br>
![rubygems](http://img.skitch.com/20101116-xkd9mtmqearh5mwhca33pa5yyy.png)
3. **What is the latest preview release?** There's not always a preview release,
but when there is, you can see the latest version [here](https://rubygems.org/gems/compass)
<br>
![rubygem versions](http://img.skitch.com/20101116-d3j5hf8ishb9x5249et8b6i23i.png)
4. Compass keeps a very detailed list of changes in every release. You can read
the [changelog](/CHANGELOG/) to get up to speed on what has changed.
If you're scared to upgrade, that's silly. Read [this](./im-scared/).

View File

@ -1,97 +0,0 @@
---
title: Compass v0.11 Upgrade
layout: tutorial
crumb: Upgrading to v0.11
classnames:
- tutorial
---
# Upgrading to the Compass Antares Release (v0.11)
Many mixins and certain uses of mixins have been deprecated, but your
existing stylesheets should still work out of the box with one exception:
users who are using the `css3/transform` module should update their imports
to import `css/transform-legacy` when they upgrade. They should then upgrade
to the new `css/transform` module at their convenience.
You should read about what changed, update your stylesheets accordingly
and then update your imports to the new version.
<a name="box-shadow"></a>
## Box Shadow
You may get a deprecation warning using the `box-shadow` mixin.
You can resolve this in one of the following ways:
1. Change your use of the `box-shadow` and instead use `single-box-shadow`.
This mixin has the same behavior and arguments as the old `box-shadow` mixin.
2. Keep using `box-shadow`, change how you pass the arguments. The new
`box-shadow` takes up to 10 comma-delimited shadows. Each shadow is
how the values should appear in the CSS (space separated).
<a name="text-shadow"></a>
## Text Shadow
You may get a deprecation warning using the `text-shadow` mixin.
You can resolve this in one of the following ways:
1. Change your use of the `text-shadow` and instead use `single-text-shadow`.
This mixin has the same behavior and arguments as the old `text-shadow` mixin.
2. Keep using `text-shadow`, change how you pass the arguments. The new
`text-shadow` takes up to 10 comma-delimited shadows. Each shadow is
how the values should appear in the CSS (space separated).
<a name="transform"></a>
## CSS Transforms
The transform module was largely re-written to support 3D transforms. If you
are using it, it is suggested that you read the [new module's documentation][new_transform]
and adjust your code appropriately. Many mixin names and constants have changed.
For your convenience, the [old CSS transform module][old_transform] can still be imported, but it
is deprecated and will be removed in the next release.
<a name="gradients"></a>
## Gradients
The Compass gradient support now more closely emulates the CSS3 specification of how gradients
are represented and passed around. The `linear-gradient` and `radial-gradient` mixins
have been deprecated and instead, you should use the `linear-gradient()` and `radial-gradient()`
functions in conjunction with mixins for the [properties that support gradients][image_stylesheet] like
`background` / `background-image`, `border-image`, `list-style` / `list-style-image`,
and `content`.
After upgrading, you'll receive deprecation warnings for your usage of the old gradient
mixins and a suggested replacement value for each. If you'd rather keep the old mixins in
your project for convenience, just copy the following to your project after changing your imports:
@mixin radial-gradient($color-stops, $center-position: center center, $image: false) {
@include background-image($image, radial-gradient($center-position, $color-stops));
}
@mixin linear-gradient($color-stops, $start: top, $image: false) {
@include background-image($image, linear-gradient($start, $color-stops));
}
Or for sass files:
=radial-gradient($color-stops, $center-position: center center, $image: false)
+background-image($image, radial-gradient($center-position, $color-stops))
=linear-gradient($color-stops, $start: top, $image: false)
+background-image($image, linear-gradient($start, $color-stops))
<a name="typography"></a>
## Typography Module
With the addition of vertical-rhythms to the compass core, we have created a new
[typography module][typography_module], and moved several items that were formerly
listed as "utilities" into it. The moved modules are "links", "lists" and "text".
These will all remain part of the basic compass include, but if you were including
them individually in your stylesheets, you will need to adjust the include paths
as follows:
* "compass/utilities/links" becomes "compass/typography/links"
* "compass/utilities/lists" becomes "compass/typography/lists"
* "compass/utilities/text" becomes "compass/typography/text"
[new_transform]: /reference/compass/css3/transform/
[old_transform]: /reference/compass/css3/transform-legacy/
[image_stylesheet]: /reference/compass/css3/images/
[typography_module]: /reference/compass/typography/

View File

@ -1,50 +0,0 @@
---
title: Lemonade Upgrade Guide
layout: tutorial
crumb: Lemonade Upgrade
classnames:
- tutorial
---
# Lemonade Upgrade Guide
## Example 1
### Lemonade
.logo {
background: sprite-image("lemonade/lemonade-logo.png");
}
.lime {
background: sprite-image("lemonade/lime.png");
}
.coffee {
background: sprite-image("other-drinks/coffee.png") no-repeat;
}
### Compass
@import "lemonade/*.png";
@import "other-drinks/*.png"
@include all-lemonade-sprites;
@include all-other-drinks-sprites;
Compass will return class names `.lemonade-logo`, `.lemonade-lime`, `.other-drinks-coffee`
# Example 2
### Lemonade
.lemonade-example-1 {
background: sprite-image("lemonade/example-1/blue-10x10.png", 10px, 2px);
}
### Compass
With compass you need to flatten the image directory to be `images/lemonade` instead of `images/lemonade/example-1`
@import "lemonade/*.png"
.lemonade-example-1 {
@include lemonade-sprite(blue-10x10, true, 10px, 2px);
background-color: yellow;
}

View File

@ -0,0 +1,7 @@
---
title: Compass Home
body_id: home
layout: homepage
---
Yo!

View File

@ -1,95 +1,65 @@
---
title: Compass Home
crumb: Home
title: Compass Documentation
crumb: Docs
body_id: home
layout: homepage
---
%h1#logo Compass
%h2 <strong>Compass</strong> is an open-source <em>CSS Authoring Framework</em>.
.overview
.compass
%h4 Why designers love Compass.
%ol
%li Experience cleaner markup without presentational classes.
%li Its chock full of the webs best reusable patterns.
%li Developing a personal framework is simple.
%li Compass mixins make CSS3 easy.
%li Download and create extensions with ease.
.sass
%h4 Compass uses Sass.
%p
<a href="http://sass-lang.com/">Sass</a> is an extension of CSS3 which
adds nested rules, variables, mixins, selector inheritance, and more.
Sass generates well formatted CSS and makes your stylesheets
easier to organize and maintain.
%h3 Brilliant people use Compass, including these <em>wildly talented</em> folks:
%ul#featured_sites
%li
%a(href="http://addons.heroku.com/")
%img(src="/images/sites/addons.heroku.jpg")
%span.title Heroku Addons
%span.url http://addons.heroku.com
%li
%a(href="http://sencha.com/products/touch/")
%img(src="/images/sites/sencha.jpg")
%span.title Sencha Touch
%span.url http://sencha.com/products/touch
%li
%a(href="http://caring.com/")
%img(src="/images/sites/caring.jpg")
%span.title Caring.com
%span.url http://caring.com
%li
%a(href="http://hubblesite.org/")
%img(src="/images/sites/hubblesite.jpg")
%span.title HubbleSite
%span.url http://hubblesite.org
%li
%a(href="http://dailymile.com/")
%img(src="/images/sites/dailymile.jpg")
%span.title DailyMile
%span.url http://dailymile.com
%li
%a(href="http://cofamilies.com/")
%img(src="/images/sites/cofamilies.jpg")
%span.title Cofamilies
%span.url http://cofamilies.com
%li
%a(href="http://jumpstartlab.com")
%img(src="/images/sites/jumpstartlab.jpg")
%span.title Jumpstart Lab
%span.url http://jumpstartlab.com
%li
%a(href="http://green.cals.cornell.edu/")
%img(src="/images/sites/cornell.jpg")
%span.title Cornell University - CALS
%span.url http://green.cals.cornell.edu
%li
%a(href="http://busyconf.com/")
%img(src="/images/sites/busyconf.jpg")
%span.title BusyConf
%span.url http://busyconf.com
%article
%h1#logo Compass
%section.book
%h3 Save <em>37%</em> on the Book: (Currently In Beta)
:markdown
Compass is a stylesheet authoring tool that uses the Sass stylesheet
language to make your stylesheets smaller and your web site easier to
maintain. Compass provides ports of the best of breed css frameworks
that you can use without forcing you to use their presentational class
names. Its a new way of thinking about stylesheets that must be seen
in action!
%p
%a(href="http://www.manning.com/netherland/")
%img(src="http://www.manning.com/netherland/netherland_cover150.jpg" alt="Sass & Compass in Action")
Compliments of Manning.com is a standing 37% discount on
<a href="http://www.manning.com/netherland/">Sass and Compass in Action</a>.
Use promo code <code>sasscomp37</code> at manning.com on the MEAP, eBook and pBook of Sass and
Compass in Action. All pBook purchases include free eFormats (PDF, ePub, and Kindle)
as soon as available.
<object width="700" height="438"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11671458&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11671458&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="700" height="438"></embed></object><p><a href="http://vimeo.com/11671458">An introduction to Compass</a> from <a href="http://vimeo.com/ltackett">Lorin Tackett</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
%section.gui
%h3 <em>Hate</em> the Command Line?
## Installing
%a(href="http://compass.handlino.com/")
%img(src="/images/compass.app.png")
%p
Buy <a href="http://compass.handlino.com/">Compass.app</a>
for Windows and Mac for just $7.
%p.note
Note: Compass.app is a product of Handlino, Inc but
30% of all proceeds go to Compass's charity of choice: <a href="http://umdf.org/compass">UMDF.org</a>.
Compass is a tool that runs on the command line.
On any system with ruby installed, open your terminal and type:
gem install compass
This will install Compass and Sass too. Verify that compass is installed:
compass version
## Creating a stand-alone project
compass create myproject
mate myproject
compass watch myproject
If you don't have TextMate, substitute the `mate myproject` part with the text
editor of your choice. Edit the `*.scss` files in the `sass` directory.
These files are yours and you can change them as you see fit, delete them,
make new ones, etc. Compass will automatically compile them into css in the
`stylesheets` directory whenever they change.
## Rails Support
compass init rails /path/to/myrailsproject
## Installing a framework
When creating a new project:
compass create myproject --using blueprint/basic
When installing into an existing project:
cd myproject
compass install blueprint/semantic
With Rails:
compass init rails /path/to/myrailsproject --using blueprint/semantic
## Bugs Reports, Discussions, Support
Send a note to the [mailing list](http://groups.google.com/group/compass-users)
and/or [File a bug](http://github.com/chriseppstein/compass/issues).

View File

@ -1,24 +0,0 @@
---
title: Compass Documentation | All Functions
crumb: Docs
body_id: home
---
%article
%h1#logo Sass Based Functions
- all_functions.sorted_and_grouped_by_name{|f| f.last.name }.each do |(group, functions)|
%h3= group
%ul
- functions.each do |(i, f)|
%li
%a{:href=>"#{i.path}#function-#{f.name}"}= f.sass_signature(:html)
%h1#logo All Ruby Based Functions
%ul
- Sass::Script::Functions.public_instance_methods.sort_by{|m| m.to_s}.each do |m|
%li
- name = m.to_s.gsub("_","-")
- if i = item_for_function_name(name)
%a{:href=>"#{i.path}##{name}"}= name
- else
= name

View File

@ -6,9 +6,9 @@ body_id: home
%article
%h1#logo Compass Mixins
- all_mixins.sorted_and_grouped_by_name{|m| m.last.name }.each do |(group, mixins)|
%h3= group
- all_mixins.sort_by{|i| i.first.identifier}.each do |item, mixins|
%h3= link_to item[:title], item
%ul
- mixins.each do |(i, m)|
%li
%a{:href=>"#{i.path}#mixin-#{m.name}"}= m.sass_signature(:none, :html)
- mixins.sort_by{|m| m.name}.each do |m|
%li= mixin_signature(m)

View File

@ -6,10 +6,10 @@ body_id: home
%article
%h1#logo Compass Variables
- all_constants.sorted_and_grouped_by_name{|v| v.last.name }.each do |(group, variables)|
%h3= group
- all_constants.sort_by{|i| i.first.identifier}.each do |item, constants|
%h3= link_to item[:title], item
%ul
- variables.each do |(i, v)|
%li
%a{:href=>"#{i.path}#const-#{v.name}"}= "$" + v.name
- constants.sort_by{|c| c.name}.each do |c|
%li $#{c.name}

View File

@ -1,81 +0,0 @@
---
title: Install the Compass Stylesheet Authoring Framework
crumb: Install
body_id: install
---
- content_for :javascripts do
%script(src="/javascripts/install.js")
%h2 Installing Ruby
%p
Compass runs on any computer that has
<a href="http://www.ruby-lang.org/en/downloads/">ruby installed</a>.
%p
For more advanced users you may want to install
<a href="http://rvm.beginrescueend.com/rvm/install/">rvm</a>.
%h2 Setting up the ruby environment
%ol
%li <code>$ gem update --system</code>
%li <code>$ gem install compass</code>
%h2 Tell us about your project and we'll help you get it set up:
%blockquote.madlib.customizable<
I would like to set up my
%select#existence
%option{:value => "create"} new
%option{:value => "init"} existing
%select#app-type
%option{:value => "stand-alone"} compass
%option{:value => "rails"} rails
%option{:value => "other"} other
project
with
%select#framework
%option{:value => "compass"} compass's
%option{:value => "blueprint"} blueprint's
%option{:value => "bare"} no
starter stylesheets.
%br
I prefer the
%select#syntax
%option{:value => "scss"} CSS based (SCSS)
%option{:value => "sass"} Indent based (Sass)
syntax<span class="customization">
and would like to
%select#options
%option{:value => "default"} use compass's recommended
%option{:value => "customized"} customize my project's
directory structure<span id="directories" style="display:none;">
using
%input#sassdir(value="sass")
for the sass source directory,
%input#cssdir(value="css")
for the css output directory,
%input#jsdir(value="javascripts")
for the javascripts directory,
and
%input#imagesdir(value="images")
for the images directory</span></span>.
%h4 Thanks. Now run the following steps in your terminal:
%p.note
Terminal newbies, read <a href="http://wiseheartdesign.com/articles/2010/11/12/the-designers-guide-to-the-osx-command-prompt/">the Designers Guide to the OSX Command Prompt</a> first!
#steps
Loading...
%p.note Note: <code>$</code> is a placeholder for your terminal's prompt. You don't type it.
%h4 Then follow the instructions that compass provides in the output.
%h4 Or you can buy a <a href="http://compass.handlino.com/">GUI for Compass</a> from Handlino.
%h2 Next Steps
%ul
%li
%a(href="http://sass-lang.com" target="_blank") Learn about Sass
%li
%a(href="/help/tutorials/") Read our tutorials
%li
%a(href="/reference/compass/") Study the reference documentation

View File

@ -1,141 +0,0 @@
---
title: "Compass v0.11 is Released!"
description: "Months in the making, Compass v0.11 continues to revolutionize CSS Frameworks."
author: chris
---
The Compass team is proud to announce that v0.11 is released. With this release, Compass & Sass continue to revolutionize the world of CSS Frameworks bringing never-before-seen features and unmatched simplicity, quality, and flexibility to your stylesheets.
In this post, we summarize the new features. For all the nitty gritty details, see the [CHANGELOG](/CHANGELOG/).
Compass is Charityware. If you love this release, [please donate to the UMDF](http://umdf.org/compass) on our behalf and help find a cure for thousands of children suffering from mitochondrial disease.
## Sass 3.1
This release required you to upgrade to Sass 3.1. This release brings a ton of great new features that Compass now uses and you can too!
* Proper List Support: Space and Comma separated lists used to cause values to become strings
when passing them to mixins. Now the values in lists are preserved as their original types.
* Sass-based Functions. Define your own value functions and use them anywhere.
* Keyword Style Argument passing to Functions and Mixins. It can be hard to understand what
the values being passed to a mixin or function are for, use keyword style arguments to
make it easier to understand remember and read mixin includes.
* `@media` bubbling. Responsive design meets nested selectors! Use a media declaration anywhere and it
will be bubbled to the top level for you.
For more information about the new Sass features, see the [Sass CHANGELOG](http://sass-lang.com/docs/yardoc/file.SASS_CHANGELOG.html).
## Embracing CSS3
The power and flexibility of CSS3 is well known and web developers and designers are finding many new and interesting ways to take advantage of it. In Compass v0.11 we have revisited each CSS3 feature to ensure the greatest ease of use and similarity to CSS3 syntax. The compass internals for managing cross-browser compatibility have been rewritten to provide a powerful platform for moving as fast as the browser implementors are. Going forward, <span style="text-decoration: underline;">expect small point releases to adapt to new browser support and changes much more rapidly</span>. By default, Compass provides out-of-the-box support for **all** modern and legacy browsers as far back as IE6 and Firefox 2. But if you want slimmer stylesheets, it is [simple to configure](/reference/compass/support/) which browser support we provide.
In this release, we embraced the CSS3 syntax as much as possible. It might seem obvious, but the Compass convention is now that all CSS3 mixin arguments should match the CSS3 syntax for their corresponding properties so that you never have to *learn* a compass CSS3 mixin. If you ever find a case where this is not true, it is a bug and we would appreciate it if you would [provide the details in a bug report](http://github.com/chriseppstein/compass/issues). After upgrading, you will encounter a number of deprecation warnings guiding you through the syntax changes.
### Gradients Evolved
The best example of the changes in the CSS3 module are related to gradients. In Compass v0.10 we provided two simple mixins: `linear-gradient` and `radial-gradient` for setting the `background-image` property:
.linear {
@include linear-gradient(#FFF, #000, color-stops(#C00 25%, #0C0 75%))
}
This syntax was inspired by the original webkit gradient syntax but tried to simplify it to some extent. But the gradient specification has evolved and because gradients can be used anywhere an image can, so we now provide a mixin for each property that can accept gradients and the arguments
can be any legal CSS3 value for the that property:
.linear {
@include background-image(linear-gradient(#FFF, #C00 25%, #0C0 75%, #000))
}
Which produces:
.linear {
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ffffff), color-stop(25%, #cc0000), color-stop(75%, #00cc00), color-stop(100%, #000000));
background-image: -webkit-linear-gradient(#ffffff, #cc0000 25%, #00cc00 75%, #000000);
background-image: -moz-linear-gradient(#ffffff, #cc0000 25%, #00cc00 75%, #000000);
background-image: -o-linear-gradient(#ffffff, #cc0000 25%, #00cc00 75%, #000000);
background-image: linear-gradient(#ffffff, #cc0000 25%, #00cc00 75%, #000000);
}
## Dead Simple Sprites
Spriting has never been easier with Compass. Nico Hagenburger joined the Compass team and we have built on his popular Lemonade plugin to make Compass sprites. Existing Lemonade users will need to upgrade.
The way they work is you place the sprite images in a folder,
import them into your stylesheet, and then you can use the sprite in your selectors in one
of several convenient ways.
For example, let's imagine that in your project's image folder there are four icons:
* `<images_dir>/icon/new.png`
* `<images_dir>/icon/edit.png`
* `<images_dir>/icon/save.png`
* `<images_dir>/icon/delete.png`
The simplest way to use these icon sprites is to let compass give you a class for each sprite:
@import "icon/*.png";
@include all-icon-sprites;
And you'll get the following CSS output:
.icon-sprite,
.icon-delete,
.icon-edit,
.icon-new,
.icon-save { background: url('/images/icon-34fe0604ab.png') no-repeat; }
.icon-delete { background-position: 0 0; }
.icon-edit { background-position: 0 -32px; }
.icon-new { background-position: 0 -64px; }
.icon-save { background-position: 0 -96px; }
You can now apply the `icon-XXX` classes to your markup as needed.
Of course, this is Compass which means that underneath this simple veneer is a powerful system that you can use to customize your selectors and all kinds of other scenarios involving unicorns and rainbows. Get all the details in our [Spriting Tutorial](/help/tutorials/spriting/).
## New Typography Module
New in this release is a typography module. Many of our utility mixins related to typography have been moved here, but the really exciting development is the addition of the [vertical rhythm module](/reference/compass/typography/vertical_rhythm/). Based on [this excellent tutorial](http://24ways.org/2006/compose-to-a-vertical-rhythm) from 24ways, it is now simpler than ever to compose to a vertical rhythm.
## Blueprint 1.0
Blueprint is 1.0 now and the Compass port is updated to match the changes there. Some of the changes that blueprint made might affect your design, so if you don't want to take this upgrade, you should unpack blueprint before you upgrade:
compass unpack blueprint
## New Website
As you can see, we have a spiffy new website design from Compass Core team member [Brandon](http://brandonmathis.com/). A testament to the separation of content and presentation, most of this redesign was done by throwing out our old stylesheets and building new ones. If you don't like the light text on dark background theme, you can turn on the lights by clicking the power button in the upper right hand corner of every page.
## Much, Much More
There's more features in this release than would fit into this post. Here's some other things you'll find in this release:
* Custom directory and file watching (E.g. for pngcrush support)
* Compilation Callback support
* Trigonometric functions
Read the [CHANGELOG](/CHANGELOG/) for all the details.
Additionally, expect a point release to follow shortly with support for:
* Rails 3.1
Lastly, Compass v0.11 will have point releases as needed to adapt to changes in browser support for the CSS3 module.
## Many Thanks
Compass wouldn't be possible without Nathan Weizenbaum and his hard work on Sass. The latest Sass release
provides a ton of great features that have made this Compass release possible.
Compass is far to big for one person to manage it now. I'd like to thank the hard work of the Compass core team members:
* [Eric Meyer](http://eric.oddbird.net/)
* [Brandon Mathis](http://brandonmathis.com/)
* [Scott Davis](https://github.com/jetviper21)
* [Nico Hagenburger](http://www.hagenburger.net/)
Additionally, there were commits from 10 other great folks in this release and there's been [contributions from 68 people](https://github.com/chriseppstein/compass/contributors) in total so far.
Lastly thanks to the hundreds, if not thousands, of users who have helped test this release and provided valuable feedback, bug reports, and documentation suggestions. Together, we are making a real stylesheet framework and simplifying the lives of web developers across the world.

View File

@ -1,93 +0,0 @@
---
title: "Compass Release Strategy"
description: "An overview of how Compass will be managing ongoing releases."
author: chris
---
Most of this is probably obvious, but it doesn't hurt to be explicit about such things.
If you're interested in contributing to Compass, please read the
[Contribution Guide](http://compass-style.org/help/tutorials/contributing/).
Versioning
----------
Most stable releases will be released as release candidates first
(e.g `0.11.1.rc.0`) and then made into official releases after a day
or so if they don't cause any problems.
Sass Dependency
---------------
We will decouple major Compass releases from the Sass release schedule
going forward. When Sass releases happen, we will issue patches to both
stable and master branches to adjust to any deprecations and new
features after they are fully released (which means we might have the
changes waiting in a topic branch). Because Sass is very careful to not
break existing stylesheets without deprecating first, this shouldn't be
hard to pull off.
Stylesheet Progress
-------------------
I do not want to see the compass stylesheets get frozen again
like they did in v0.10 while waiting for the next major release.
Compass users expect us to keep up with browser developments and we will.
If this means that we need to make v0.12 become v0.13 because
the stylesheets need to make some major change, then we will do that.
Communicating Change
--------------------
All new features should have tests, docs, and CHANGELOG entries
as appropriate as part of the commit.
Additionally, we now have a compass team blog that we can use to communicate
about new features, best practices, or other Compass related stuff.
It's easy to add a post, you just drop a markdown file into
[this directory](https://github.com/chriseppstein/compass/tree/stable/doc-src/content/posts).
Guest posts are totally welcome via pull requests.
Stable
------
The stable release is were code lives for the next v0.11 point release.
Commits should only go here if they are ready for release, until that
point the code should live in your compass fork or in a topic branch.
Core team members, please use pull requests to manage the code review
process for any change of significance and get sign-off from one other
team member before committing to stable.
Changes that can go on stable:
* Browser support updates
* Non-breaking stylesheet changes and minor features
like new mixins or modules.
* Bug fixes
Changes that can't go on stable:
* New deprecations
* Major features
* Big refactors
If you're not sure where to put something, just ask.
Rails 3.1 support is the exception to this rule, given the timeline
assocated with that release, I will make a topic branch and we'll
merge that to stable when it's ready.
Core team members will, after committing/merging code to stable, then merge those changes to master so it is up to date.
Master
------
Master is where code goes to be ready for v0.12. This focus of this
next release is making extensions easy to make, share, discover, install,
remove, and use. Any and all ideas that you have related to this are
welcome. At a minimum, I would like to have an extension directory
app hosted on compass-style.org and make sure that compass knows about
it and can install extensions by name from there.

View File

@ -1,34 +0,0 @@
---
title: "How to use Compass/Sass with Django."
description: "All the documentation is for Ruby/Rails development, so how does it work for the rest of us?"
author: eric
---
It's easy! Follow these two simple steps:
1. Use Compass/Sass.
2. Use Django.
That's it. Compass works great as a stand-alone tool. Run "compass --watch" on the command line or use [compass.app](http://compass.handlino.com/) to compile your stylesheets, and then commit the CSS to your Django project, just like you always have. Done.
## What about integration?
Compass and Sass are built in Ruby. When the rest of your project is also built in Ruby, it makes sense to squeeze every last ounce of convenient automatic integration, like having your project automatically compile Sass to CSS for you at runtime. But that integration is not actually necessary, and when the rest of your project is not Ruby, you pay a lot more for that little bit of convenience.
A Rails/Ruby project already has a full Ruby stack and deployment infrastructure to make sure all the right Ruby gems are available on the server. Adding a few Compass gems makes very little difference in the complexity of your production deployment.
For a Django project, integrating run-time Compass compilation (via something like [django-css](https://github.com/dziegler/django-css)) means requiring a full Ruby stack on your production servers, plus new deployment infrastructure for getting all the right gem versions in place. This is a significant chunk of additional moving parts on your production servers.
Keeping your production servers simpler is A Very Good Thing. (And, as a bonus, it allows you to deploy your project to pure-Python managed hosting environments).
## In development.
The disadvantage to our approach is that you are committing generated code to the repo. That's generally frowned upon. But we haven't seen any actual problems as a result of this. Nobody on the team is tempted to edit the generated CSS directly; we all know that we use Compass for that. There are no mysterious display inconsistencies between one developer and another, or between development and production, because of minor differences in something like a Compass plugin gem version. Everyone sees the same CSS. Differences between developers' Compass environments are caught quickly, because they show up right away as unexpected changes in the pre-commit diff of the generated CSS.
And I, as the designer/front-end developer, keep full control of the css-generation process without needing to touch the server. If I want to update the gems and make some changes, I can do that. I make the change, I commit the change, and it just works. For everyone. That's important to me. It removes all the pretense of dark magic that can come with Sass/Compass. I'm writing CSS. I'm committing CSS. Compass, Sass and all their plugins are just tools towards that end.
Of course, you'll want to commit the Sass as well, especially if you have multiple front-end developers on the team. That way the source is available for anyone who needs to update it, even though it's not needed by the server. You might also want a way of documenting the latest gems that should be used to compile it. That's easy enough to add in a comment or doc of it's own.
## Just Tools.
I want to say that again because I think it is the most important and most often forgotten rule of using a css pre-processor. **Compass and Sass are simply tools for writing CSS. They are not a new styling language. They are not magic. They make writing css easier - and that is all. The css output is the only thing that matters.**

Some files were not shown because too many files have changed in this diff Show More