+# Use /bin/bash instead of /bin/sh
+export SHELL = /bin/bash
+
## ========================================
## Commands for both workshop and lesson websites.
# Settings
MAKEFILES=Makefile $(wildcard *.mk)
-JEKYLL=jekyll
JEKYLL_VERSION=3.8.5
+JEKYLL=bundle install --path .vendor/bundle && bundle update && bundle exec jekyll
PARSER=bin/markdown_ast.rb
DST=_site
# Check Python 3 is installed and determine if it's called via python3 or python
# (https://stackoverflow.com/a/4933395)
-ifneq (, $(shell which python3 2>/dev/null))
- PYTHON := python3
-else ifneq (, $(shell which python 2>/dev/null))
- PYTHON_VERSION_FULL := $(wordlist 2,4,$(subst ., ,$(shell python --version 2>&1)))
- PYTHON_VERSION_MAJOR := $(word 1,${PYTHON_VERSION_FULL})
- ifneq (3, ${PYTHON_VERSION_MAJOR})
- $(error "Your system does not appear to have Python 3 installed.")
+PYTHON3_EXE := $(shell which python3 2>/dev/null)
+ifneq (, $(PYTHON3_EXE))
+ ifeq (,$(findstring Microsoft/WindowsApps/python3,$(subst \,/,$(PYTHON3_EXE))))
+ PYTHON := python3
+ endif
+endif
+
+ifeq (,$(PYTHON))
+ PYTHON_EXE := $(shell which python 2>/dev/null)
+ ifneq (, $(PYTHON_EXE))
+ PYTHON_VERSION_FULL := $(wordlist 2,4,$(subst ., ,$(shell python --version 2>&1)))
+ PYTHON_VERSION_MAJOR := $(word 1,${PYTHON_VERSION_FULL})
+ ifneq (3, ${PYTHON_VERSION_MAJOR})
+ $(error "Your system does not appear to have Python 3 installed.")
+ endif
+ PYTHON := python
+ else
+ $(error "Your system does not appear to have any Python installed.")
endif
- PYTHON := python
-else
- $(error "Your system does not appear to have any Python installed.")
endif
## docker-serve : use docker to build the site
docker-serve :
- docker run --rm -it -v ${PWD}:/srv/jekyll -p 127.0.0.1:4000:4000 jekyll/jekyll:${JEKYLL_VERSION} make serve
+ docker run --rm -it --volume ${PWD}:/srv/jekyll \
+ --volume=${PWD}/.docker-vendor/bundle:/usr/local/bundle \
+ -p 127.0.0.1:4000:4000 \
+ jekyll/jekyll:${JEKYLL_VERSION} \
+ bin/run-make-docker-serve.sh
## serve : run a local server.
serve : lesson-md
lesson-fixme :
@fgrep -i -n FIXME ${MARKDOWN_SRC} || true
-#-------------------------------------------------------------------------------
-# Include extra commands if available.
-#-------------------------------------------------------------------------------
-
--include commands.mk