Добавление Bootstrap в Jekyll
Я новичок в Jekyll и хотел бы использовать некоторые функции Twitter Bootstrap. Кто-нибудь делал это, и если да, то есть ли у вас какие-либо советы? Я бы пошел с Jekyll-Bootstrap, но его больше не поддерживают. Я создал свой сайт Jekyll и надеюсь, что есть способ использовать Bootstrap.
4 ответа
Поскольку Jekyll изначально поддерживает sass, вы можете использовать bootstrap-sass.
Я лично устанавливаю это с bower install bootstrap-sass
команда.
Это устанавливает Bootstrap и Jquery в bower_components
папка.
конфигурация
В ваш _config.yml добавьте:
sass:
# loading path from site root
# default to _sass
sass_dir: bower_components/bootstrap-sass/assets/stylesheets
# style : nested (default), compact, compressed, expanded
# :nested, :compact, :compressed, :expanded also works
# see http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style
# on a typical twitter bootstrap stats are :
# nested 138,7kB, compact 129,1kB, expanded 135,9 kB, compressed 122,4 kB
style: compressed
Javascript
Если вы хотите использовать javascript, в свой _include /footer.html добавьте:
<script src="{{ site.baseurl }}/bower_components/jquery/dist/jquery.min.js"></script>
<script src="{{ site.baseurl }}/bower_components/bootstrap-sass/assets/javascripts/bootstrap.min.js"></script>
использование
В css/main.scss
удалить предыдущий контент и добавить
---
# Only the main Sass file needs front matter (the dashes are enough)
---
@charset "utf-8";
/* path to glyphicons */
$icon-font-path: "/bower_components/bootstrap-sass/assets/fonts/bootstrap/";
/* custom variable */
$body-bg: red;
/* any style customization must be before the bootstrap import */
@import "bootstrap";
Вы можете увидеть все переменные, доступные в bower_components/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss
Вы можете удалить свою старую папку _sass.
Теперь ваш файл CSS создается при каждой сборке.
Обновление для Bootstrap 4.3.1 и Jekyll 4.0
вы можете использовать bunder для установки BS на свой сайт
bundle install bootstrap
добавьте его в файл драгоценного камня:
gem 'bootstrap', '~> 4.3.1'
получить путь BS
bundle info bootstrap
Добавьте этот путь в _config.yml
sass:
load_paths:
- _sass
- C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/bootstrap-4.3.1/assets/stylesheets
вместо этого можно добавить относительный путь.
Наконец, добавьте бутстрап в style.scss
@import "bootstrap";
Обновление для Bootstrap 4 Beta
Поскольку Bootstrap 4 Beta теперь работает на Sass, вы можете использовать "официальный" пакет bower.
Вот что я сделал:
1. Установите Bootstrap, используя Bower
bower install bootstrap#v4.0.0-beta --save
установить Bootstrap и его зависимости к bower_components
папка.
2. Конфигурация
В _config.yml
Я поменял папку Sass и исключил bower_components
из обработки:
sass:
sass_dir: assets/css
# Exclude from processing.
exclude:
- bower_components
3. Sass
Я изменился assets/css/main.scss
следующим образом:
---
# Only the main Sass file needs front matter (the dashes are enough)
---
@charset "utf-8";
@import "variables"; // (2)
@import "../../bower_components/bootstrap/scss/bootstrap"; // (1)
// Import other styling below
// ...
(1) Обратите внимание, что второй оператор импорта должен относиться к каталогу Sass, указанному в _config.yml
, Так как я выбираю его как папку, которая также содержит main.scss
ссылка на ресурс в вашей любимой IDE (например, WebStorm) не будет нарушена.
(2) Чтобы перезаписать переменные Bootstrap Sass, я создал assets/css/_variables.scss
который должен быть импортирован до библиотеки Bootstrap.
4. Javascript
Так как я не нашел способ использовать JS, отправленный в bower_components
Я решил включить версии CDN, предложенные Bootstrap:
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
Другой подход, отличный от ответа GorvGoyl, - это установка драгоценных камней в папку вашего проекта. Таким образом зависимости связаны с проектом.
Предварительные условия
Создайте новый пустой проект:
foo@bar:~$ jekyll new myproject --blank
Перейдите в папку проекта и инициализируйте Bundler:
foo@bar:~/myproject$ bundle init
Настройте путь установки Bundler внутри подкаталога проекта:
foo@bar:~/myproject$ bundle config set --local path 'vendor/bundle'
Теперь драгоценные камни, установленные с помощью Bundler, будут находиться подvendor/bundler
подкаталог проекта.
Добавьте Jekyll в Gemfile:
foo@bar:~/myproject$ bundle add jekyll
Добавьте Bootstrap в проект
Добавьте Bootstrap в Gemfile:
foo@bar:~/myproject$ bundle add bootstrap
Получить путь начальной загрузки:
foo@bar:~/myproject$ bundle info bootstrap
Добавьте относительный путь Bootstrap в_config.yml
:
sass:
load_paths:
- ./vendor/bundle/ruby/3.1.0/gems/bootstrap-5.3.1/assets/stylesheets
Последний шаг: импортируйте Bootstrap в ваш основной.scss
файл подasset/css
путь:
---
---
@import "bootstrap";