barba README

The project's README from github.com/barbajs/barba. As one markdown file: README.md.

barba.js – Stability CircleCI Coverage Status Commitizen friendly Conventional Commits lerna License All Contributors Slack workspace

Create badass, fluid and smooth transitions between your website’s pages.

barbajs

Intro

Barba.js — aka Barba — is a small (7kb minified and compressed) and easy-to-use library that helps you create fluid and smooth transitions between your website's pages. It makes your website run like a SPA (Single Page Application) and help reduce the delay between your pages, minimize browser HTTP requests and enhance your user's web experience.

Features

Barba is user friendly, smart, extensible and futureproof. The library provides a bunch of useful features that will make your website shine like any other website, ever!

Documentation

Here you will find the documentation describing how to use the library.

  1. Website - official Barba website
  2. User guide - how to install and use the plugin
  3. Lessons, courses and videos - for in-depth learning
  4. Showcase - selected works made with Barba
  5. Developer API - by developers, for developers

[!NOTE] This guide assumes intermediate knowledge of HTML, CSS, and JavaScript. It is worth mentioning that all code examples use ES6+ syntax. If you are not comfortable with this syntax, we would encourage you to grasp the basics then come back.

In case of emergency, check the "legacy" code example.

Sponsor

If you like this library and want to give some recognition, it is now possible to become a Github sponsor and support this project by sponsoring BarbaJS maintainer on Github. Even if it's a small contribution, you participate in the effort of making open source projects maintained for anyone, and developers to be rewarded for their work/time.

Contribute

If you want to report a bug or request a new feature/improvement, please read the project contributors guidelines before.

Thanks for taking time to contribute to Barba :tada: :+1:

Contributors

Luigi De Rosa
Luigi De Rosa

🤔 💻 📖 💬 🐛 ⚠️ 👀 🚇
Thierry Michel
Thierry Michel

🤔 💻 📖 💬 🐛 ⚠️ 👀 🚇
Xavier Foucrier
Xavier Foucrier

🤔 💻 📖 💬 ⚠️ 👀 🐛 🚇
Marco Grimaldi
Marco Grimaldi

🎨
Petr TIchy
Petr TIchy

📝 ✅ 📹
Cody Marcoux
Cody Marcoux

💬
Phil.
Phil.

💬
Giorgio Finulli
Giorgio Finulli

💬
Wouter
Wouter

🐛 💬
Mike Wagz
Mike Wagz

🤔 💬 ⚠️
Red Stapler
Red Stapler

✅ 📹
Jérémy Levron
Jérémy Levron

💬
Nguyen Van Anh
Nguyen Van Anh

💻
Daniel Weber
Daniel Weber

💻
Jean-Marie Porchet
Jean-Marie Porchet

💻
James
James

💻
Nicholas
Nicholas

💻
Patrick Arminio
Patrick Arminio

💻
A (from Sicily)
A (from Sicily)

💻
Pavel Mazhuga
Pavel Mazhuga

💬
Daniele De Matteo
Daniele De Matteo

💬
aswinkumar863
aswinkumar863

💬
BounceIncHQ
BounceIncHQ

💬
gordonwes
gordonwes

💬
Evan Fleet
Evan Fleet

💬 🐛
Jörg
Jörg

💡
ZAAK
ZAAK

💡 💬
Masahiro Tonomura
Masahiro Tonomura

💡
CassiusHR
CassiusHR

💬
Shane Murphy
Shane Murphy

💬
Dylan Reeves
Dylan Reeves

💬 💡
Quentin Neyraud
Quentin Neyraud

💬
tortilaman
tortilaman

💬
psntr
psntr

💬
Kevin Clark
Kevin Clark

💬
Tadeas Kosek
Tadeas Kosek

💬
Gustavo de Andrade
Gustavo de Andrade

💬
Clinton
Clinton

💬

barba (barbajs/barba)

Searching Database…

13K ·GitHub
Что это такое?Barba.js — небольшая JavaScript-библиотека, которая создаёт плавные переходы между страницами обычного сайта в духе SPA, уменьшая задержку загрузки и количество HTTP-запросов.
Это фреймворк или просто небольшая вспомогательная библиотека?Это лёгкая библиотека (7 КБ в минифицированном виде), а не полноценный фреймворк — вы подключаете её к существующему сайту, чтобы перехватывать переходы по ссылкам и анимировать смену страниц.
Как добавить её на сайт?Установите через привычные для вас инструменты для JS и следуйте официальному руководству пользователя (User guide), в котором описаны установка и использование плагина.
Нужны ли мне знания больше базового HTML/CSS/JS?Достаточно среднего уровня знаний HTML, CSS и JavaScript, включая синтаксис ES6+, который используется во всех примерах.
Будет ли это работать в старых браузерах?Barba ориентирован на современные браузеры и использует прогрессивное улучшение; если нужна поддержка, несовместимая с ES6, есть отдельный пример устаревшего кода, на который можно опереться.
Работает ли это на любом сайте или только в определённых конфигурациях?Это независимый от фреймворков клиентский JS, который подключается к страницам любого сайта и даёт гибкость в разметке, пространствах имён (namespaces) и схеме data-атрибутов.
Можно ли расширять Barba с помощью плагинов?Да, в комплекте есть система плагинов и встроенные утилиты, которые позволяют добавлять функции, например предзагрузку страниц (prefetch) для ускорения работы.
Как Barba решает, какой переход проиграть?В ней есть система разрешения переходов с правилами, которые позволяют Barba автоматически выбрать подходящий переход для конкретной смены страницы.
Что такое «Sync mode»?Sync mode определяет, должны ли хуки ухода (leave) и появления (enter) перехода выполняться одновременно, а не последовательно.
Написана ли Barba на TypeScript?Да, у неё упрощённый API, написанный на TypeScript, и она работает с Promise для управления жизненным циклом перехода.
Creator
barbajs
Size
30.5 MB
Stars
13K
Age
10y
Commits · 90 Days