aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/jekyll.yml8
-rw-r--r--.gitignore1
-rw-r--r--Makefile45
-rw-r--r--_config.yml1
4 files changed, 51 insertions, 4 deletions
diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml
index 90e3814..4062af8 100644
--- a/.github/workflows/jekyll.yml
+++ b/.github/workflows/jekyll.yml
@@ -26,9 +26,9 @@ jobs:
with:
ruby-version: '${{ matrix.ruby-version }}'
bundler-cache: true
- - name: jekyll build
- run: bundle exec jekyll build --drafts
+ - name: Build
+ run: make build
- name: Check integrity
run: |
- nohup bundle exec jekyll serve --drafts --baseurl '' &
- sleep 3 && wget --no-verbose --recursive --convert-links --adjust-extension --directory-prefix=/tmp -- http://localhost:4000/
+ nohup make serve &
+ sleep 3 && make wget
diff --git a/.gitignore b/.gitignore
index 57510a2..1e06029 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
_site/
+.wget/
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..da24b67
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,45 @@
+MAKEFLAGS += --no-builtin-rules --no-builtin-variables --warn-undefined-variables
+.DEFAULT_GOAL := all
+.DELETE_ON_ERROR:
+.SUFFIXES:
+SHELL := bash
+.SHELLFLAGS := -e -o pipefail -c
+
+escape = $(subst ','\'',$(1))
+
+define noexpand
+ifeq ($$(origin $(1)),environment)
+ $(1) := $$(value $(1))
+endif
+ifeq ($$(origin $(1)),environment override)
+ $(1) := $$(value $(1))
+endif
+ifeq ($$(origin $(1)),command line)
+ override $(1) := $$(value $(1))
+endif
+endef
+
+.PHONY: all
+all: serve
+
+.PHONY: ruby
+ruby:
+ command -v rbenv && rbenv install --skip-existing
+
+.PHONY: deps
+deps: ruby
+ bundle install
+
+.PHONY: build
+build:
+ bundle exec jekyll build --drafts
+
+.PHONY: serve
+serve:
+ bundle exec jekyll serve --drafts
+
+URL := http://localhost:4000/sorting-algorithms/
+
+.PHONY: wget
+wget:
+ wget --no-verbose --recursive --no-parent --convert-links --adjust-extension -e robots=off --directory-prefix=.wget -- '$(call escape,$(URL))'
diff --git a/_config.yml b/_config.yml
index 95a527b..2782d2c 100644
--- a/_config.yml
+++ b/_config.yml
@@ -4,6 +4,7 @@ baseurl: /sorting-algorithms
exclude:
- Gemfile
- Gemfile.lock
+ - Makefile
- README.md
- vendor/