I know your struggle and have a solution fr you. GitHub Pages does not support custom builds with NPM etc. But you can use GitHub Actions with a config of like 100 lines or Netlify with a config of a few lines.
Some Ruby or Jekyll projects use
rake to manage npm install and other tasks but I struggle to get into it.
My approach is to use a
Makefile and call it with
make command. That comes from the C compilation background but you’ll also see it in Python and C++ projects. It comes with mac and linux and I think you can install on windows
Here is my simple Jekyll related makefile.
To use it:
And now the site is built.
Run those commands on GitHub Actions or your remote server and it will work the same. On Netlify you don’t even need to run make install as Netlify finds a Gemfile and package.json and installs for you.
I use a Makefile for all my Jekyll projects as it let’s me manage by commands easily and I can run multiple tasks underneath like NPM and Bundle steps to install or build.
For example to you can define commands as
bundle config set --local path vendor/bundle
install: install-js install-gems
Which means when you run
And you can define build as
npm run build
bundle exec jekyll build --trace
So you just have to run
make build and it will run both commands.
And then you would have
make build as the build step in your Netlify config or GH Actions workflow.
Note that make will exit on failure so it effectively does
npm run build && bundle exec ...