I like Makefiles. Perhaps you should too. Here’s a use case.

My local website test is the ugly bundle exec jekyll serve -P 4001. Publishing is uglier.

There’s a simple portable way. Use a Makefile.

The local test is reduced to make or make serve.

Publishing is reduced to make publish.

“Chris, that adds a dependency of make!”

It does not. Jekyll’s best practice is to use a Gemfile and bundle. And a Jekyll dependency requires ‘make’ to install.

“Chris, there has to be a catch!”

Makefiles are a user-hostile format. 8 spaces is a different meaning than a tab character. They look the same in most editor defaults. They are terse.