The "Direction of Roots" thread

Hey all!

I was just responding to @cfx’s Pull Request and it got me thinking about the direction of Roots.
I’ve been using Roots almost exclusively to build WordPress themes since before it even included Bootstrap, so it’s been awhile. I’ve seen it grow from something “helpful” to something that turns people into better programmers (myself included).

I know v7.0 was just released but doesn’t that mean it’s time to talk about version 8? :wink:

I know this has been talked about before, but I wanted to (again) bring up the idea of making Roots Front-end Framework Agnostic, basically killing Bootstrap markup in the HTML, and instead providing options (maybe via forks or something else?) for developers to use Bootstrap however they choose. With Bootstrap, Foundation, nothing, whatever. At some point I remember @ben mentioning this, but I don’t know if it ever became anything.

One way to do this would be to replace classes in our markup with LESS rules like this article suggests: http://ruby.bvision.com/blog/please-stop-embedding-bootstrap-classes-in-your-html

I’m also not even sure I want Roots to do that. I’d probably use Bootstrap on 99% of the projects that I do, I’m just getting the discussion started.

1 Like

Yes there has been talk about making Roots CSS-framework agnostic. I believe using Bower is a good step towards that (as now there are no Bootstrap files in the repo, which is great). So at this point it’s easier than before. Edit the bower.json file to use another framework, rename a few classes in your base.php and template files, and you should be good to go. Actually, you’d need to modify your Gruntfile.js as well to remove the Bootstrap Javascript files as well.

I’m with you JulienMelissas though, as much as I see the value in moving Roots to be CSS agnostic (I’m sure some people see “starter theme using Bootstrap” and don’t use Bootstrap, so they go elsewhere), I personally have tried a few of the other main frameworks and Bootstrap is my favorite.

I do think it wouldn’t take too much effort to swap out the Bootstrap classes and use more standard class names. So it could probably be done without too much issue. I guess that means that I’m for it :smile:

2 Likes

I could not agree more, it would be ideal if, instead of just running “npm install”, there could be different configuration options within the package/bower files (not sure if possible), to give the user a choice from the command line (Similar to a yeoman generator)

The bower.json file could then contain the different dependencies for the front-end framework, bootstrap, foundation, google starter kit, etc.

I’m not sure if it would be possible for the “postinstall” script that npm runs to give the user a choice, but that would be my ideal setup workflow.

I don’t know enough about the script/terminal tools that could help make this happen. I imagine there might just be different official supported forks at this point, maintained by people who use that front end framework, which would be supported by the main “roots framework”. I, for example would probably just spend my time with the Bootstrap fork.

This said, it all sounds really good, but also sounds a little bloated. Maybe roots shouldn’t try and get bigger than it needs to. It’s a WP starter theme that rocks and happens to use WordPress, should it just stay that way?

For over a year we’ve talked about wanting a generator that would allow you to choose from various frameworks (or allow you to just start from scratch), but haven’t yet started any work on making it possible

1 Like

https://www.npmjs.org/package/grunt-json-generator ?