From b1941bcce9c50df7aac5dfd6185f33e63709a47d Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Mon, 14 Oct 2019 13:13:41 -0700 Subject: [PATCH] Automatically rewrite links to localhost when developing on docs locally. --- .eleventy.js | 7 ++++++- docs/Dockerfile | 4 +++- scripts/dev-docs | 3 +-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.eleventy.js b/.eleventy.js index 22fa476..7ab5109 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -16,7 +16,12 @@ module.exports = function(eleventyConfig) { // Replace links to .md files with links to directories. This allows unparsed Markdown links // to work on GitHub, while rendered links elsewhere also work. replaceLink: function (link, env) { - return link.replace(/\.md$/, '/'); + link = link.replace(/\.md$/, '/'); + + if (process.env.NODE_ENV == "production") { + return link; + } + return link.replace('https://torsion.org/borgmatic/', 'http://localhost:8080/'); } }; let markdownItAnchorOptions = { diff --git a/docs/Dockerfile b/docs/Dockerfile index 132e9c9..777d8d9 100644 --- a/docs/Dockerfile +++ b/docs/Dockerfile @@ -9,6 +9,8 @@ RUN borgmatic --help > /command-line.txt \ FROM node:12.10.0-alpine as html +ARG ENVIRONMENT=production + WORKDIR /source RUN npm install @11ty/eleventy \ @@ -20,7 +22,7 @@ RUN npm install @11ty/eleventy \ COPY --from=borgmatic /etc/borgmatic/config.yaml /source/docs/_includes/borgmatic/config.yaml COPY --from=borgmatic /command-line.txt /source/docs/_includes/borgmatic/command-line.txt COPY . /source -RUN npx eleventy --input=/source/docs --output=/output/docs \ +RUN NODE_ENV=${ENVIRONMENT} npx eleventy --input=/source/docs --output=/output/docs \ && mv /output/docs/index.html /output/index.html FROM nginx:1.16.1-alpine diff --git a/scripts/dev-docs b/scripts/dev-docs index e5c310c..1ecc7e4 100755 --- a/scripts/dev-docs +++ b/scripts/dev-docs @@ -2,9 +2,8 @@ set -e -docker build --tag borgmatic-docs --file docs/Dockerfile . +docker build --tag borgmatic-docs --build-arg ENVIRONMENT=dev --file docs/Dockerfile . echo echo "You can view dev docs at http://localhost:8080" -echo "Note that links within these docs will go to the online docs, so you will need to fiddle with URLs manually to stay in the dev docs." echo docker run --interactive --tty --publish 8080:80 --rm borgmatic-docs