This plugin copies assets from node_modules
to your _site
folder. By default, files are copied to folders named after the file's extension.
Example: node_modules/jquery/dist/jquery.js
would be copied to _site/js/jquery.js
. Likewise, node_modules/font-awesome/css/font-awesome.css
would be copied to _site/css/font-awesome.css
.
This goes in your Gemfile:
gem 'jekyll-node-module'
Next, run this:
$ bundle
Then, add the plugin to your _config.yml
:
plugins:
- jekyll-node-module
Optional configuration:
node_modules:
modules_dir: node_modules
assets:
js: assets/scripts
css: assets/styles
copy:
- source: "@fortawesome/fontawesome-free/webfonts/"
target: assets/webfonts
<link rel="stylesheet" href="{{ '@fortawesome/fontawesome-free/css/all.min.css' | node_module_url }}" />
<script src="{{ 'jquery/dist/jquery.js' | node_module_url }}"></script>
If you're using a custom baseurl
(either by setting the baseurl
option in
the _config.yml
file, or by passing the --baseurl
argument to the
build
and/or serve
command), you need to use the relative_url
filter as
well:
<link rel="stylesheet" href="{{ '@fortawesome/fontawesome-free/css/all.min.css' | node_module_url | relative_url }}" />
<script src="{{ 'jquery/dist/jquery.js' | node_module_url | relative_url }}"></script>
Need help? Please create a GitHub Issue and provide as much useful information as possible.
This gem is free software, and may be redistributed under the terms specified in the LICENSE file.
This gem was developed by Mintbit, a Rails consultancy in Knoxville, Tennessee.
If you'd like to work with us, don't hesitate to reach out.