From eb23f01b326a44842e946dfe5ae48d4fb8dd8e86 Mon Sep 17 00:00:00 2001 From: Roman Dodin Date: Thu, 29 Jun 2023 17:30:33 +0300 Subject: [PATCH] added user-requirements.txt install workflow --- Dockerfile | 6 +++++- docs/getting-started.md | 12 +++++++----- docs/insiders/getting-started.md | 3 +++ 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 955816966..5595e842a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,7 @@ WORKDIR /tmp COPY material material COPY package.json package.json COPY README.md README.md -COPY requirements.txt requirements.txt +COPY *requirements.txt ./ COPY pyproject.toml pyproject.toml # Perform build and cleanup artifacts and caches @@ -66,6 +66,10 @@ RUN \ "pillow>=9.0" \ "cairosvg>=2.5"; \ fi \ +&& \ + if [ -e user-requirements.txt ]; then \ + pip install -U -r user-requirements.txt; \ + fi \ && \ apk del .build \ && \ diff --git a/docs/getting-started.md b/docs/getting-started.md index d0ba22475..63ae33b9f 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -117,11 +117,12 @@ The following plugins are bundled with the Docker image: Material for MkDocs only bundles selected plugins in order to keep the size of the official image small. If the plugin you want to use is not included, - create a new `Dockerfile` and extend the official Docker image: + create a `user-requirements.txt` file in the repository root with the packages + you want to install additionally, e.g.: - ``` Dockerfile - FROM squidfunk/mkdocs-material - RUN pip install ... + ``` txt title="user-requirements.txt" + mkdocs-macros-plugin==0.7.0 + mkdocs-glightbox>=0.3.1 ``` Next, you can build the image with the following command: @@ -130,7 +131,8 @@ The following plugins are bundled with the Docker image: docker build -t squidfunk/mkdocs-material . ``` - The new image can be used exactly like the official image. + The new image will have additional packages installed and can be used + exactly like the official image. ### with git diff --git a/docs/insiders/getting-started.md b/docs/insiders/getting-started.md index cb0368bc0..3db39ab10 100644 --- a/docs/insiders/getting-started.md +++ b/docs/insiders/getting-started.md @@ -79,6 +79,9 @@ docker login -u ${GH_USERNAME} -p ${GHCR_TOKEN} ghcr.io docker pull ghcr.io/${GH_USERNAME}/mkdocs-material-insiders ``` +Should you wish to add additional plugins to the insiders container image, follow the steps +outlined in the [Getting Started guide](../getting-started.md#with-docker). + [^2]: Earlier, Insiders provided a dedicated Docker image which was available to all sponsors. On March 21, 2021, the image was deprecated for the reasons