commit bf340e6130b457448b9bcd0c947898c3871ee88c Author: Glenn Y. Rolland Date: Mon Dec 28 02:11:39 2020 +0100 Initial import diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..87da424 --- /dev/null +++ b/Makefile @@ -0,0 +1,48 @@ + +GOFILES=$(wildcard *.go) +NAME=musala-push +MJML_TEMPLATES=$(wildcard templates/*.mjml) +MJML_OUTPUT=$(patsubst %.mjml,%.mjml.html,$(MJML_TEMPLATES)) + +all: build + +%.mjml.html: %.mjml + npx mjml $< --config.minify > $@ + + +.PHONY: build build-binaries build-templates +build: build-binaries build-templates ## build executable + +build-binaries: build-templates + go build ./... + +build-templates: $(MJML_OUTPUT) + +install: ## install binaries + go install ./... + +.PHONY: shellcheck +shellcheck: ## run shellcheck validation + scripts/validate/shellcheck + +.PHONY: help +help: ## print this help + @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) + +.PHONY: clean clean-templates clean-binaries +clean: clean-templates clean-binaries ## remove build artifacts + +clean-templates: + rm -f ./templates/*.mjml.html + +clean-binaries: + rm -rf ./_build/* + +test: build + ./test.sh + +npm: + npm install + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..7e358d3 --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# Kiwimix (calendar mixer) + +Swiss knife for calendars + + +## Roadmap + +Access to calendar (with credentials) + + * :x: with hardcoded data :wink: + * :x: with data from config file with multiple calendars + +Download calendar events locally + + * :x: choose source calendar + * :x: as separate files ? + * :x: as an in-memory database ? + +Upload calendar events remotely + + * :x: choose target calendar + +Merge events + + * :x: merge overlapping events + * :x: keep (internal) reference to source-calendars/parent-events + * :x: anonymize events + +Web I + + * :x: split into library + CLI util + * :x: write an API for the lib + * :x: add a web frontend + * :x: add user management & multi-account +