32 lines
904 B
Makefile
32 lines
904 B
Makefile
.PHONY: all serve clean
|
|
|
|
export PATH := $(HOME)/bin:$(PATH):/usr/local/bin
|
|
PORT ?= 4000
|
|
IMAGE=danjones000/danielrayjones/ruby-with-bundler:1.0.1
|
|
|
|
ifeq ($(shell command -v podman 2> /dev/null),)
|
|
CMD=docker
|
|
else
|
|
CMD=podman
|
|
endif
|
|
|
|
all: serve
|
|
|
|
Gemfile.lock:
|
|
$(CMD) run --rm -v $(shell pwd):/app -w /app ruby:2.7 sh -c 'gem install bundler:2.0.2 && bundle install'
|
|
|
|
.image: Dockerfile Gemfile.lock
|
|
$(CMD) build -t $(IMAGE) .
|
|
$(CMD) image inspect $(IMAGE) | jq -r '.[0].Id' | tee .image
|
|
|
|
_config.local.yml:
|
|
touch $@
|
|
|
|
_site/index.html: .image _config.local.yml index.html
|
|
$(CMD) run --rm -v $(shell pwd):/app:rw -w /app $(IMAGE) bundle exec jekyll build -c '_config.yml,_config.local.yml'
|
|
|
|
serve: _site/index.html
|
|
$(CMD) run --rm -it -v $(shell pwd):/app -w /app -p $(PORT):$(PORT) $(IMAGE) bundle exec jekyll serve -H 0.0.0.0 -P "$(PORT)" -c '_config.yml,_config.local.yml'
|
|
|
|
clean:
|
|
rm -rf _site
|