Ask HN: Are there any design-led frameworks out there or should I create my own?
Hi everyone. Wondering if you could help me, or at least have a discussion on templating systems that are design-focused. We are creating a 'sitebuilder' app for a niche and we've created our first app, which has one template. We have decided to allow people to create designs for the system, but this will mean having a templating language. We've looked at others - from Wordpress through to Shopify - and most seem to use one that they have home grown. I am wondering what peoples experiences are?
1) Would you create your own template system as Shopify has done? (http://wiki.shopify.com/Theme_from_scratch). I see the downside of this that every designer will need to use your specific 'language' to create themes/designs
2) Are there any templating languages out there that you would use or recommend. I've looked at language-specific ones, but most of them are focused on coders and not designers. At the moment we have most of the app coded in PHP, but we are moving slowly towards Python, so it would be great to have a templating system that we can use for both
I'd be really interested in what people have to say about this and if they use any solution or what their opinions are
Thanks in advance
John
11 comments
[ 3.8 ms ] story [ 553 ms ] threadIf you are thinking of the latter, or both, maybe you should consider having a couple of layers of customisability. It would be nice to allow simple customisations (colors, logos, even basic layout) without getting into templates. Perhaps with a GUI, but possibly even just something standard like CSS. Even as a technically minded person, I would balk if I had to learn some custom syntax to achieve things like this.
Then underneath you could have a full templating system. If users want full control, they should understand it will come with a learning curve. Even for this, consider starting from a known base (e.g. Django templates), and just building convenient constructs that fit your site (e.g. custom tags for common tasks).
In terms of customiztion with colours, logo etc - we have this already based on CSS. People can pick different colors through a color picker etc and that works well, but I want to two-tier it (as you have suggested) and allow power-users the flexibility to create their own
Thanks for the reply though. Really appreciate it
I know there are a few other apps that use Liquid, including one of your competitors. See here for a list: http://github.com/tobi/liquid/wiki
From an end-user perspective, I'd highly recommend Liquid. I don't see how you can escape having a template language of some sort, and Liquid seems more thought-out than most.
Liquid was created by Tobi (CEO) for Shopify, and then extracted as an open source project. It was inspired by Django's template language. Since you're on Python, perhaps you could use the original?
Don't be fooled! They just happen to be written in Ruby, you can use them from within Python projects just fine, though it'll take some setup.
http://www.twig-project.org/
It can be nice for both designers and developers. The real advantage is the sandbox extension that can make it safe for use in a publicly themeable site,