Hyper useful, ready to use HTML5 snippets

HTML5 Starter Template

When starting a new project, you need a starter template. Here is a concise and clean template to serve as a basis for your HTML5 projects.

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Untitled</title>
		<!--[if lt IE 9]>
		<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->
	</head>
	<body>
		
	</body>
</html>

Source: http://snipplr.com/view/68539/plain-html5-starter-template/

Get Directions Form (Google Maps)

Here is a simple yet powerful code to create a form where the user can enter his location to get directions to a specific place. Very useful for contact pages.

<form action="http://maps.google.com/maps" method="get" target="_blank">
   <label for="saddr">Enter your location</label>
   <input type="text" name="saddr" />
   <input type="hidden" name="daddr" value="350 5th Ave New York, NY 10018 (Empire State Building)" />
   <input type="submit" value="Get directions" />
</form>

Source: http://css-tricks.com/snippets/html/get-directions-form-google-maps/

Base64 Encode of a 1*1px “spacer” gif

I don’t recommend using transparent “spacer” gifs, but I know that even in 2013, many people are still using them from time to time. If you’re one of them, you’ll probably enjoy this Base64 encode of a 1*1px “spacer” gif. Way better than using an image.

<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7">

Source: http://css-tricks.com/snippets/html/base64-encode-of-1x1px-transparent-gif/

Regexp pattern for email validation

HTML5 allows, among other things, to validate emails using a regular expression pattern. Here is a ready to use input field with the regexp pattern to validate an email address.

<input type="text" title="email" required pattern="[^@]+@[^@]+\.[a-zA-Z]{2,6}" />

Source: http://blog.staffannoteberg.com/2012/03/01/html5-form-validation-with-regex/

Valid flash embed

Are you often embedding Flash files into your html pages? If yes, you’ll better save the valid flash embed code below for future use.

<object type="application/x-shockwave-flash" 
  data="your-flash-file.swf" 
  width="0" height="0">
  <param name="movie" value="your-flash-file.swf" />
  <param name="quality" value="high"/>
</object>

Source: http://yoast.com/articles/valid-flash-embedding/

HTML5 video with Flash fallback

Another great feature of the new HTML5 specification is definitely the video tag which allows you to easily embed video files. But unfortunately, some browsers can’t deal with embedded HTML5 video. So here is a complete code with a flash fallback for older browsers.

<video width="640" height="360" controls>
	<source src="__VIDEO__.MP4"  type="video/mp4" />
	<source src="__VIDEO__.OGV"  type="video/ogg" />
	<object width="640" height="360" type="application/x-shockwave-flash" data="__FLASH__.SWF">
		<param name="movie" value="__FLASH__.SWF" />
		<param name="flashvars" value="controlbar=over&amp;image=__POSTER__.JPG&amp;file=__VIDEO__.MP4" />
		<img src="__VIDEO__.JPG" width="640" height="360" alt="__TITLE__"
		     title="No video playback capabilities, please download the video below" />
	</object>
</video>

Source: http://camendesign.com/code/video_for_everybody

iPhone call & sms links

With the release of the iPhone, Apple introduced a quick way to create call and sms links. Here is a sample code to keep in your snippet library.

<a href="tel:1-408-555-5555">1-408-555-5555</a>
<a href="sms:1-408-555-1212">New SMS Message</a>

Source: https://developer.apple.com/library/ios/featuredarticles…

Autocompletion with HTML5 datalists

Using the datalist element, HTML5 allows you to create a list of data to autocomplete a input field. Super useful! Here is a sample code to re-use in your own projects.

<input name="frameworks" list="frameworks" />

<datalist id="frameworks">
	<option value="MooTools">
	<option value="Moobile">
	<option value="Dojo Toolkit">
	<option value="jQuery">
	<option value="YUI">
</datalist>

Source: http://davidwalsh.name/datalist

Country drop down list for web forms

Here’s another time saver: A ready-to-use dropdown list with all countries.
Due to the size of the code, please see source directly.
Source: http://snipplr.com/view/4792/country-drop-down-list-for-web-forms/

Downloadable files

HTML5 allows you to force download of files using the download attribute. Here is a standard link to a downloadable file.

<!-- will download as "expenses.pdf" -->
<a href="/files/adlafjlxjewfasd89asd8f.pdf" download="expenses.pdf">Download Your Expense Report</a>

Source: http://snipplr.com/view/4792/country-drop-down-list-for-web-forms/

Crash IE6

In 2013, most people have finally upgraded from the horrible Internet Explorer 6 which gave nightmares to every front-end developper for years. But some persons are still using it. If you want to get rid of this prehistoric browser for good, here is a very funny code to include in your html pages.

This code will crash IE6. Bam!

<style>*{position:relative}</style><table><input></table>

Source: http://www.catswhocode.com/blog/html5-code-snippets-to-take-your-website-to-the-next-level

Remove “Plugins” and “Other News” widgets from WordPress dashboard

Simply paste the code below in your functions.php file. Once you saved the changes, the “plugins” and “other news” widgets will not be shown again.

//Remove unwanted widgets from Dashboard
function remove_dashboard_widgets() {
	global$wp_meta_boxes; 
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');

Thanks to WP Guru for the code!

WordPress hack: Efficient SEO without a plugin

Let’s start by pasting the code below into your functions.php file:

function basic_wp_seo() {
	global $page, $paged, $post;
	$default_keywords = 'wordpress, plugins, themes, design, dev, development, security, htaccess, apache, php, sql, html, css, jquery, javascript, tutorials'; // customize
	$output = '';

	// description
	$seo_desc = get_post_meta($post->ID, 'mm_seo_desc', true);
	$description = get_bloginfo('description', 'display');
	$pagedata = get_post($post->ID);
	if (is_singular()) {
		if (!empty($seo_desc)) {
			$content = $seo_desc;
		} else if (!empty($pagedata)) {
			$content = apply_filters('the_excerpt_rss', $pagedata->post_content);
			$content = substr(trim(strip_tags($content)), 0, 155);
			$content = preg_replace('#\n#', ' ', $content);
			$content = preg_replace('#\s{2,}#', ' ', $content);
			$content = trim($content);
		} 
	} else {
		$content = $description;	
	}
	$output .= '<meta name="description" content="' . esc_attr($content) . '">' . "\n";

	// keywords
	$keys = get_post_meta($post->ID, 'mm_seo_keywords', true);
	$cats = get_the_category();
	$tags = get_the_tags();
	if (empty($keys)) {
		if (!empty($cats)) foreach($cats as $cat) $keys .= $cat->name . ', ';
		if (!empty($tags)) foreach($tags as $tag) $keys .= $tag->name . ', ';
		$keys .= $default_keywords;
	}
	$output .= "\t\t" . '<meta name="keywords" content="' . esc_attr($keys) . '">' . "\n";

	// robots
	if (is_category() || is_tag()) {
		$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
		if ($paged > 1) {
			$output .=  "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n";
		} else {
			$output .=  "\t\t" . '<meta name="robots" content="index,follow">' . "\n";
		}
	} else if (is_home() || is_singular()) {
		$output .=  "\t\t" . '<meta name="robots" content="index,follow">' . "\n";
	} else {
		$output .= "\t\t" . '<meta name="robots" content="noindex,follow">' . "\n";
	}

	// title
	$title_custom = get_post_meta($post->ID, 'mm_seo_title', true);
	$url = ltrim(esc_url($_SERVER['REQUEST_URI']), '/');
	$name = get_bloginfo('name', 'display');
	$title = trim(wp_title('', false));
	$cat = single_cat_title('', false);
	$tag = single_tag_title('', false);
	$search = get_search_query();

	if (!empty($title_custom)) $title = $title_custom;
	if ($paged >= 2 || $page >= 2) $page_number = ' | ' . sprintf('Page %s', max($paged, $page));
	else $page_number = '';

	if (is_home() || is_front_page()) $seo_title = $name . ' | ' . $description;
	elseif (is_singular())            $seo_title = $title . ' | ' . $name;
	elseif (is_tag())                 $seo_title = 'Tag Archive: ' . $tag . ' | ' . $name;
	elseif (is_category())            $seo_title = 'Category Archive: ' . $cat . ' | ' . $name;
	elseif (is_archive())             $seo_title = 'Archive: ' . $title . ' | ' . $name;
	elseif (is_search())              $seo_title = 'Search: ' . $search . ' | ' . $name;
	elseif (is_404())                 $seo_title = '404 - Not Found: ' . $url . ' | ' . $name;
	else                              $seo_title = $name . ' | ' . $description;

	$output .= "\t\t" . '<title>' . esc_attr($seo_title . $page_number) . '</title>' . "\n";

	return $output;
}

Once done, replace the $default_keywords (line 3) with your own and add the following code into your header.php file:

<?php echo basic_wp_seo(); ?>

Then, don’t forget to check the source of your pages and fine tune the code if needed.

Big thanks to Jeff Starr for this amazing code!

How to load jQuery from Google CDN

Paste the code below into your functions.php file:

function jquery_cdn() {
   if (!is_admin()) {
      wp_deregister_script('jquery');
      wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', false, '1.8.3');
      wp_enqueue_script('jquery');
   }
}
add_action('init', 'jquery_cdn');

Once you saved the file, WordPress will load jQuery from Google CDN.

Thanks to WP Tips.ru for the recipe!

WordPress tip: Email alert for 404s

To implement, simply include this script at the top of your theme’s 404.php file. If your theme don’t have a 404.php file, then create it.

<?php // WP 404 ALERTS @ http://wp-mix.com/wordpress-404-email-alerts/

// set status
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");

// site info
$blog  = get_bloginfo('name');
$site  = get_bloginfo('url') . '/';
$email = get_bloginfo('admin_email');

// theme info
if (!empty($_COOKIE["nkthemeswitch" . COOKIEHASH])) {
	$theme = clean($_COOKIE["nkthemeswitch" . COOKIEHASH]);
} else {
	$theme_data = wp_get_theme();
	$theme = clean($theme_data->Name);
}

// referrer
if (isset($_SERVER['HTTP_REFERER'])) {
	$referer = clean($_SERVER['HTTP_REFERER']);
} else {
	$referer = "undefined";
}
// request URI
if (isset($_SERVER['REQUEST_URI']) && isset($_SERVER["HTTP_HOST"])) {
	$request = clean('http://' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]);
} else {
	$request = "undefined";
}
// query string
if (isset($_SERVER['QUERY_STRING'])) {
	$string = clean($_SERVER['QUERY_STRING']);
} else {
	$string = "undefined";
}
// IP address
if (isset($_SERVER['REMOTE_ADDR'])) {
	$address = clean($_SERVER['REMOTE_ADDR']);
} else {
	$address = "undefined";
}
// user agent
if (isset($_SERVER['HTTP_USER_AGENT'])) {
	$agent = clean($_SERVER['HTTP_USER_AGENT']);
} else {
	$agent = "undefined";
}
// identity
if (isset($_SERVER['REMOTE_IDENT'])) {
	$remote = clean($_SERVER['REMOTE_IDENT']);
} else {
	$remote = "undefined";
}
// log time
$time = clean(date("F jS Y, h:ia", time()));

// sanitize
function clean($string) {
	$string = rtrim($string); 
	$string = ltrim($string); 
	$string = htmlentities($string, ENT_QUOTES); 
	$string = str_replace("\n", "<br>", $string);

	if (get_magic_quotes_gpc()) {
		$string = stripslashes($string);
	} 
	return $string;
}

$message = 
	"TIME: "            . $time    . "\n" . 
	"*404: "            . $request . "\n" . 
	"SITE: "            . $site    . "\n" . 
	"THEME: "           . $theme   . "\n" . 
	"REFERRER: "        . $referer . "\n" . 
	"QUERY STRING: "    . $string  . "\n" . 
	"REMOTE ADDRESS: "  . $address . "\n" . 
	"REMOTE IDENTITY: " . $remote  . "\n" . 
	"USER AGENT: "      . $agent   . "\n\n\n";

mail($email, "404 Alert: " . $blog . " [" . $theme . "]", $message, "From: $email"); 

?>

Thanks to WP Mix for this useful snippet!

Giveaway: 3 premium themes from ThemeFuse

A word about ThemeFuse

ThemeFuse is one of the most popular actors in the premium WordPress themes market. They provide lots of themes with a great design and solid code.
They have lots of different designs for lots of different needs, so you should definitely have a look to their website!

How to join the giveaway?

Joining the giveaway is free and easy. First, have a look to ThemFuse themes and find the theme you’d like to win. Then, simply leave a comment below to let me know which theme you want.

In one week (thursday 22) I’ll randomly pick 3 winners. They’ll receive the chosen theme directly from ThemeFuse staff.

Good luck everyone!

130+ essential vim commands

Basics

:e filename Open filename for edition
:w Save file
:q Exit Vim
:q! Quit without saving
:x Write file (if changes has been made) and exit
:sav filename Saves file as filename
. Repeats the last change made in normal mode
5. Repeats 5 times the last change made in normal mode

Moving in the file

k or Up Arrow move the cursor up one line
j or Down Arrow move the cursor down one line
e move the cursor to the end of the word
b move the cursor to the begining of the word
0 move the cursor to the begining of the line
G move the cursor to the end of the file
gg move the cursor to the begining of the file
L move the cursor to the bottom of the screen
:59 move cursor to line 59. Replace 59 by the desired line number.
20| move cursor to column 20.
% Move cursor to matching parenthesis
[[ Jump to function start
[{ Jump to block start

Cut, copy & paste

y Copy the selected text to clipboard
p Paste clipboard contents
dd Cut current line
yy Copy current line
y$ Copy to end of line
D Cut to end of line

Search

/word Search word from top to bottom
?word Search word from bottom to top
* Search the word under cursor
/\cstring Search STRING or string, case insensitive
/jo[ha]n Search john or joan
/\< the Search the, theatre or then
/the\> Search the or breathe
/\< the\> Search the
/\< ¦.\> Search all words of 4 letters
/\/ Search fred but not alfred or frederick
/fred\|joe Search fred or joe
/\<\d\d\d\d\> Search exactly 4 digits
/^\n\{3} Find 3 empty lines
:bufdo /searchstr/ Search in all open files
bufdo %s/something/somethingelse/g Search something in all the open buffers and replace it with somethingelse

Replace

:%s/old/new/g Replace all occurences of old by new in file
:%s/onward/forward/gi Replace onward by forward, case unsensitive
:%s/old/new/gc Replace all occurences with confirmation
:2,35s/old/new/g Replace all occurences between lines 2 and 35
:5,$s/old/new/g Replace all occurences from line 5 to EOF
:%s/^/hello/g Replace the begining of each line by hello
:%s/$/Harry/g Replace the end of each line by Harry
:%s/onward/forward/gi Replace onward by forward, case unsensitive
:%s/ *$//g Delete all white spaces
:g/string/d Delete all lines containing string
:v/string/d Delete all lines containing which didn’t contain string
:s/Bill/Steve/ Replace the first occurence of Bill by Steve in current line
:s/Bill/Steve/g Replace Bill by Steve in current line
:%s/Bill/Steve/g Replace Bill by Steve in all the file
:%s/^M//g Delete DOS carriage returns (^M)
:%s/\r/\r/g Transform DOS carriage returns in returns
:%s#<[^>]\+>##g Delete HTML tags but keeps text
:%s/^\(.*\)\n\1$/\1/ Delete lines which appears twice
Ctrl+a Increment number under the cursor
Ctrl+x Decrement number under cursor
ggVGg? Change text to Rot13

Case

Vu Lowercase line
VU Uppercase line
g~~ Invert case
vEU Switch word to uppercase
vE~ Modify word case
ggguG Set all text to lowercase
gggUG Set all text to uppercase
:set ignorecase Ignore case in searches
:set smartcase Ignore case in searches excepted if an uppercase letter is used
:%s/\<./\u&/g Sets first letter of each word to uppercase
:%s/\<./\l&/g Sets first letter of each word to lowercase
:%s/.*/\u& Sets first letter of each line to uppercase
:%s/.*/\l& Sets first letter of each line to lowercase

Read/Write files

:1,10 w outfile Saves lines 1 to 10 in outfile
:1,10 w >> outfile Appends lines 1 to 10 to outfile
:r infile Insert the content of infile
:23r infile Insert the content of infile under line 23

File explorer

:e . Open integrated file explorer
:Sex Split window and open integrated file explorer
:Sex! Same as :Sex but split window vertically
:browse e Graphical file explorer
:ls List buffers
:cd .. Move to parent directory
:args List files
:args *.php Open file list
:grep expression *.php Returns a list of .php files contening expression
gf Open file name under cursor

Interact with Unix

:!pwd Execute the pwd unix command, then returns to Vi
!!pwd Execute the pwd unix command and insert output in file
:sh Temporary returns to Unix
$exit Retourns to Vi

Alignment

:%!fmt Align all lines
!}fmt Align all lines at the current position
5!!fmt Align the next 5 lines

Tabs/Windows

:tabnew Creates a new tab
gt Show next tab
:tabfirst Show first tab
:tablast Show last tab
:tabm n(position) Rearrange tabs
:tabdo %s/foo/bar/g Execute a command in all tabs
:tab ball Puts all open files in tabs
:new abc.txt Edit abc.txt in new window

Window spliting

:e filename Edit filename in current window
:split filename Split the window and open filename
ctrl-w up arrow Puts cursor in top window
ctrl-w ctrl-w Puts cursor in next window
ctrl-w_ Maximize current window vertically
ctrl-w| Maximize current window horizontally
ctrl-w= Gives the same size to all windows
10 ctrl-w+ Add 10 lines to current window
:vsplit file Split window vertically
:sview file Same as :split in readonly mode
:hide Close current window
:­nly Close all windows, excepted current
:b 2 Open #2 in this window

Auto-completion

Ctrl+n Ctrl+p (in insert mode) Complete word
Ctrl+x Ctrl+l Complete line
:set dictionary=dict Define dict as a dictionnary
Ctrl+x Ctrl+k Complete with dictionnary

Marks

m {a-z} Marks current position as {a-z}
' {a-z} Move to position {a-z}
'' Move to previous position

Abbreviations

:ab mail [email protected] Define mail as abbreviation of [email protected]

Text indent

:set autoindent Turn on auto-indent
:set smartindent Turn on intelligent auto-indent
:set shiftwidth=4 Defines 4 spaces as indent size
ctrl-t, ctrl-d Indent/un-indent in insert mode
>> Indent
<< Un-indent
=% Indent the code between parenthesis
1GVG= Indent the whole file

Syntax highlighting

:syntax on Turn on syntax highlighting
:syntax off Turn off syntax highlighting
:set syntax=perl Force syntax highlighting

Awesome CSS libraries, boilerplates and frameworks

Bootstrap


If you want to give your new project a professional look and feel, Bootstrap might be the tool you need. If features a very clean typography, form elements as well as almost all you need to design a modern website.
More info: http://twitter.github.io/bootstrap/index.html

Foundation


Brought to you by Zurb, Foundation is a very interesting tool which is perfect for creating responsive webpages. Foundation comes with a lot of different layout templates so you’ll definitely save many time when starting your new project.
More info: http://foundation.zurb.com/

Compass


Compass is an open-source CSS authoring framework. It uses Sass, an extension of CSS3 which adds nested rules, variables, mixins, selector inheritance, and more. Definitely worth giving a try!
More info: http://compass-style.org/

Profound Grid


Here is a responsive grid system for fixed and fluid layouts, all built in SCSS. If you’re planning to develop a layout based on a grid, you should definitely have a look at Profound Grid.
More info: http://www.profoundgrid.com/

Kube


Kube is a simple and minimalistic CSS framework based on a flexible grid and beautiful typography. Probably the right tool for you if you’re looking for a lightweight framework with no imposed styling!
More info: http://imperavi.com/kube/

Topcoat


I know that I already wrote about Topcoat a lot on CWC lately, but really, Topcoat is awesome! A great CSS framework if you want to be able to create a professional looking website quickly and easily.
More info: http://topcoat.io/

Skeleton


Skeleton is a small collection of CSS files that can help you rapidly develop sites that look beautiful at any size, be it a 17″ laptop screen or an iPhone.
More info: http://www.getskeleton.com/

Pure CSS


Pure is a set of small modules that you can use as a basis for almost every web project. It features grids, forms elements, menus, tables and a lot more.
More info: http://purecss.io/

KNACSS


KNACSS is a minimalist, responsive and extensible CSS framework to kick-start your HTML/CSS projects.
It handles basic elements, box sizing, margins, floats, simple and complex aligns, positioning, layout grids, gutters, old IE fallbacks and last but not least responsiveness, everything automagically!
More info: http://www.knacss.com/

Metro UI


Do you like the Windows 8 style? If yes I bet you’ll enjoy Metro UI, a CSS framework which allow you to create websites with a Windows 8 look and feel.
More info: http://metroui.org.ua/

WordPress tip: Conditional tag for blog-related pages

Copy the function below and paste it into your functions.php file:

function is_blog() {
	if (is_home() || is_singular('post') || is_post_type_archive('post'))
		return true;
	else return false;
}

Once done, you can use the function to detect if you’re currently on a blog related page:

<?php
if(is_blog()) {
    //the page is blog related
}
?>

Thanks to Nathan for the tip!

WordPress function to check if the current post is a custom post type

Simply paste this code into your functions.php file:

function is_custom_post_type() {
	global $wp_query;
		
	$post_types = get_post_types(array('public'   => true,'_builtin' => false),'names','and');
	
	foreach ($post_types  as $post_type ) {
		if (get_post_type($post_type->ID) == get_post_type($wp_query->post->ID)) {
			return true;
		} else {
			return false;
		}
	}
}

Once done, you can use the function as shown below. Please note that the function can be used outside the loop:

if (is_custom_post_type()) {
    //Current post is a custom post type
}

Thanks to Jonas Ethomsen for the function!

WordPress SEO: Automatically remove short words from the URL

Paste the code below into your functions.php file. Once you saved the file, WordPress will automatically remove short (less than 3 characters) words from the generated permalink.

add_filter('sanitize_title', 'remove_short_words');
function remove_short_words($slug) {
    if (!is_admin()) return $slug;
    $slug = explode('-', $slug);
    foreach ($slug as $k => $word) {
        if (strlen($word) < 3) {
            unset($slug[$k]);
        }
    }
    return implode('-', $slug);
}

Thanks to Kevin Chard for this awesome piece of code!

Super useful tools for CSS coding

Pure CSS


Brought to you by Yahoo, Pure is a set of CSS modules that you can use as a basis in every web project. It makes CSS development easier and the whole framework looks really clean and professional. If you haven’t already, give it a try!

More info: http://purecss.io/

CSS only responsive navigation


Responsive layouts are very popular on the web right now, and this is definitely a good thing in my opinion. Here is a downloadable and reusable responsive navigation menu, made in CSS only.

More info: http://valdelama.com/css-responsive-navigation

CSS Trashman


It’s very hard to keep your CSS files clean and compact when coding for a big project. Don’t worry though, CSS Trashman is here to help. This useful online tool examines your site, compacts styles and finally let you download a super clean version of your site CSS file so you can safely delete them.

More info: http://www.csstrashman.com/

Glue


Instead of loading dozens of images, it is way better to load one big image and use the technique called CSS sprites. Glue is a simple command line tool to transform a set of images into a single file so you can easily use CSS sprites on your website. Super useful.

More info: https://github.com/jorgebastida/glue

Helium CSS


On large stylesheets, it is not so rare that several styles are not used on your website. Unfortunely, it’s not easy to find them. Helium is a JavaScript-based tool that runs in your browser and detect unused styles from your CSS file.

More info: https://github.com/geuis/helium-css

Topcoat


Topcoat is a very neat and clean library of CSS classes specialized in form elements: buttons, checkboxes, sliders, etc. A super easy way to make your website or app look good in minutes.

More info: http://topcoat.io/

.Fitgrd


.Fitgrd is a solid foundation to build up your own responsive website. Everything but the grid is up to you and gives you the ability to save a lot of dispensable code.

More info: http://www.fitgrd.com/

Normalize.css


Normalize.css is a HTML5-ready alternative to CSS resets. It makes browsers render all elements more consistently and in line with modern standards. It is used by many popular sites such as Twitter Bootstrap, Soundcloud, TweetDeck, and more.

More info: http://necolas.github.io/normalize.css/

Bear CSS


Bear CSS is a beautiful website, but also a super useful tool. Simply create a HTML document and upload it. Bear CSS will automatically generate a downloadable CSS file based on the HTML elements used. A great time-saver!

More info: http://bearcss.com/