Skip to content

Instantly share code, notes, and snippets.

Chris Eppstein chriseppstein

Block or report user

Report or block chriseppstein

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
chriseppstein / dependency_extractor.rb
Created Jan 9, 2014
A ruby class for analyzing the dependencies in a sass file.
View dependency_extractor.rb
# extracts dependencies for a file
class DependencyExtractor
class Asset <, :importer, :children)
def initialize(*args)
self.children ||= []
# transitive dependencies. Call `children` for just the immediate dependencies.
def dependencies
chriseppstein /
Last active Jun 17, 2019
compiling a minified version of css. This configures your compass project to emit files in minified form when compiling for production.
$ compass compile --environment production && compass compile

Afterwards you will have both the minified and non-minified versions in your output folder. Note that compass clean will not clean up your minified files.

chriseppstein / input.scss
Created Jul 30, 2013
Explanation of @extend with nested selectors.
View input.scss
%bordered {
.section & {
border: 1px solid #ccc;
.sidebar .quotation {
@extend %bordered;
chriseppstein / captures.scss
Last active May 7, 2018
I had this idea for how to expose general stylesheet structure data to SassScript, transform it, and then turn it back into styles.
View captures.scss
// A named buffer. Will append to existing content captured there.
// The buffer can be accessed via get-capture("foo") or @emit "foo".
@capture "foo" {
@media screen {
.asdf {
.qwerty {
/* This is a comment */
color: red;
piscisaureus /
Created Aug 13, 2012
Checkout github pull requests locally

Locate the section for your github remote in the .git/config file. It looks like this:

[remote "origin"]
	fetch = +refs/heads/*:refs/remotes/origin/*
	url =

Now add the line fetch = +refs/pull/*/head:refs/remotes/origin/pr/* to this section. Obviously, change the github url to match your project's URL. It ends up looking like this:

chriseppstein / semantic_summary.rb
Created Jul 27, 2012
This ruby script will summarize the html5 semantic structure of a webpage so that you can more easily ensure the page is correct.
View semantic_summary.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'nokogiri'
require 'open-uri'
url = ARGV[0]
class Document < Nokogiri::XML::SAX::Document
SEMANTIC_CONTAINERS = %w(body article section nav aside hgroup header footer)
chriseppstein / 0_usage.scss
Created Feb 29, 2012
This is code that runs using Sass 3.2 prerelease and something like this will be in compass soon.
View 0_usage.scss
@include keyframes(appear-and-roundify) {
0% { opacity: 0; @include border-radius(2px); }
100% { opacity: 1; @include border-radius(10px); }
chriseppstein / 0_silent_selector_grid.scss
Created Jan 4, 2012
This gist describes a new feature we're experimenting with for Sass 3.2: placeholder selectors. They do not get generated into your output, but they can be used like a class and extended like one.
View 0_silent_selector_grid.scss
$gutter: 10px;
$grid-unit: 60px;
%clearfix {
*zoom: 1;
&:after {
content: "\0020";
display: block;
height: 0;
clear: both;
chriseppstein / 0_selector_hacks.scss
Created Sep 14, 2011
This gist demonstrates some uses of the new sass feature: Passing content blocks to mixins.
View 0_selector_hacks.scss
@mixin ie6 { * html & { @content } }
#logo {
background-image: url("/images/logo.png");
@include ie6 { background-image: url("/images/logo.gif"); }
chriseppstein /
Created Aug 31, 2011 — forked from mislav/Gemfile
How to integrate Compass with Rails 3.1 asset pipeline

This gist is no longer valid. Please see Compass-Rails for instructions on how to install.

You can’t perform that action at this time.