DRY and Pythonic jQuery?
2009
Apparently, groovy:spring:java as jabs:jquery:javascript. As if jQuery wasn't short enough already.This 2009 post captures the era's fascination with domain-specific languages and syntactic sugar—an impulse that would later manifest in CoffeeScript, TypeScript, and modern JavaScript transpilation tools.
Jabs lets you write this jQuery code:
jQuery(function() {
var $ = jQuery;
$("[default_value]").blur(function() {
var self = $(this);
if(self.val() === "") {
self.val(self.attr("default_value"));
}
}).focus(function() {
var self = $(this);
if(self.val() === self.attr("default_value")) {
self.val("");
}
}).blur();
});
By typing this:
$ [default_value]:
blur:
if @value === ""
@value = @default_value
focus:
if @value === @default_value
@value = ""
.blur
HAML tactics FTW.HAML's influence on web development was significant—its indentation-based syntax and DRY principles influenced template engines across many languages, from Slim in Ruby to Pug in JavaScript.