Skip to content

Instantly share code, notes, and snippets.


Sindre Sorhus sindresorhus

View GitHub Profile
View Gruntfile.js
module.exports = function (grunt) {
sass: [{[
filez "hogs.js"
sindresorhus /
Last active Aug 29, 2015
Yeoman - Migrate from 0.9.6 to 1.0


Old URL:

Yeoman - Migrate from 0.9.6 to 1.0

A lot has changed since our last release 0.9.6. We decided to make Yeoman more than just a tool. It's a workflow; a collection of tools and best practices working in harmony to make developing for the web even better.

The first thing you'll notice is that there is no more yeoman command. We extracted the scaffolding into a new tool called yo. For package management we no longer proxy Bower, but let you use it directly. Same goes for grunt.


Keybase proof

I hereby claim:

  • I am sindresorhus on github.
  • I am sindresorhus ( on keybase.
  • I have a public key whose fingerprint is DC35 049E A1F5 A23A 232C C7A9 A1D5 B51E 19F6 8B56

To claim this, I am signing this object:

sindresorhus /
Created Aug 28, 2011
Boxee - Picture player
import mc
item_list = mc.ListItems()
item = mc.ListItem(mc.ListItem.MEDIA_PICTURE)
item.SetImage(0, '')
sindresorhus / change_form.html
Created Oct 14, 2011
Django - If you have 2 date-pickers in the admin form, one for start date and one for end date, this will make sure the second picker is the same month as the first. Which improves the usability of the picker.
View change_form.html
{% extends "admin/change_form.html" %}
{% block extrahead %}
{{ block.super }}
<script >
// override openCalendar to set the date of calendar A to calendar B
var _openCalendar = DateTimeShortcuts.openCalendar;
DateTimeShortcuts.openCalendar = function(num) { this, num );
var cals = DateTimeShortcuts.calendars;
cals[1].drawDate( cals[0].currentMonth, cals[0].currentYear );
sindresorhus /
Created Oct 18, 2012
grunt-contrib-compass task - feedback wanted

Compass task options - feedback wanted

Need some feedback on how to handle the Compass options.

The problem is that Compass doesn't expose all it's options through the CLI. CLI parameters aren't even documented. This has been a problem for us in Yeoman, since we need an option only available through their config.rb config file.

The idea is to drop the CLI parameters and dynamically create a temp file that we feed into compass from the options specified in the gruntfile.

Currently compass options looks like this:

View grunt-contrib task

grunt-contrib task proposal

We intend extract the tasks included in Yeoman to make the project more modular and be a good internet citizen. We've already done so with the Compass task.

I've added some tasks that might be fitted for grunt-contrib.


Optimizing images is something most projects need. I think it's important grunt-contrib has a simple and opinionated task for this.

sindresorhus / ios-clear-btn.css
Created Jan 22, 2013
Recreation of the native iOS textfield clear button in a data uri. *Should be identical, but is not the original*
View ios-clear-btn.css
.clear-btn {
width: 19px;
height: 19px;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAMAAACf4xmcAAAAMFBMVEWysrKysrKysrKysrKysrKysrKysrKysrKysrKysrL////39/fh4eG9vb23t7eysrKQDTJbAAAACnRSTlMBKlNxqbO70e7739UFWQAAAMFJREFUeNqNlMsOxSAIREs1AbVe/v9v78JMSn0kMytJTzqIwPWRpKxWimlOcp2U1IM07SHzSbaCor6RTta3+VZ2f6jiB5WboSIncNzKkB+yP0gHlRD/cJjCURdYPrX1F+qtPrCNP+u1Dg5UrYhSzKyBA9VCdhJtwOEICTzjx0jBNfvCLZRnpBa5SCE584WLFEpSfMOBggqJkabkFciCkOUlH4t7erKRuLYkm5wbGXIAuXHmlgO3asjFxa9BfqmSK/oPfl489V95hyMAAAAASUVORK5CYII=');
background-size: 100%;
cursor: pointer;
sindresorhus / doesnotwork.js
Created Mar 1, 2013
The `works.js` outputs `Serving HTTP on port 8010 ...` while the `doesnotwork.js` doesn't output anything. Am I missing something? Node v0.8.21
View doesnotwork.js
var spawn = require('child_process').spawn;
var cp = spawn('python', ['-m', 'SimpleHTTPServer', '8010']);
cp.stdout.on('data', function (data) {
console.log('stdout', data);