- Jekyll ignore `/docs` and `/test` folders when using from root - Update Staticman config to point to correct branch and data file location - Replace `{{ base_path }}` references with `absolute_url` filter - Update documentation
2.4 KiB
title | permalink | excerpt | modified |
---|---|---|---|
JavaScript | /docs/javascript/ | Instructions for customizing and building the theme's scripts. | 2016-11-03T11:35:42-04:00 |
The theme's [assets/js/main.min.js
] script is built from several vendor, jQuery plugins, and other scripts found in assets/js/
.
minimal mistakes
├── assets
| ├── js
| | ├── plugins
| | | ├── jquery.fitvids.js # fluid width video embeds
| | | ├── jquery.greedy-navigation.js # priority plus navigation
| | | ├── jquery.magnific-popup.js # responsive lightbox
| | | ├── jquery.smooth-scroll.min.js # make same-page links scroll smoothly
| | | └── stickyfill.min.js # `position: sticky` polyfill
| | ├── vendor
| | | └── jquery
| | | └── jquery-1.12.1.min.js
| | ├── _main.js # jQuery plugin settings and other scripts
| | └── main.min.js # concatenated and minified scripts
Customizing
To modify or add your own scripts include them in assets/js/_main.js
and then rebuild using npm run build:js
. See below for more details.
If you add additional scripts to assets/js/plugins/
and would like them concatenated with the others, be sure to update the uglify
script in package.json
. Same goes for scripts that you remove.
Build Process
In an effort to reduce dependencies a set of npm scripts are used to build main.min.js
instead of task runners like Gulp or Grunt. If those tools are more your style then by all means use them instead 😉.
To get started:
- Install Node.js.
cd
to the root of your project.- Install all of the dependencies by running
npm install
.
Note: If you upgraded from a previous version of the theme be sure you copied over [package.json
](https://github.com/{{ site.repository }}/blob/master/package.json) prior to running npm install
.
{: .notice--warning}
If all goes well, running npm run build:js
will compress/concatenate _main.js
and all plugin scripts into main.min.js
.