mattmccray

 

Mission From God Shirt Design, Available Today Only!

» No comments, published December 21, 2009 under Cartoons

You can get my design "Mission From God" for $10 today only from RIPT.

"Galactic Junkyard" Tee

» No comments, published October 14, 2009 under Cartoons, Comics

My shirt design, “Galactic Junkyard,” goes on sale this Friday at RIPT! It’s only available on this Friday, October 16th, and it’s only $10 bucks! (So it’d make a great present!)

Also, I wrote an article where I outlined my working process for designing that very shirt, you can read it here.

Coming Soon: TaskTHIS² (A Titanium Application)

» No comments, published August 11, 2009 under Software, TaskTHIS

taskthis-icon.png

In the next week or so, I’ll be releasing the first beta of TaskTHIS2.

Unlike the original, this version is a cross-platform desktop application. It’s being distributed on the Titanium platform.

Over the next few weeks I’ll discuss the technology behind it (all WebKit based: HTML/JS/CSS). And some of the libraries I built to make development easier (including my build script and a JavaScript class library called Klass.js). So be on the lookout for that!

taskthis2-alpha.png

Plausible Deniability

» No comments, published May 12, 2009 under Comics, Sports
Plausible Deniability

I’m a fan of the NBA… Most of the time. But I swear, the officiating has been horrible this year. Not just for my team, but all over. It’s enough to make you wonder.

Check out my speculation of what goes on in the NBA league offices.

Liquid.js, A Non-Evaling Template Engine in JavaScript

» 1 comment, published December 11, 2008 under Software

Of late, I’ve needed a robust JavaScript template engine that doesn’t use eval (and preferably not with). Also, I’ve always liked Liquid.

So, two plus two equals… JavaScript! Hah, you thought it was four, didn’t you? Well, that’s what you get for thinking.

Yeah, long story short, I ported Liquid to JavaScript. You can grab it from github (where else?) here: http://github.com/darthapo/liquid.js

I’m calling this version 0.1. It’s not battle tested yet, but I know it’ll work using Firefox 3+, Safari 3+, and Adobe Air 1.1.

So what are the differences between running the Ruby version and the JavaScript version? Well, as far as the templates themselves, nothing. It’s a full port, so all of Liquid’s default tags and filters are supported in Liquid.js. I even added a placeholder function that you can implement yourself (based on your own needs) to support the ‘include’ tag.

Liquid.readTemplateFile = function(path) {
  var elem = $(path);
  if(elem) {
    return elem.innerHTML;
  } else {
    return path +" can't be found."; 
    // Or throw and error, or whatever you want...
  }
}

var src = "{% include 'myOtherTemplate' with current_user %}";

var tmpl = Liquid.parse( src );

alert( tmpl.render({ current_user:'M@' }));

An easy way to include template in a page is to use script elements, like this:

<!-- Browsers ignore script blocks with an unrecognized type.  -->
<!-- Makes for pretty good inline template storage.  -->
<script type="text/liquid" id="myOtherTemplate">
  Hello, {{ current_user }}!
</script>

Currently, Liquid.js requires MooTools. Some of the things I’d like to polish up:

  • Remove MooTools requirement, run entirely independent of any other js library
  • Add Rhino for console-based testing
  • Test, test, test on Internet Exploder Explorer