Iheartweb/AthenaUIFramework — pull request #41 by Jakobo (2011-12-22 19:52:50+00:00)
Title: Quick Config with Examples

This is a proposal for the Quick Config syntax, including a Carousel example that contains buttons created using the alternate format. Here's some notes since the last discussion on the topic.

The #! directive
---
One of the biggest changes was to maintain compatibility with the existing Athena structure. For this, it made sense to use a common programming convention #! which in non-tech speak translates to "run this". Before accessing the keys, if the #! directive is found, the config will be extracted and stored in `$node.data('athena-simpleconfig')` and can be picked up later during initialization. Keys found through this method are placed into `$node.data('athena-simplekeys')`.

Notify / Observe
---
Quick Config has support for simple directives to indicate publish/subscribe actions:

```
This would be the same as Carousel using the "observe" config for "#selector"
Carousel <= #selector

This would be the same as a button "notifying" the "selector" via its config
Button => #selector
```

As an alternative, Quick Config can take simple key/value pairs, which might be a good compromise. Using key/value pairs, the above might look like...

```
Carousel(observe=#selector)
and
Button(notify=#selector)
```