Whats with Bootstrap?

So i’ve been trying a few different bootstrap packages, mainly:

  • the default “meteor add bootstrap”
  • nemo64’s bootstrap package
  • twbs:bootstrap package

Now the questions:

  1. What exactly is included in the “default” (meteor add boostrap) package? I noticed the Bootstrap buttons were working, but it seems the grid feature is disabled. Strangely, nemo64’s and the twbs:bootstrap package both have a working grid feature as everything snaps into place when they are installed.

  2. Other than some features apparently working on only some of the packages, are they’re any other differences?

1 Like

I know this doesn’t answer your question directly but you may find it more suitable to not include any Bootstrap packages and instead include Bootstrap like any other normal CSS file. That is, use it directly and customize it to your liking.

1 Like

I’ve had good luck with mizzao:bootstrap-3 , so far.

1 Like

It’s my impression that Meteor is developing so rapidly that there’s both a lot of legacy code knocking around and a lack of documentation explaining what’s current and not.

I think what happened with bootstrap is Meteor started as an opinionated platform that promoted bootstrap as a standard along with the Blaze templating engine. But as things developed it was realized that these choices shouldn’t be standards but instead “privatized” into the component (package) system and opened up to 3rd party alternatives. The formerly “official” packages are retained as legacy support, though there’s apparently been no time to mark them all as such as the transition is ongoing.

My general conclusion is that it’s a “whatever works” situation…if you have luck with making a given solution work you can stick with it. It’s all open source so you can fix your own problems if necessary. To the extent something like bootstrap is a standard, you can always swap out one implementation for another with a couple CLI calls and see what works.

And for fully understanding the state of Meteor itself, or its packages? Reading and/or stepping through source code may be necessary sadly to make up for the documentation deficit. Plus looking at dev branches to see what’s coming down the 'pike. You may not need such a full understanding and I think it’s their goal to keep you from needing it. But I like fully understanding what I’m working with and they’ve kindly given us all the source code access to do so.

3 Likes

The thing is though that the whole “whatever works” and “hack it in” kind of mindset somewhat takes away from some of meteors core attributes (mainly just simple rapid prototyping). Hopefully some of these things are looked into as development is progressed.

1 Like

The githup repo for that package recommends using twbs:bootstrap now.

With the disclaimer that I help maintain nemo64:bootstrap, allow me to comment:

The default bootstrap package has since been deprecated, but it contains an old version of Bootstrap, somewhere around 2.3. This is probably why you’re having problems with the grid, because the class names changed between versions 2 and 3. You shouldn’t be using this for new projects, but I guess you could still use it if you have a legacy project.

Now, because the bootstrap package wasn’t regularly updated, there were quite a few community packages wrapping Bootstrap, such as mrt:bootstrap-3, mizzao:bootstrap-3 and simison:bootstrap3-less. These are now unmaintained or deprecated, and again, if you have a legacy project that uses them, fine, but I wouldn’t for any new project.

Next, you have the official Bootstrap smart package twbs:bootstrap. This has the advantage of being always up to date and officially sanctioned. If you want stock Bootstrap, this is your best bet. However, there are a couple of disadvantages, namely, when you use this package what you get is the compiled CSS and Javascript added to your project, without the less files and without the ability to load only a subset of the Bootstrap features.

My preference is nemo64:bootstrap which lets you configure which Bootstrap components and features you want added to your project. It also gives you access to the LESS variables and mixins, so you can more easily customize how you want it to look. I personally think this method is preferable than putting the Bootstrap files directly in the client.

8 Likes

Yep, I currently have the nemo64 package running, but the grid structure doesn’t seem to be the same as im use to for some reason. Ex.- With only the grid turned on in the json file, using 3 col-md-4 in a row, you’d expect the three columns to all be spanned horizontally equally. Instead, it pushes the 3rd column down onto a new line. I’m assuming there is some LESS variable that needs to be changed? What am I doing wrong here? reference: http://prntscr.com/6skd9j

Absolutely. A totally smooth out-of-box should be the goal for a rapid prototyping system. But they are still working on absolute fundamental things such as namespaces and i18n and testing and deployment. So I imagine they will circle back to ironing out all the kinks in the onramp as those efforts are completed. Meanwhile, we figure it out amongst ourselves even if it often appears more “a pile o’ tools” rather than a well-oiled machine. Meteor’s good enough and complete enough in general to be a good option overall already.

Meteors #1, why else would we all be here? :sunglasses:

1 Like

Hmm… not sure exactly why that would be, but I’m definitely using columns in my sites, so there’s probably not anything too wrong going on. You want to open an issue on github and I’ll take a look tonight? I’d need to see some code though.

Done: https://github.com/Nemo64/meteor-bootstrap/issues/45

I’m thinking its simply some variable giving the columns to much space but im not sure where to find it…

the base bootstrap seems pretty old. I’ve been using twbs:bootstrap with no complaints

1 Like

I disagree with this. Using a package is so much better from so many point of views, like maintainability or debugging.

I think you may have misunderstood. If he can manage with a package, great. If not, don’t use a package. That’s all I’m saying.

Are you sure you are inside a .container? Perhaps wrapping your columns in a row would help. Just a thought.

What? Bootstrap columns must be in a row or it wouldnt work at all. Seems the issue was with some of the less variables used in the scaffolding feature. Ended up just not using Bootstrap but I’m glad we got some clarification on the different packages.

I had a similar issue. Are you sure there are no margin attributes adding in from somewhere?

In Bootstrap somewhere? Maybe. In my code, no. How did you fix your issue?

Here is the announce about the official release of twbs:bootstrap.
Which is instantly auto updated at every new release thanks to autopublish.meteor.com :slight_smile: