From 015464b1e021cc6c0f3669f31f6b60306d7d3bbe Mon Sep 17 00:00:00 2001 From: Izuru Yakumo Date: Wed, 3 Apr 2024 20:17:16 -0300 Subject: [PATCH] Add support for disabling features at build time Signed-off-by: Izuru Yakumo --- Makefile | 1 - README.md | 8 ++++++-- cmd/aya/amber.go | 1 + cmd/aya/amber_stub.go | 11 +++++++++++ cmd/aya/gcss.go | 1 + cmd/aya/gcss_stub.go | 11 +++++++++++ 6 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 cmd/aya/amber_stub.go create mode 100644 cmd/aya/gcss_stub.go diff --git a/Makefile b/Makefile index 9fdf9a7..aa7572c 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,6 @@ PREFIX ?= /usr/local DATE ?= `date -u +%F` GOOS ?= `go env GOOS` VERSION ?= `git describe --tags` - build: go build ${GOFLAGS} ./cmd/aya clean: diff --git a/README.md b/README.md index a126c81..c260806 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Named after [Aya Shameimaru](https://en.touhouwiki.net/wiki/Aya_Shameimaru) from ## Installation -Build it manually assuming you have Go (>=1.17) installed: +Build it manually provided you have Go (>=1.17) installed: $ go install marisa.chaotic.ninja/aya/cmd/aya@latest (1) --- or --- @@ -27,6 +27,10 @@ Build it manually assuming you have Go (>=1.17) installed: (1) If you use this method, the `aya version` subcommand may print the wrong string, but it should not be a problem unless you use it on a page. +You can also disable certain features at build time, with the `-tags` switch. +Currently, these tags are available: `noamber`, `nogcss`. +See `go help buildconstraint` for more details. + ## Ideology Keep your texts in markdown, [amber](https://github.com/eknkc/amber), or html format right in the main directory @@ -35,7 +39,7 @@ of your blog/site. Keep all service files (extensions, layout pages, deployment scripts etc) in the `.aya` subdirectory. -Define variables in the header of the content files using [YAML](https://www.yaml.io) : +Define variables in the header of the content files using [YAML](https://noyaml.com) : ```markdown title: My web site diff --git a/cmd/aya/amber.go b/cmd/aya/amber.go index 05f9fe1..3645282 100644 --- a/cmd/aya/amber.go +++ b/cmd/aya/amber.go @@ -1,3 +1,4 @@ +//go:build !noamber // Render .amber files into .html package main diff --git a/cmd/aya/amber_stub.go b/cmd/aya/amber_stub.go new file mode 100644 index 0000000..3ed3a9c --- /dev/null +++ b/cmd/aya/amber_stub.go @@ -0,0 +1,11 @@ +//go:build noamber +package main + +import ( + "errors" + "io" +) + +func buildAmber(path string, w io.Writer, vars Vars) error { + return errors.New("Amber support was disabled on build-time") +} diff --git a/cmd/aya/gcss.go b/cmd/aya/gcss.go index 2cb449b..c463f57 100644 --- a/cmd/aya/gcss.go +++ b/cmd/aya/gcss.go @@ -1,3 +1,4 @@ +//go:build !nogcss // Render .gcss files into .css package main diff --git a/cmd/aya/gcss_stub.go b/cmd/aya/gcss_stub.go new file mode 100644 index 0000000..cb1f8c0 --- /dev/null +++ b/cmd/aya/gcss_stub.go @@ -0,0 +1,11 @@ +//go:build nogcss +package main + +import ( + "errors" + "io" +) + +func buildGCSS(path string, w io.Writer) error { + return errors.New("GCSS support was disabled at build time") +} -- 2.43.0