Based on the earlier discussion on this list, I've pushed some new support for embedded CSS style code, to the public Mercurial repo:
    http://hg.impredicative.com/urweb

There is some new documentation in the manual and in the types of new basis.urs functions, but here's the quick summary:

You should now be able to write 'class' and 'style' attribute values just as in standard HTML; that is, as string literals with normal HTML syntax. Class names will need to resolve to Ur/Web identifiers, and I haven't put in support for all CSS syntax yet. Rather, I chose what seems like a reasonable, safe subset (e.g., no support for quoted strings or character escaping), and I will consider adding more upon request.

The old 'dynClass' HTML pseudo-attribute remains, for specifying a [signal] value that lets the class of a tag vary reactively. There is now also 'dynStyle', whose meaning you can probably guess!

To get the compiler to desugar standard CSS syntax for you, you can also pass string literals to the pseudo-functions [CLASS] and [STYLE]. (It is intentional that these aren't _real_ functions that you could call at runtime; that could allow scary injection attacks.)

In preparation for building a library to interface with Twitter's Bootstrap CSS library, I also added the option to use .urp directives like:
    rewrite style Bootstrap/* [-]
to render all CSS class names with hyphens instead of underscores.


This was the last feature I wanted to add before the next Ur/Web release, which I hope to make in the next few days. So, bug reports will be appreciated!

_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur

Reply via email to