Descartes | Write CSS in JavaScript
CSS HTML JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
css Make font awesome local Jun 15, 2016
docs Added docs, first pass at extending plato Jun 10, 2016
img Modified tests and slides for accuracy Aug 10, 2016
node_modules/babel-preset-es2015 Add babel dependencies, moved _mixins consant and css rules ref, firs… Feb 2, 2016
slides Modified tests and slides for accuracy Aug 10, 2016
src Upgrade to 0.0.4 and minify Aug 10, 2016
tests Updated karma config and first test Jul 19, 2016
.gitignore Adding testing framework with jasmine, karma, npm, and travis Jul 19, 2016
LICENSE Update licenses and copyrights Feb 18, 2016
bower.json add bower support Mar 15, 2016
index.html Upgrade status from 0.0.2 to 0.0.3 Jul 21, 2016
karma.conf.js Updated karma config and first test Jul 19, 2016


by Jon Chan @jonhmchan

This is an experimental library for writing CSS in JavaScript. The current version is a beta and highly unstable, with changes happening on a daily basis. This library is not recommended for production use. It is actively being developed with your help.


  1. Download descartes.js from the dist folder

  2. Set up Descartes in a webpage by inserting it in your <head> tag, like so:

    <!doctype html>
    		<script type="text/javascript" src="/path/to/descartes.js"></script>
    		<h1>I compute, therefore I am.</h1>
    		<script type="text/javascript" src="/path/to/styles.js"></script>
  3. Create a styles.js where you will write your styles. Try the following:

    	"body": {
    		"color": "#555",
    		"font-family": "Arial",
    		"h1": {
    			"font-family": "Helvetica",
    			"font-size": function() {
    				return 16 + Math.round(Math.random() * 42);
  4. Save and open up your HTML file in a browser. Clicking anywhere on the window should randomize the size of your heading.


For a full overview of features, take a look at the presentation I typically give at (just your right and left arrow keys to go through the slides).