diff --git a/docs/Makefile b/docs/Makefile index b5e2bcffad8..6398decb5b4 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,14 +1,24 @@ -.PHONY: docs docs-no-pull docs-test +.PHONY: docs docs-no-pull docs-test docs-local-static IMAGE = grafana/grafana-docs-dev:latest +CONTENT_PATH = /hugo/content/docs/grafana/latest +LOCAL_STATIC_PATH = ../../website/static +PORT = 3002:3002 docs: docker pull $(IMAGE) - docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE) + docker run -v $(shell pwd)/sources:$(CONTENT_PATH) -p $(PORT) --rm -it $(IMAGE) docs-no-pull: - docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest -p 3002:3002 --rm -it $(IMAGE) + docker run -v $(shell pwd)/sources:$(CONTENT_PATH) -p $(PORT) --rm -it $(IMAGE) docs-test: docker pull $(IMAGE) - docker run -v $(shell pwd)/sources:/hugo/content/docs/grafana/latest --rm -it $(IMAGE) /bin/bash -c 'make prod' \ No newline at end of file + docker run -v $(shell pwd)/sources:$(CONTENT_PATH) --rm -it $(IMAGE) /bin/bash -c 'make prod' + +# expects that you have grafana/website checked out in same path as the grafana repo. +docs-local-static: + docker pull $(IMAGE) + if [ ! -d "$(LOCAL_STATIC_PATH)" ]; then echo "local path (website project) $(LOCAL_STATIC_PATH) not found"]; exit 1; fi + docker run -v $(shell pwd)/sources:$(CONTENT_PATH) \ + -v $(shell pwd)/$(LOCAL_STATIC_PATH):/hugo/static -p $(PORT) --rm -it $(IMAGE) \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 00d3aa9ebde..5a52d56da4e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,6 +12,8 @@ Yarn >= 1.22.4 1. On the command line, first change to the docs folder: `cd docs`. 1. Run `make docs`. This launches a preview of the docs website at `http://localhost:3002/docs/grafana/latest/` which will refresh automatically when changes are made to content in the `sources` directory. +If you have the grafana/website repo checked out in the same directory as the grafana repo, then you can run `make docs-local-static` to use local assets (such as images). + --- ## Content guidelines