I think inlining bootstrap css classes into Ur Code might be a bad idea. A better approach would probably be to use semantic css class names and then use something like Less on the back-end to assign bootstrap classes to those names.

What do you think?

On 2014-02-25 00:14, Patrick Hurst wrote:
Sergey Mironov <[email protected]> writes:

What guarantees do we usually want when we use data-* ? Do we want to
be protected from repeating the same [data-foo] attribute twice?

This would be ideal; I don't remember what happens if you try to get the
value of a repeated attribute, but even if it's defined I wouldn't like
to rely on it. The record method also has the advantage of avoiding
pairs like ("foo bar", "baz") where the attribute name can't really be
encoded. On the other hand, it's harder and Adam says it'd slow down
type checking and has the possibility of making the types uglier.


Are you working on writing a Bootstrap3 library? Do you have a public
repo to try?

Regards,
Sergey

I do; it's available at http://web.mit.edu/~phurst/hg/bootstrap/ . It
doesn't have any support for the JavaScript stuff, just the CSS, and
right now you have to do something like

rewrite style Bootstrap/* [-]

or

rewrite style Bootstrap3/* [-]

(although I'm planning on splitting it into two libraries per Adam's
suggestion).

Patrick


2014-02-21 2:56 GMT+04:00 Patrick Hurst <[email protected]>:
Any attribute whose name starts with 'data-' is valid on any HTML5
element with any value (see
<http://www.w3.org/html/wg/drafts/html/CR/dom.html> section 3.5.9). Some frameworks, such as Twitter Bootstrap 3, rely on the presence of these, but right now there's no easy built-in way to include them using Ur/Web
XML literals.

One approach would be to add a 'data' pseudotag, similar to the 'link'
tag on <a> elements, whose value is a record all of whose values are
strings; [<div data={{Foo = "bar"}}/>] would then be rendered as [<div
data-foo="bar"></div>]. The downside of this is that it'd involve
significant changes to the standard library type system, since the [tag]
type constructor would then need a new field for the names of all the
data- attributes.

Another approach is to have the value of the 'data' tag be a list of
tuples of strings; [<div data={("foo", "bar") :: nil}/>] would then be
rendered as [<div data-foo="bar"></div>]. I think this would be less
safe, but also significantly easier to implement.

I e-mailed Adam about this and he suggested I take it to the list. What
do you all think?

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

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

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

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

Reply via email to