FAQ

What does barba mean?
/╦łbarba/ is the Italian word for beard. Thanks to @danielemeli for the suggestion.
Is it possible to ignore barba.js on some links?

You can just add the class .no-barba, or add your own checking logic by replacing the function Barba.Pjax.preventCheck.

Note that the existing Barba.Pjax.preventCheck method does a lot of internal sanity checking so most often you will want to call it along side your custom prevention checks. For example to stop Barba from taking over links to PDFs:

Barba.Pjax.originalPreventCheck = Barba.Pjax.preventCheck;

Barba.Pjax.preventCheck = function(evt, element) {
  if (!Barba.Pjax.originalPreventCheck(evt, element)) {
    return false;
  }

  // No need to check for element.href -
  // originalPreventCheck does this for us! (and more!)
  if (/.pdf/.test(element.href.toLowerCase())) {
    return false;
  }

  return true;
};
How can I update Google Analytics (or any other tracking sytem)?
It's enough to listen to the event initStateChange and update Google analytics accordingly.
Which browsers support barba.js?
In order to create transitions, Barba.js needs pushstate, so it works in almost all the recent browsers. Have a look on caniuse.com for more detailed information. Also, Barba.js fully degrades in the cases when pushstate is not supported, so you can still use Barba Views.