diff --git a/README.md b/README.md
index ea7df7d..f7e7458 100644
--- a/README.md
+++ b/README.md
@@ -65,7 +65,7 @@ jruby.
## Are there any community extensions? ##
-* [compass-csscss](https://github.com/Comcast/compass-csscss) integrates csscss with [compass](http://compass-style.org/) projects.
+* [compass-csscss](https://github.com/Comcast/compass-csscss) integrates [compass](http://compass-style.org/) with compass projects.
* [grunt-csscss](https://github.com/peterkeating/grunt-csscss) a [grunt](http://gruntjs.com/) task to automatically run csscss.
* [gulp-csscss](https://www.npmjs.org/package/gulp-csscss/) a [gulp](http://gulpjs.com/) task to automatically run csscss.
diff --git a/_layouts/index.html b/_layouts/index.html
new file mode 100644
index 0000000..36e1386
--- /dev/null
+++ b/_layouts/index.html
@@ -0,0 +1,52 @@
+
+
+
+
+
+ csscss by zmoazeni
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/images/arrow-down.png b/images/arrow-down.png
new file mode 100644
index 0000000..585b0bd
Binary files /dev/null and b/images/arrow-down.png differ
diff --git a/images/octocat-small.png b/images/octocat-small.png
new file mode 100644
index 0000000..66c2539
Binary files /dev/null and b/images/octocat-small.png differ
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..e91e286
--- /dev/null
+++ b/index.md
@@ -0,0 +1,100 @@
+---
+layout: index
+---
+
+## What is it? ##
+
+csscss will parse any CSS files you give it and let you know which
+rulesets have duplicated declarations.
+
+## What is it for? ##
+
+One of the best strategies for me to maintain CSS is to reduce
+duplication as much as possible. It's not a silver bullet, but it sure
+helps.
+
+To do that, you need to have all the rulesets in your head at all times.
+That's hard, csscss is easy. Let it tell you what is redundant.
+
+## How do I use it? ##
+
+First you need to install it. It is currently packaged as a ruby gem:
+
+ $ gem install csscss
+
+Note: csscss only works on ruby 1.9.x and up. It will have trouble with ruby 1.8.x.
+
+Then you can run it in at the command line against CSS files.
+
+ $ csscss path/to/styles.css path/to/other-styles.css
+
+ {.contact .content .primary} and {article, #comments} share 5 rules
+ {.profile-picture}, {.screenshot img} and {a.blurb img} share 4 rules
+ {.work h2:first-child, .contact h2} and {body.home h2} share 4 rules
+ {article.blurb:hover} and {article:hover} share 3 rules
+
+Run it in a verbose mode to see all the duplicated styles.
+
+ $ csscss -v path/to/styles.css
+
+Run it against remote files by passing a valid URL.
+
+ $ csscss -v http://example.com/css/main.css
+
+You can also choose a minimum number of matches, which will ignore any
+rulesets that have fewer matches.
+
+ $ csscss -n 10 -v path/to/style.css # ignores rulesets with < 10 matches
+
+If you prefer writing in [Sass](http://sass-lang.com/), you can also parse your sass/scss files.
+
+ $ gem install sass
+ $ csscss path/to/style.scss
+
+Sass users may be interested in the `--ignore-sass-mixins`
+experimental flag that won't match duplicate declarations from including mixins.
+
+If you prefer writing in [LESS](http://lesscss.org/), you can also parse your LESS files.
+
+ $ gem install less
+ $ csscss path/to/style.less
+
+LESS requires an additional javascript runtime.
+[v8/therubyracer](https://rubygems.org/gems/therubyracer) on most
+rubies, and [therubyrhino](https://rubygems.org/gems/therubyrhino) on
+jruby.
+
+## Are there any community extensions? ##
+
+* [compass-csscss](https://github.com/Comcast/compass-csscss) integrates csscss with [compass](http://compass-style.org/) projects.
+* [grunt-csscss](https://github.com/peterkeating/grunt-csscss) a [grunt](http://gruntjs.com/) task to automatically run csscss.
+* [gulp-csscss](https://www.npmjs.org/package/gulp-csscss/) a [gulp](http://gulpjs.com/) task to automatically run csscss.
+
+_Please submit [an issue](https://github.com/zmoazeni/csscss/issues/new) if you know of any others._
+
+## Why doesn't csscss automatically remove duplications for me? ##
+
+I have been asked this a lot, but csscss is intentionally designed this
+way. Check out [this
+post](https://connectionrequired.com/blog/2013/04/why-csscss-doesnt-remove-duplication-for-you)
+for my reasoning.
+
+## I found bugs ##
+
+This is still a new and evolving project. I heartily welcome feedback.
+If you find any issues, please report them on
+[github](https://github.com/zmoazeni/csscss/issues).
+
+Please include the smallest CSS snippet to describe the issue and the
+output you expect to see.
+
+## I'm a dev, I can help ##
+
+Awesome! Thanks! Here are the steps I ask:
+
+1. Fork it
+2. Create your feature branch (`git checkout -b my-new-feature`)
+3. Commit your changes (`git commit -am 'Add some feature'`)
+4. Make sure the tests pass (`bundle exec rake test`)
+5. Push to the branch (`git push origin my-new-feature`)
+6. Create new Pull Request
diff --git a/javascripts/scale.fix.js b/javascripts/scale.fix.js
new file mode 100644
index 0000000..08716c0
--- /dev/null
+++ b/javascripts/scale.fix.js
@@ -0,0 +1,20 @@
+fixScale = function(doc) {
+
+ var addEvent = 'addEventListener',
+ type = 'gesturestart',
+ qsa = 'querySelectorAll',
+ scales = [1, 1],
+ meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : [];
+
+ function fix() {
+ meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1];
+ doc.removeEventListener(type, fix, true);
+ }
+
+ if ((meta = meta[meta.length - 1]) && addEvent in doc) {
+ fix();
+ scales = [.25, 1.6];
+ doc[addEvent](type, fix, true);
+ }
+
+};
\ No newline at end of file
diff --git a/params.json b/params.json
new file mode 100644
index 0000000..ded0fd0
--- /dev/null
+++ b/params.json
@@ -0,0 +1 @@
+{"name":"csscss","tagline":"A CSS redundancy analyzer that analyzes redundancy.","body":"## What is it? ##\r\n\r\ncsscss will parse any CSS files you give it and let you know which\r\nrulesets have duplicated declarations.\r\n\r\n## What is it for? ##\r\n\r\nOne of the best strategies for me to maintain CSS is to reduce\r\nduplication as much as possible. It's not a silver bullet, but it sure\r\nhelps.\r\n\r\nTo do that, you need to have all the rulesets in your head at all times.\r\nThat's hard, csscss is easy. Let it tell you what is redundant.\r\n\r\n## How do I use it? ##\r\n\r\nFirst you need to install it. It is currently packaged as a ruby gem:\r\n\r\n $ gem install csscss\r\n\r\nThen you can run it in at the command line against CSS files.\r\n\r\n $ csscss path/to/styles.css path/to/other-styles.css\r\n\r\n {.contact .content .primary} and {article, #comments} share 5 rules\r\n {.profile-picture}, {.screenshot img} and {a.blurb img} share 4 rules\r\n {.work h2:first-child, .archive h2:first-child, .missing h2:first-child, .about h2, .contact h2} and {body.home h2} share 4 rules\r\n {article.blurb:hover} and {article:hover} share 3 rules\r\n\r\nRun it in a verbose mode to see all the duplicated styles.\r\n\r\n $ csscss -v path/to/styles.css\r\n\r\nRun it against remote files by passing a valid URL.\r\n\r\n $ csscss -v http://example.com/css/main.css\r\n\r\nYou can also choose a minimum number of matches, which will ignore any\r\nrulesets that have fewer matches.\r\n\r\n $ csscss -n 10 -v path/to/style.css # ignores rulesets with < 10 matches\r\n\r\nIf you prefer writing in sass, you can also parse your sass/scss files.\r\n\r\n $ gem install sass\r\n $ csscss path/to/style.scss\r\n\r\n\r\n## I found bugs ##\r\n\r\nThis is still a new and evolving project. I heartily welcome feedback.\r\nIf you find any issues, please report them on\r\n[github](https://github.com/zmoazeni/csscss/issues).\r\n\r\nPlease include the smallest CSS snippet to describe the issue and the\r\noutput you expect to see.\r\n\r\n## Who are you? ##\r\n\r\nMy name is [Zach Moazeni](https://twitter.com/zmoazeni). I work for [an\r\nawesome company](http://www.getharvest.com/). And [we're\r\nhiring!](http://www.getharvest.com/careers)\r\n\r\n## I'm a dev, I can help ##\r\n\r\nAwesome! Thanks! Here are the steps I ask:\r\n\r\n1. Fork it\r\n2. Create your feature branch (`git checkout -b my-new-feature`)\r\n3. Commit your changes (`git commit -am 'Add some feature'`)\r\n4. Make sure the tests pass (`bundle exec rake test`)\r\n5. Push to the branch (`git push origin my-new-feature`)\r\n6. Create new Pull Request\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
\ No newline at end of file
diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css
new file mode 100644
index 0000000..c6a6452
--- /dev/null
+++ b/stylesheets/pygment_trac.css
@@ -0,0 +1,69 @@
+.highlight { background: #ffffff; }
+.highlight .c { color: #999988; font-style: italic } /* Comment */
+.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+.highlight .k { font-weight: bold } /* Keyword */
+.highlight .o { font-weight: bold } /* Operator */
+.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
+.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
+.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #aa0000 } /* Generic.Error */
+.highlight .gh { color: #999999 } /* Generic.Heading */
+.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
+.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #555555 } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
+.highlight .kc { font-weight: bold } /* Keyword.Constant */
+.highlight .kd { font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #009999 } /* Literal.Number */
+.highlight .s { color: #d14 } /* Literal.String */
+.highlight .na { color: #008080 } /* Name.Attribute */
+.highlight .nb { color: #0086B3 } /* Name.Builtin */
+.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
+.highlight .no { color: #008080 } /* Name.Constant */
+.highlight .ni { color: #800080 } /* Name.Entity */
+.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
+.highlight .nn { color: #555555 } /* Name.Namespace */
+.highlight .nt { color: #000080 } /* Name.Tag */
+.highlight .nv { color: #008080 } /* Name.Variable */
+.highlight .ow { font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #009999 } /* Literal.Number.Float */
+.highlight .mh { color: #009999 } /* Literal.Number.Hex */
+.highlight .mi { color: #009999 } /* Literal.Number.Integer */
+.highlight .mo { color: #009999 } /* Literal.Number.Oct */
+.highlight .sb { color: #d14 } /* Literal.String.Backtick */
+.highlight .sc { color: #d14 } /* Literal.String.Char */
+.highlight .sd { color: #d14 } /* Literal.String.Doc */
+.highlight .s2 { color: #d14 } /* Literal.String.Double */
+.highlight .se { color: #d14 } /* Literal.String.Escape */
+.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
+.highlight .si { color: #d14 } /* Literal.String.Interpol */
+.highlight .sx { color: #d14 } /* Literal.String.Other */
+.highlight .sr { color: #009926 } /* Literal.String.Regex */
+.highlight .s1 { color: #d14 } /* Literal.String.Single */
+.highlight .ss { color: #990073 } /* Literal.String.Symbol */
+.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #008080 } /* Name.Variable.Class */
+.highlight .vg { color: #008080 } /* Name.Variable.Global */
+.highlight .vi { color: #008080 } /* Name.Variable.Instance */
+.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
+
+.type-csharp .highlight .k { color: #0000FF }
+.type-csharp .highlight .kt { color: #0000FF }
+.type-csharp .highlight .nf { color: #000000; font-weight: normal }
+.type-csharp .highlight .nc { color: #2B91AF }
+.type-csharp .highlight .nn { color: #000000 }
+.type-csharp .highlight .s { color: #A31515 }
+.type-csharp .highlight .sc { color: #A31515 }
diff --git a/stylesheets/styles.css b/stylesheets/styles.css
new file mode 100644
index 0000000..f14d9e4
--- /dev/null
+++ b/stylesheets/styles.css
@@ -0,0 +1,413 @@
+@import url(https://fonts.googleapis.com/css?family=Arvo:400,700,400italic);
+
+/* MeyerWeb Reset */
+
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed,
+figure, figcaption, footer, header, hgroup,
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font: inherit;
+ vertical-align: baseline;
+}
+
+
+/* Base text styles */
+
+body {
+ padding:10px 50px 0 0;
+ font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
+ font-size: 14px;
+ color: #232323;
+ background-color: #FBFAF7;
+ margin: 0;
+ line-height: 1.8em;
+ -webkit-font-smoothing: antialiased;
+
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color:#232323;
+ margin:36px 0 10px;
+}
+
+p, ul, ol, table, dl {
+ margin:0 0 22px;
+}
+
+h1, h2, h3 {
+ font-family: Arvo, Monaco, serif;
+ line-height:1.3;
+ font-weight: normal;
+}
+
+h1,h2, h3 {
+ display: block;
+ border-bottom: 1px solid #ccc;
+ padding-bottom: 5px;
+}
+
+h1 {
+ font-size: 30px;
+}
+
+h2 {
+ font-size: 24px;
+}
+
+h3 {
+ font-size: 18px;
+}
+
+h4, h5, h6 {
+ font-family: Arvo, Monaco, serif;
+ font-weight: 700;
+}
+
+a {
+ color:#C30000;
+ font-weight:200;
+ text-decoration:none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a small {
+ font-size: 12px;
+}
+
+em {
+ font-style: italic;
+}
+
+strong {
+ font-weight:700;
+}
+
+ul li {
+ list-style: inside;
+ padding-left: 25px;
+}
+
+ol li {
+ list-style: decimal inside;
+ padding-left: 20px;
+}
+
+blockquote {
+ margin: 0;
+ padding: 0 0 0 20px;
+ font-style: italic;
+}
+
+dl, dt, dd, dl p {
+ font-color: #444;
+}
+
+dl dt {
+ font-weight: bold;
+}
+
+dl dd {
+ padding-left: 20px;
+ font-style: italic;
+}
+
+dl p {
+ padding-left: 20px;
+ font-style: italic;
+}
+
+hr {
+ border:0;
+ background:#ccc;
+ height:1px;
+ margin:0 0 24px;
+}
+
+/* Images */
+
+img {
+ position: relative;
+ margin: 0 auto;
+ max-width: 650px;
+ padding: 5px;
+ margin: 10px 0 32px 0;
+ border: 1px solid #ccc;
+}
+
+
+/* Code blocks */
+
+code, pre {
+ font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
+ color:#000;
+ font-size:14px;
+}
+
+pre {
+ padding: 4px 12px;
+ background: #FDFEFB;
+ border-radius:4px;
+ border:1px solid #D7D8C8;
+ overflow: auto;
+ overflow-y: hidden;
+ margin-bottom: 32px;
+}
+
+
+/* Tables */
+
+table {
+ width:100%;
+}
+
+table {
+ border: 1px solid #ccc;
+ margin-bottom: 32px;
+ text-align: left;
+ }
+
+th {
+ font-family: 'Arvo', Helvetica, Arial, sans-serif;
+ font-size: 18px;
+ font-weight: normal;
+ padding: 10px;
+ background: #232323;
+ color: #FDFEFB;
+ }
+
+td {
+ padding: 10px;
+ background: #ccc;
+ }
+
+
+/* Wrapper */
+.wrapper {
+ width:960px;
+}
+
+
+/* Header */
+
+header {
+ background-color: #171717;
+ color: #FDFDFB;
+ width:170px;
+ float:left;
+ position:fixed;
+ border: 1px solid #000;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -moz-border-radius-topright: 4px;
+ -moz-border-radius-bottomright: 4px;
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ padding: 34px 25px 22px 50px;
+ margin: 30px 25px 0 0;
+ -webkit-font-smoothing: antialiased;
+}
+
+p.header {
+ font-size: 16px;
+}
+
+h1.header {
+ font-family: Arvo, sans-serif;
+ font-size: 30px;
+ font-weight: 300;
+ line-height: 1.3em;
+ border-bottom: none;
+ margin-top: 0;
+}
+
+
+h1.header, a.header, a.name, header a{
+ color: #fff;
+}
+
+a.header {
+ text-decoration: underline;
+}
+
+a.name {
+ white-space: nowrap;
+}
+
+header ul {
+ list-style:none;
+ padding:0;
+}
+
+header li {
+ list-style-type: none;
+ width:132px;
+ height:15px;
+ margin-bottom: 12px;
+ line-height: 1em;
+ padding: 6px 6px 6px 7px;
+
+ background: #AF0011;
+ background: -moz-linear-gradient(top, #AF0011 0%, #820011 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
+ background: -webkit-linear-gradient(top, #AF0011 0%,#820011 100%);
+ background: -o-linear-gradient(top, #AF0011 0%,#820011 100%);
+ background: -ms-linear-gradient(top, #AF0011 0%,#820011 100%);
+ background: linear-gradient(top, #AF0011 0%,#820011 100%);
+
+ border-radius:4px;
+ border:1px solid #0D0D0D;
+
+ -webkit-box-shadow: inset 0px 1px 1px 0 rgba(233,2,38, 1);
+ box-shadow: inset 0px 1px 1px 0 rgba(233,2,38, 1);
+
+}
+
+header li:hover {
+ background: #C3001D;
+ background: -moz-linear-gradient(top, #C3001D 0%, #950119 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
+ background: -webkit-linear-gradient(top, #C3001D 0%,#950119 100%);
+ background: -o-linear-gradient(top, #C3001D 0%,#950119 100%);
+ background: -ms-linear-gradient(top, #C3001D 0%,#950119 100%);
+ background: linear-gradient(top, #C3001D 0%,#950119 100%);
+}
+
+a.buttons {
+ -webkit-font-smoothing: antialiased;
+ background: url(../images/arrow-down.png) no-repeat;
+ font-weight: normal;
+ text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0;
+ padding: 2px 2px 2px 22px;
+ height: 30px;
+}
+
+a.github {
+ background: url(../images/octocat-small.png) no-repeat 1px;
+}
+
+a.buttons:hover {
+ color: #fff;
+ text-decoration: none;
+}
+
+
+/* Section - for main page content */
+
+section {
+ width:650px;
+ float:right;
+ padding-bottom:50px;
+}
+
+
+/* Footer */
+
+footer {
+ width:170px;
+ float:left;
+ position:fixed;
+ bottom:10px;
+ padding-left: 50px;
+}
+
+@media print, screen and (max-width: 960px) {
+
+ div.wrapper {
+ width:auto;
+ margin:0;
+ }
+
+ header, section, footer {
+ float:none;
+ position:static;
+ width:auto;
+ }
+
+ footer {
+ border-top: 1px solid #ccc;
+ margin:0 84px 0 50px;
+ padding:0;
+ }
+
+ header {
+ padding-right:320px;
+ }
+
+ section {
+ padding:20px 84px 20px 50px;
+ margin:0 0 20px;
+ }
+
+ header a small {
+ display:inline;
+ }
+
+ header ul {
+ position:absolute;
+ right:130px;
+ top:84px;
+ }
+}
+
+@media print, screen and (max-width: 720px) {
+ body {
+ word-wrap:break-word;
+ }
+
+ header {
+ padding:10px 20px 0;
+ margin-right: 0;
+ }
+
+ section {
+ padding:10px 0 10px 20px;
+ margin:0 0 30px;
+ }
+
+ footer {
+ margin: 0 0 0 30px;
+ }
+
+ header ul, header p.view {
+ position:static;
+ }
+}
+
+@media print, screen and (max-width: 480px) {
+
+ header ul li.download {
+ display:none;
+ }
+
+ footer {
+ margin: 0 0 0 20px;
+ }
+
+ footer a{
+ display:block;
+ }
+
+}
+
+@media print {
+ body {
+ padding:0.4in;
+ font-size:12pt;
+ color:#444;
+ }
+}
\ No newline at end of file