|
|
|
|
|
by dualogy
5469 days ago
|
|
I too have no problem writing a single <div></div>. But trust me it gets old. In a new from-scratch project (which is completely stand-alone and won't need to "integrate" with anything or be touched by other coders who "can do html but not coffeescript") after having done the first 10-15 templates I was looking at my CoffeeScripts... then back at my <html/><templates/> ... then rewrote them all to the tune of: renderTemplate: ->
"div":
"span .some-class":
_: ["Hello, "]
"strong #dyn_id":
_: ["#{@getName()}!"]
"subTemplate":
foo: bar
subTemplate: (args) ->
blockquote:
_: args.foo
getName: ->
"user name from DB or whatever"
(Then hand-rolled my own very simple JSON-to-HTML "renderer" in 20 minutes plus generating a CS class file to be compiled to JS for each template -- all really simple stuff.)Looks scary coming from years of HTML coding right? But HTML looked scary at first too. Now:
stylesheets are Stylus, templates and logic are CoffeeScript both server-side and client-side. I haven't been such a happy coder for a decade. Config files are a simplified Stylus/Coffee-like format that gets transformed to JSON. I'm actually using the CoffeeScript compiler here so in effect each config file gets transformed into a node.js "module". That means they could be turned into config "scripts" if necessary. What I loved about Lisp in theory: code is data, data is code. Only the parens sucked for me. Now we're approaching this ideal again, slowly and emergently but surely. :) |
|