From 6190f68a51bc171c2526c3d94e7a6b6bb6bdb9ee Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Wed, 2 Mar 2022 15:02:52 +0500 Subject: add Makefile for shortcuts --- .github/workflows/jekyll.yml | 8 ++++---- .gitignore | 1 + Makefile | 45 ++++++++++++++++++++++++++++++++++++++++++++ _config.yml | 1 + 4 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 Makefile 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/ -- cgit v1.2.3