Open getaaron opened 8 years ago
sounds like an useful feature, I think the internal structure should exist ... you could either add a raw: true
option or as_hash: true
... but a simpler workaround could be to do
Hash[s.split(';').map {|k| k.split(': ', 2) }]
That doesn't work exactly right on shorthand properties like border
:
["color: hotpink; font-size: 13px;border: 5px solid red"]
Also there are some spacing issues (we get the key " font-size"
with a leading space), and also the split
wouldn't work on variants like color : hotpink
or color:hotpink
I think it produces normalized css, so spaces should not be an issue, shorthand won't work though
https://github.com/premailer/css_parser/pull/72
this pull request adds a to_h instance method that will allow traversal of CSS as nested Hash objects.
don't know if that's going to get you where you need to go @getaaron , but it solves an issue for me & saw this so I thought I'd drop by & let you know about it.
This code:
Returns an array of one string:
Is there a more easily navigable / parseable data structure we could return? For example, maybe something like: