I’m currently building a web app (atop Ruby on Rails), which will let users style their own areas (personal blog pages), and was wondering what are the best ways of accomplishing this?
I think Liquid for templating would be good, but how would you handle styling? My aim was to have a DB field associated with each blog dubbed “style” which will store a custom stylesheet, is this the best approach?
I’ve tried it so far with the “sanitize_css” helper method, but it just strips the “#stylebox” tags out, meaning nothing is displayed.
Any ideas?
Thanks.
I would honestly allow themable elements on your page, and then store each of those style rules as a field (or conglomerate them into one giant field) in the database. Enforce some validation to ensure that they don’t use any funny business (if they’re only coding for specific
div‘s, they shouldn’t need to use any curly braces.)Then generate the CSS on the fly.
The reason? If you ever want to serve up ad’s on your site, and you allow them to just upload the entirety of their CSS, they can easily turn off visibility on the ad div.
I think it’s “safer” to control what they’re allowed to theme; sure more advanced users will get ticked. But do you really want to be the next MySpace? 😉