Ruby on Rails + Zurb Foundation - как убрать неиспользуемые части Foundation из ассетов

Zurb Foundation Yeti

Удалить ненужные модули CSS при использовании гема Foundation Rails просто — достаточно в файле app/assets/stylesheets/foundation_and_overrides.scss закомментировать то, что не используется:

@include foundation-global-styles;
@include foundation-grid;
@include foundation-typography;
@include foundation-button;
@include foundation-forms;
// @include foundation-visibility-classes;
// @include foundation-float-classes;
// @include foundation-accordion;
// @include foundation-accordion-menu;
// @include foundation-badge;
// @include foundation-breadcrumbs;

С удалением JS-кода всё немножко сложнее — в app/assets/javascripts/application.js есть только одна строка для подключения Foundation:

//= require foundation

Эту строку надо заменить на список JS-модулей Foundation, взяв его из файла гема foundation-rails/vendor/assets/js/foundation.js.es6, и закомментировав/убрав ненужные модули. Пример:


//= require jquery
//= require jquery_ujs
//= require jquery-ui/autocomplete
// require foundation
//= require foundation.core.js
//= require foundation.abide.js
// require foundation.accordion.js
// require foundation.accordionMenu.js
// require foundation.drilldown.js
// require foundation.dropdown.js
// require foundation.dropdownMenu.js
// require foundation.equalizer.js
// require foundation.interchange.js
// require foundation.magellan.js
// require foundation.offcanvas.js
// require foundation.orbit.js
// require foundation.responsiveMenu.js
// require foundation.responsiveToggle.js
// require foundation.reveal.js
// require foundation.slider.js
// require foundation.sticky.js
// require foundation.tabs.js
// require foundation.toggler.js
// require foundation.tooltip.js
// require foundation.util.box.js
//= require foundation.util.keyboard.js
//= require foundation.util.mediaQuery.js
// require foundation.util.motion.js
// require foundation.util.nest.js
// require foundation.util.timerAndImageLoader.js
//= require foundation.util.touch.js
//= require foundation.util.triggers.js
// require turbolinks
//= require_tree .

$(function(){ $(document).foundation(); });