Skip to content

Commit

Permalink
added dynamic classes
Browse files Browse the repository at this point in the history
  • Loading branch information
zodoz committed May 25, 2010
1 parent ea60131 commit d3b1647
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 3 deletions.
6 changes: 3 additions & 3 deletions jQuery-ZenCoding.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@
* \})?
* )
*/
/((([#\.]?\w+)?(\[(\w+(="([^"]|\\")+")? ?)+\])?)+(\{([^\\}]|\\\})+\})?)/i,
/((([#\.]?[\w!]+)?(\[(\w+(="([^"]|\\")+")? ?)+\])?)+(\{([^\\}]|\\\})+\})?)/i,
regTag = /(\w+)/i, //finds only the first word, must check for now word
regId = /#(\w+)/i, //finds id name
regId = /#([\w!]+)/i, //finds id name
regTagNotContent = /((([#\.]?\w+)?(\[(\w+(="([^"]|\\")+")? ?)+\])?)+)/i,
regClasses = /(\.\w+)/gi, //finds all classes
regClass = /\.(\w+)/i, //finds the class name of each class
Expand Down Expand Up @@ -137,8 +137,8 @@
if(blocks.length < 1) //no more blocks to match
return;
var block = blocks[0]; //actual block to create
var blockClasses = parseClasses(block);
block = parseContents(block,data,indexes);
var blockClasses = parseClasses(block);
if(regId.test(block))
var blockId = regId.exec(block)[1];
var blockAttrs = parseAttributes(block,data);
Expand Down
32 changes: 32 additions & 0 deletions test.js
Original file line number Diff line number Diff line change
Expand Up @@ -166,4 +166,36 @@ $().ready(function() {
'</ul>'+
'</div>';
test(zen,data,answer);

var data = {
contacts: [
{
name: 'Bob',
email: 'bob@s.com',
bio: 'Some stuff Bob does.',
children: [
{
name: 'Cody',
sex: 'male'
}, {
name: 'Julie',
sex: 'female'
}
]
}
]
};
var Zen =
'ul>!for:contacts!li{!name!}>'+
'!if:children.length>0!ul>!for:children!li.!sex!{!name!}';
var answer =
'<ul>'+
'<li>Bob'+
'<ul>'+
'<li class="male">Cody</li>'+
'<li class="female">Julie</li>'+
'</ul>'+
'</li>'+
'</ul>';
test(Zen,data,answer);
});

0 comments on commit d3b1647

Please sign in to comment.