Important: Note that this is work in progress, including the documentation as to how to create a build and distribute the created files. For the time being, if you need help with a new build, please ping @yellowled.
You'll need a recent version of node.js. Clone the repository, do npm i
in the project directory and npm run build
to create a build.
This will create new builds of the CSS and JS assets for various s9y sites (currently for web site, blog theme and spartacus, but not for the forum theme).
The build is created in the (new) directory dist/
in the repository's directory. The files relate to other s9y repositories as follows (see note below):
dist/blog/style.css
→style.css
in https://github.com/s9y/theme_blogdist/blog/fonts/
→fonts
in https://github.com/s9y/theme_blog [*]dist/blog/scripts/
→scripts
in https://github.com/s9y/theme_blogdist/site/css/
→css/
in https://github.com/s9y/s9y.github.iodist/site/fonts/
→fonts/
in https://github.com/s9y/s9y.github.io [*]dist/site/scripts/
→scripts/
in https://github.com/s9y/s9y.github.iodist/spartacus/css/
→homepage/css/
in https://github.com/s9y/additional_pluginsdist/spartacus/fonts/
→homepage/fonts/
in https://github.com/s9y/additional_plugins [*]dist/spartacus/scripts/
→homepage/scripts/
in https://github.com/s9y/additional_plugins
- Please also copy the respective
.map
files. - [*] The
fonts/
directories should almost never change.
Please note that you can (and should) lint your changes by using npm test
in the project directory. This will test project assets which do not belong to 3rd-party assets using eslint for JS and stylelint for SCSS.
jQuery is managed through package.json
, but there is currently no task to automagically copy an updated version of it from node_modules/jquery/dist
to the directories for the sites that need it. So in case of an update to jQuery, for the time being the files
node_modules/jquery/dist/jquery.min.js
node_modules/jquery/dist/jquery.min.map
both need to be copied to
site/scripts/jquery/dist/
andspartacus/scripts/jquery/dist/
For convenience, you can use npm run setup:all
to copy those files.