Giter VIP home page Giter VIP logo

mkdocs-deploy-gh-pages's Introduction

GitHub Action to deploy an MkDocs site to GitHub Pages

GitHub Badge

This GitHub action will deploy your MkDocs site as GitHub Pages, using the Material theme. It assumes that an mkdocs.yml file is present in the top-level directory and the source files (Markdown, etc.) are in the docs/ folder. You can use mhausenblas/mkdocs-template as a template.

Before you start, make sure you enable GitHub pages via the repo settings.

There are two methods for generating and building your gh-pages branch: use either a PERSONAL_TOKEN which is loaded with a personal access token containing repo privileges, or using GITHUB_TOKEN which is a token provided by the GITHUB API with sufficient privileges to perform repo-related operations.

Building with PERSONAL_TOKEN

Generate a personal access token (scope repo) and create a secret in your repository settings with the name PERSONAL_TOKEN and the value of the token generated.

Note that this is an account-level token that has access to update any repo owned by you, so be sure to avoid sharing it.

Building with GITHUB_TOKEN

This action supports building and deploying with a GITHUB_TOKEN. This token is automatically generated by Github Actions when a workflow runs so it is convenient.

It is more secure than a personal token, since you never actually see the value of the GITHUB_TOKEN and also the GITHUB_TOKEN is scoped to only work for a single repo.

You may need to give the GITHUB_TOKEN write permission. Go to your repository's Settings > Actions > General > Workflow Permissions and select Read and write permissions.

Note that for this approach, Github Pages will be enabled in Settings but you will not have a URL displayed or environment tab yet. So change the Github Pages settings to another target and then back again to gh-pages (if that is your branch to serve) - then you will see a URL. This step is only needed on the first deploy and no action is needed later on.

Alternative GITHUB_DOMAIN

In case this action should be used in a Github Enterprise environment you can overwrite the github.com domain with your corresponding Github Enterprise domain name by specifying the GITHUB_DOMAIN environment variable.

Custom domain for github pages

MkDocs can be deployed to github pages using a custom domain, if you populate a CUSTOM_DOMAIN environment variable. This will generate a CNAME file, which will be placed inside the /docs folder.

https://www.mkdocs.org/user-guide/deploying-your-docs/#custom-domains

Custom File Pathing of Mkdocs file

This action supports deployment of mkdocs with different file path , if you populate a CONFIG_FILE environment variable. This is important if you have mkdocs file in another folder such as if you have mkdocs.yml in a path docs/mkdocs.yml. Without populating this, the deployment assumes that mkdocs.yml is on the root folder.

Installing extra packages

Some Python packages require C bindings. These packages can be installed using the EXTRA_PACKAGES variable. The EXTRA_PACKAGES variable will be passed to the apk add command of Alpine Linux before running pip install to install the Python packages.

Installing mkdocs plugins

If you use some mkdocs plugins like codeinclude then you need to define it as dependency in the typical python way with a requirements.txt file. In the sample above you need to add the line mkdocs-codeinclude-plugin. Then you need to link the file using the REQUIREMENTS variable.

Example usage

name: Publish docs via GitHub Pages
on:
  push:
    branches:
      - main

jobs:
  build:
    name: Deploy docs
    runs-on: ubuntu-latest
    steps:
      - name: Checkout main
        uses: actions/checkout@v2

      - name: Deploy docs
        uses: mhausenblas/mkdocs-deploy-gh-pages@master
        # Or use mhausenblas/mkdocs-deploy-gh-pages@nomaterial to build without the mkdocs-material theme
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CUSTOM_DOMAIN: optionaldomain.com
          CONFIG_FILE: folder/mkdocs.yml
          EXTRA_PACKAGES: build-base
          # GITHUB_DOMAIN: github.myenterprise.com
          REQUIREMENTS: folder/requirements.txt

mkdocs-deploy-gh-pages's People

Contributors

afritzler avatar briffou avatar christmoore avatar cristiklein avatar dalonsoa avatar dependabot[bot] avatar fiahblade avatar frinzekt avatar geoffcline avatar hiddeco avatar ioribranford avatar joffref avatar madwort avatar mhausenblas avatar michaelcurrin avatar nemchik avatar oxr463 avatar pascaliske avatar quad avatar rammusxu avatar rekire avatar remirigal avatar skandix avatar timlinux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mkdocs-deploy-gh-pages's Issues

Installation of mkdocs-doxygen-plugin fails

WARNING: The directory '/github/home/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: mkdocs in /usr/local/lib/python3.9/site-packages (from -r /github/workspace/docs/requirements.txt (line 1)) (1.2.2)
Requirement already satisfied: mkdocs-material in /usr/local/lib/python3.9/site-packages (from -r /github/workspace/docs/requirements.txt (line 2)) (7.2.4)
ERROR: Could not find a version that satisfies the requirement mkdocs-doxygen-plugin
ERROR: No matching distribution found for mkdocs-doxygen-plugin
WARNING: You are using pip version 21.0.1; however, version 21.2.4 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.

Installation of doxygen succeeds. On my local machine the requirements.txt works. Those packages doesn't seem to be outdated. Maybe the pip version is the problem?

Attempt to install theme via PyPI

Before deploying, the action.sh script should attempt to install the desired theme via pip:

pip install -r requirements.txt

Contents of requirements.txt:

mkdocs-gitbook

Multiple EXTRA_PACKAGES

I'm attempting to use this for a repo that requires at least three extra apk packages - build-base, openblas-dev, and lapack-dev, but when I set:

EXTRA_PACKAGES: "build-base openblas-dev lapack-dev"

I get:

ERROR: 'build-base openblas-dev lapack-dev' is not a valid world dependency, format is name(@tag)([<>~=]version)

I think this is because of the quotes:

https://github.com/mhausenblas/mkdocs-deploy-gh-pages/blob/master/action.sh#L9-L11

Is there a reason this isn't just apk add --no-cache ${EXTRA_PACKAGES}?

docker: invalid reference format: repository name must be lowercase.

Hi! It might be better to know first that I have no previous experience with Mkdocs or with Docker. The problem I encounter might be really simple but I lack the skills to debug it properly! I stumbled on this repo while trying to setup an auto-deployed website for a project I'm working on. The website is currently composed of a simple index.md page. I am able to serve the website locally with mkdocs serve and to build it using mkdocs build. My Github Pages feature is properly set up. I am using a custom domain name, properly configured, etc...

After setting up the action, it worked for a few commits while I was working on my doc branch. The action was able to create and push the site to the gh-pages, the website was up (and still is but running an antique version). After merging the website to main and running the action again, it always automatically fails with the following message:

/usr/bin/docker run --name bf4eecdbf08114b55a0e842fa516cf216_b040db --label 94859b --workdir /github/workspace --rm -e GITHUB_TOKEN -e CUSTOM DOMAIN -e CONFIG_FILE -e EXTRA_PACKAGES -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_ACTOR -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e GITHUB_STEP_SUMMARY -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NAME -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v
...

docker: invalid reference format: repository name must be lowercase.
See 'docker run --help'.

I have tried renaming my own repo to lowercase. I told myself that it could also be weird mis-interpreted whitespaces somewhere so I trimmed all of them. I also tried running an older version of the action and many other "easy" fixes.

How can I solve this issue? Thanks for the script!

Error: Please make sure the libxml2 and libxslt development packages are installed.

I'm getting this error while running version 1.16 of the action:

Collecting lxml>=4.2.5
  Downloading lxml-4.6.2.tar.gz (3.2 MB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-7s1yuwf0/lxml/setup.py'"'"'; __file__='"'"'/tmp/pip-install-7s1yuwf0/lxml/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-7s1yuwf0/lxml/pip-egg-info
         cwd: /tmp/pip-install-7s1yuwf0/lxml/
    Complete output (3 lines):
    Building lxml version 4.6.2.
    Building without Cython.
    Error: Please make sure the libxml2 and libxslt development packages are installed.

I've tried manually installing libxml2, libxml2-dev and other combinations of these without any luck.

Use latest versions of mkdocs and material theme

While one can easily work around this by specifying a specific version in requirements.txt (e.g. indico/indico-user-docs@3c1d007), it would be nice if the Dockerfile used the latest version of the mkdocs-material image by default (either :latest or manually kept up to date so people locking the tag in their action always get a specific version)

An action setting to specify the mkdocs/material versions would be even nicer of course.

mkdocs not automatically installed

In my project, I don't have a requirements.txt files at the top level, as the project has multiple non python components.

As a consequence, this GH Action did not find my requirement file and in turn did not install mkdocs.

This was easy to resolve for me, but IMO it would make more sense if this action installed mkdocs even if no requirements.txt file is found.

Can this be customized more?

I was wondering, if there are more options to customize this more.
For example do I use the Material Theme v5.0.0 (RC 4) with PyMdown 7 and was wondering if this can be used using those versions and extensions.

Development flow

Hey folks,

We have a bit of an issue: I just noticed that several commits have not been cherry-picked into the nomaterial branch. Right now these changes are only README-related, but if we want to continue supporting both options we should keep all of them up to date too.

What are your thoughts? How can we best accomplish this?

custom docs_dir and custom domain

The CUSTOM_DOMAIN environment variable does not work when also using a custom docs_dir in mkdocs.yml.

When specifying a custom docs_dir such as

docs_dir: articles/

Build will fail with the following error:

/action.sh: line 24: /github/workspace/docs/CNAME: No such file or directory

The correct folder to target for CNAME file creation should in this instance should be articles/.

A neat way to solve this would be to lookup the key in mkdocs.yml (using yq maybe?), and the easiest would be to add another environment variable.

Git-LFS-tracked images don't show up

Hello,

I'm trying to set up my repo to use Git LFS so that I don't have to store images directly in my repo. After getting it set up, I tried to deploy with this action like I normally do (passing git-lfs in for EXTRA_PACKAGES, which resulted in a successful build). However, all of my images are now broken on my page.

Is there something else I should be doing to enable Git LFS with mkdocs?

Can't use this with mkdocs-minify-plugin>=0.2.3

It will shows error when my requirements.txt contains mkdocs-minify-plugin>=0.2.3

FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.6/site-packages/mkdocs_minify_plugin-0.2.1-py3.6.egg'
##[error]Docker run failed with exit code 1

more info

Action fails while trying to compile regex from source code

Hello,

A workflow that was working correctly on my project yesterday started failing today:

2020-04-13T10:02:04.8019730Z Collecting regex (from nltk>=3.2.5; extra == "languages"->lunr[languages]==0.5.6->mkdocs==1.1->-r /github/workspace/requirements.txt (line 1))
2020-04-13T10:02:05.4084897Z   Downloading https://files.pythonhosted.org/packages/4c/e7/eee73c42c1193fecc0e91361a163cbb8dfbea62c3db7618ad986e5b43a14/regex-2020.4.4.tar.gz (695kB)
[...]
2020-04-13T10:02:05.9446905Z Building wheels for collected packages: mkdocs-redirects, future, nltk, regex
[...]
2020-04-13T10:02:08.0807109Z   Building wheel for regex (setup.py): started
2020-04-13T10:02:08.3651855Z   ERROR: Complete output from command /usr/local/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-5eukeudh/regex/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-w4fb55lt --python-tag cp36:
2020-04-13T10:02:08.3652441Z   Building wheel for regex (setup.py): finished with status 'error'
2020-04-13T10:02:08.3652626Z   ERROR: running bdist_wheel
2020-04-13T10:02:08.3652719Z   running build
2020-04-13T10:02:08.3652806Z   running build_py
2020-04-13T10:02:08.3652876Z   creating build
2020-04-13T10:02:08.3653107Z   creating build/lib.linux-x86_64-3.6
2020-04-13T10:02:08.3653321Z   creating build/lib.linux-x86_64-3.6/regex
2020-04-13T10:02:08.3653553Z   copying regex_3/__init__.py -> build/lib.linux-x86_64-3.6/regex
2020-04-13T10:02:08.3653790Z   copying regex_3/regex.py -> build/lib.linux-x86_64-3.6/regex
2020-04-13T10:02:08.3654033Z   copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.6/regex
2020-04-13T10:02:08.3654279Z   copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.6/regex
2020-04-13T10:02:08.3654378Z   running build_ext
2020-04-13T10:02:08.3654559Z   building 'regex._regex' extension
2020-04-13T10:02:08.3654777Z   creating build/temp.linux-x86_64-3.6
2020-04-13T10:02:08.3655001Z   creating build/temp.linux-x86_64-3.6/regex_3
2020-04-13T10:02:08.3655369Z   gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.6m -c regex_3/_regex.c -o build/temp.linux-x86_64-3.6/regex_3/_regex.o
2020-04-13T10:02:08.3655612Z   unable to execute 'gcc': No such file or directory
2020-04-13T10:02:08.3655813Z   error: command 'gcc' failed with exit status 1
2020-04-13T10:02:08.3656025Z   ----------------------------------------
2020-04-13T10:02:08.3656129Z   ERROR: Failed building wheel for regex
2020-04-13T10:02:08.3662906Z   Running setup.py clean for regex

I was able to pinpoint the cause of the issue to the new regex requirement that was introduced to nltk in version 3.5 that got out today:

nltk/nltk@6fbad04

https://pypi.org/project/nltk/3.5/#history

Also, I could understand that the reason why pip chooses to download the source code archive instead of the binary is because the squidfunk/mkdocs-material Docker image uses Alpine Linux:

https://stackoverflow.com/a/57492759

Is there any chance this could be fixed by using a more up-to-date squidfunk/mkdocs-material Docker image? Or maybe it could be an opportunity to move to the very recently launched 5.1.0 version?

https://hub.docker.com/r/squidfunk/mkdocs-material/tags

Missing requirements.txt?

As of version 1.10. the action fails unless there's a requirements.txt file in the root of the deployed project. I don't think this is a requirement for mkdocs.

I think the fix is either to document that you must have a requirements.txt file in the root of the project or put an if around the pip install command in the action.sh file. I'm not sure what your intent is though.

Here's the error:

ERROR: Could not open requirements file: [Errno 2] No such file or directory: '/github/workspace/requirements.txt'

Update description on use of GITHUB_TOKEN

There is a note in README.md

This action supports building and deploying with a GITHUB_TOKEN but it has problems deploying to public repositories. In public repositories, your changes will be pushed to the gh-pages branch, but an automatic build will not be performed by GitHub Pages.

Can I suggest this be updated? I don't think it's relevant anymore.

I have a public repo which auto deploys using GH actions and GITHUB_TOKEN.

workflow

Relates to #1

/action.sh: line 42: git: command not found

I'm getting the following error when running the action - the thing is, I haven't changed anything (that would explain this) since I last pushed, 3 days ago.

image

/action.sh: line 42: git: command not found

My YAML file:


name: Publish docs via GitHub Pages
on:
  push:
    branches:
      - master

jobs:
  build:
    name: Deploy docs
    runs-on: ubuntu-latest
    steps:
      - name: Checkout master
        uses: actions/checkout@v2

      - name: Deploy docs
        uses: mhausenblas/mkdocs-deploy-gh-pages@master
        env:
          GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
          CUSTOM_DOMAIN: sasjs.io

My repository: https://github.com/sasjs/sasjs.io

I'm getting the same issue on other repositories.

3 days ago, the action ran fine:
image

Allow builds without Material Theme

When I upgraded from 1.14 to 1.15 of this action, I found that the action doesn't accept use of the builtin themes any longer. (theme: readthedocs or theme: mkdocs).

Recommendations

Add to the docs

It would be great if this limitation was documented at the top of the README.md - that not only does the action supply material, but you must use material. Perhaps some other custom themes work, but the builtin themes don't work and this is no point in try to install them since they are in the code of mkdocs itself.

And maybe say that if one wants to use another theme like the builtins, then that can work if one uses the action setup as mhausenblas/[email protected] where it still works.

Add support

This may not be worthwhile for you if you only want to support Material.

And it might be beyond your control.

But it could be nice for other users if @master of this action supported using a builtin theme.

The reason why I say it is beyond your control is that the docker image version changed between tag versions and so the code is obscured from the action. See files changed between tags: 1.14...1.15

Help with debugging weird behavior of action

Hey, sorry to ask here, I have been using mkdocs-deploy-gh-pages for a number of pages successfully, but for some reason, I cant get it to behave here: https://github.com/INCATools/ontology-development-kit/blob/master/.github/workflows/docs.yml

It fails very hard there:
https://github.com/INCATools/ontology-development-kit/actions/runs/1536704620

It appeared to me that somehow the requirements.txt in that repo is not ignore, hence the stupid plan of mine to add REQUIREMENTS: NONE, but that didn't change in any case the behaviour. Any idea how I can debug this? Thanks for the help.

Error jinja2.exceptions.TemplateNotFound

Hi ๐Ÿ‘‹

I faced with strange error with your Action, when I try to deploy my repo.

GH Pages settings:

Screenshot 2020-07-03 at 18 21 57

Link to mkdocs.yml: https://github.com/create-go-app/website/blob/master/mkdocs.yml

Logs from GH Actions:

2020-07-03T15:17:42.4110297Z INFO    -  Cleaning site directory 
2020-07-03T15:17:42.4110936Z INFO    -  Building documentation to directory: /github/workspace/site 
2020-07-03T15:17:42.9666744Z Traceback (most recent call last):
2020-07-03T15:17:42.9666992Z   File "/usr/local/bin/mkdocs", line 8, in <module>
2020-07-03T15:17:42.9667158Z     sys.exit(cli())
2020-07-03T15:17:42.9668001Z   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
2020-07-03T15:17:42.9668205Z     return self.main(*args, **kwargs)
2020-07-03T15:17:42.9668609Z   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 782, in main
2020-07-03T15:17:42.9668782Z     rv = self.invoke(ctx)
2020-07-03T15:17:42.9669162Z   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
2020-07-03T15:17:42.9669348Z     return _process_result(sub_ctx.command.invoke(sub_ctx))
2020-07-03T15:17:42.9669749Z   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
2020-07-03T15:17:42.9669928Z     return ctx.invoke(self.callback, **ctx.params)
2020-07-03T15:17:42.9670325Z   File "/usr/local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
2020-07-03T15:17:42.9670501Z     return callback(*args, **kwargs)
2020-07-03T15:17:42.9670927Z   File "/usr/local/lib/python3.8/site-packages/mkdocs/__main__.py", line 183, in gh_deploy_command
2020-07-03T15:17:42.9671106Z     build.build(cfg, dirty=not clean)
2020-07-03T15:17:42.9671505Z   File "/usr/local/lib/python3.8/site-packages/mkdocs/commands/build.py", line 288, in build
2020-07-03T15:17:42.9671696Z     _build_theme_template(template, env, files, config, nav)
2020-07-03T15:17:42.9672140Z   File "/usr/local/lib/python3.8/site-packages/mkdocs/commands/build.py", line 114, in _build_theme_template
2020-07-03T15:17:42.9672345Z     output = _build_template(template_name, template, files, config, nav)
2020-07-03T15:17:42.9672790Z   File "/usr/local/lib/python3.8/site-packages/mkdocs/commands/build.py", line 93, in _build_template
2020-07-03T15:17:42.9672967Z     output = template.render(context)
2020-07-03T15:17:42.9673371Z   File "/usr/local/lib/python3.8/site-packages/jinja2/environment.py", line 1090, in render
2020-07-03T15:17:42.9673549Z     self.environment.handle_exception()
2020-07-03T15:17:42.9674196Z   File "/usr/local/lib/python3.8/site-packages/jinja2/environment.py", line 832, in handle_exception
2020-07-03T15:17:42.9674393Z     reraise(*rewrite_traceback_stack(source=source))
2020-07-03T15:17:42.9674919Z   File "/usr/local/lib/python3.8/site-packages/jinja2/_compat.py", line 28, in reraise
2020-07-03T15:17:42.9675077Z     raise value.with_traceback(tb)
2020-07-03T15:17:42.9675497Z   File "/usr/local/lib/python3.8/site-packages/material/404.html", line 4, in top-level template code
2020-07-03T15:17:42.9675678Z     {% extends "base.html" %}
2020-07-03T15:17:42.9676100Z   File "/usr/local/lib/python3.8/site-packages/material/base.html", line 176, in top-level template code
2020-07-03T15:17:42.9676275Z     {% block footer %}
2020-07-03T15:17:42.9676682Z   File "/usr/local/lib/python3.8/site-packages/material/base.html", line 177, in block "footer"
2020-07-03T15:17:42.9676860Z     {% include "partials/footer.html" %}
2020-07-03T15:17:42.9677308Z   File "/usr/local/lib/python3.8/site-packages/material/partials/footer.html", line 55, in top-level template code
2020-07-03T15:17:42.9677487Z     {% include "partials/social.html" %}
2020-07-03T15:17:42.9677910Z   File "/usr/local/lib/python3.8/site-packages/material/partials/social.html", line 10, in top-level template code
2020-07-03T15:17:42.9678097Z     {% include ".icons/" ~ social.icon ~ ".svg" %}
2020-07-03T15:17:42.9678503Z   File "/usr/local/lib/python3.8/site-packages/jinja2/loaders.py", line 199, in get_source
2020-07-03T15:17:42.9678678Z     raise TemplateNotFound(template)
2020-07-03T15:17:42.9679051Z jinja2.exceptions.TemplateNotFound: .icons/octicons/octoface-16.svg

How to solve it? Please help me ๐Ÿ˜ข

Question: How to build docs that have other private github dependencies

There are potentially two issues at play here.

When I build docs that have no dependencies they can't reference the local modules (for autodoc pieces), to get around this i've added . to requirements.txt and it works fine. Is there something I have missed that would allow it to reference the local modules without having to explicitly install them?

And if not, we provide an SSH key when we are pip installing our repos with dependencies, the SSH key has access to the dependencies.

When using this action it installs inside the alpine docker container, and has no way to access the SSH key, is there a way to provide custom env vars to the docker image so it has access to them when installing?

How to deploy the pages to another remote?

Hello,

Is there a way to add remote configuration for mkdocs gh-deploy command in Github Action environment?

I am holding the docs in a private repo, and I want the docs to be pushed to another remote repo that is publicly available.

The command mkdocs gh-deploy can specify the remote by --remote option, I don't know how to use it in a Github Action environment.

Any suggestions? I have tried to add remote as the following URL:

https://$USER_NAME:[email protected]/$DESTINATION_REPOSITORY_USERNAME/$DESTINATION_REPOSITORY_NAME.git

But this gives the following error

remote: Permission to xxx/blog.git denied to github-actions[bot].

how to create gh-pages branch

I've been using your script in several projects, but when templating a new one I cannot recall how to make gh-pages branch/

Should I create it manually? After running the script it is not created, I get README.md displayed in my gtihub.io page.

this is probably very silly situation and should have a simple answer that I do not see.

Allow using deploy key with write access

Personal access tokens provide access to all repositories which I'd like to avoid. Alternatively, it's possible to limit access to only a single repo with per-project SSH deploy keys with repo write access. Maybe you'd like to add this as an alternative method?

As a starting point, I'm using a script like this in my project:

#!/bin/bash
set -euxo pipefail

ROOT="$(cd "$(dirname "$0")" && pwd)"
cd "$ROOT"

source .venv/bin/activate

./prepare-docs.sh

if [ -n "${GITHUB_REPOSITORY:-}" ] && ! git config --get user.name; then
  git config --global user.name "${GITHUB_ACTOR}"
  git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
  git remote rm origin
  git remote add origin "[email protected]:${GITHUB_REPOSITORY}.git"
  eval "$(ssh-agent)"
  ssh-add <(echo "$GH_PAGES_DEPLOY_KEY")
  trap "ssh-agent -k" EXIT
fi

mkdocs gh-deploy --config-file "$ROOT/mkdocs.yml" --force

mkdocs-jupyter plugin installation fails: ERROR: Failed building wheel for pyzmq

Hi, thanks for this github action, it is working great but I have troubles to install a plugin. I am trying to use the mkdocs-jupyter plugin, which depends on pyzmq. I have added a requirements.txt and specified the path the REQUIREMENTS environment variable of this github action. I have also added EXTRA_PACKAGES: build-base. Unfortunately the build fails because of missing headers.

ERROR: Failed building wheel for pyzmq

Any ideas how to fix this issue? I guess I have to install some additional packages?

fatal: unsafe repository ('/github/workspace' is owned by someone else)

INFO: Setting custom domain for github pages
INFO: Setting custom path for mkdocs config yml
fatal: unsafe repository ('/github/workspace' is owned by someone else)
To add an exception for this directory, call:
	git config --global --add safe.directory /github/workspace
INFO: setup with GITHUB_TOKEN

Full ci run can be found here: https://github.com/fire1ce/3os.org/runs/7062633544
More info at: actions/checkout#766

Thanks in advance

Master is failing after the last dependency update

Run mhausenblas/mkdocs-deploy-gh-pages@master
/usr/bin/docker run --name a33c1dba71b14572c4c8b9ac5a6334e2dacee_4c5373 --label 8a33c1 --workdir /github/workspace --rm -e GITHUB_TOKEN -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/amundsen/amundsen":"/github/workspace" 8a33c1:dba71b14572c4c8b9ac5a6334e2dacee
WARNING: The directory '/github/home/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting mkdocs==1.1
  Downloading mkdocs-1.1-py2.py3-none-any.whl (6.4 MB)
Collecting mkdocs-material==4.6.3
  Downloading mkdocs_material-4.6.3-py2.py3-none-any.whl (723 kB)
Collecting mkdocs-redirects==1.0.0
  Downloading mkdocs-redirects-1.0.0.tar.gz (4.7 kB)
Requirement already satisfied: click>=3.3 in /usr/local/lib/python3.9/site-packages (from mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (8.0.1)
Requirement already satisfied: Markdown>=3.2.1 in /usr/local/lib/python3.9/site-packages (from mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (3.3.4)
Requirement already satisfied: Jinja2>=2.10.1 in /usr/local/lib/python3.9/site-packages (from mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (3.0.1)
Requirement already satisfied: PyYAML>=3.10 in /usr/local/lib/python3.9/site-packages (from mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (5.4.1)
Collecting lunr[languages]==0.5.6
  Downloading lunr-0.5.6-py2.py3-none-any.whl (36 kB)
Collecting tornado>=5.0
  Downloading tornado-6.1.tar.gz (497 kB)
Collecting livereload>=2.5.1
  Downloading livereload-2.6.3.tar.gz (25 kB)
Requirement already satisfied: Pygments>=2.4 in /usr/local/lib/python3.9/site-packages (from mkdocs-material==4.6.3->-r /github/workspace/requirements.txt (line 2)) (2.9.0)
Requirement already satisfied: pymdown-extensions>=6.3 in /usr/local/lib/python3.9/site-packages (from mkdocs-material==4.6.3->-r /github/workspace/requirements.txt (line 2)) (8.2)
Requirement already satisfied: six>=1.11.0 in /usr/local/lib/python3.9/site-packages (from lunr[languages]==0.5.6->mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (1.16.0)
Collecting future>=0.16.0
  Downloading future-0.18.2.tar.gz (829 kB)
Collecting nltk>=3.2.5
  Downloading nltk-3.6.2-py3-none-any.whl (1.5 MB)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/site-packages (from Jinja2>=2.10.1->mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (2.0.1)
Collecting tqdm
  Downloading tqdm-4.61.1-py2.py3-none-any.whl (75 kB)
Collecting regex
  Downloading regex-2021.4.4.tar.gz (693 kB)
Collecting joblib
  Downloading joblib-1.0.1-py3-none-any.whl (303 kB)
Building wheels for collected packages: mkdocs-redirects, future, livereload, tornado, regex
  Building wheel for mkdocs-redirects (setup.py): started
  Building wheel for mkdocs-redirects (setup.py): finished with status 'done'
  Created wheel for mkdocs-redirects: filename=mkdocs_redirects-1.0.0-py3-none-any.whl size=5186 sha256=1a49b9bc1141a19e10d5593039073cdad05c12d2c998c7a8207e6bcdd1fb130b
  Stored in directory: /tmp/pip-ephem-wheel-cache-_gvakssf/wheels/9f/7e/68/0bab83152a3c29b686f28a1c2ebbf7c27dab44e6d599e39f6a
  Building wheel for future (setup.py): started
  Building wheel for future (setup.py): finished with status 'done'
  Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491059 sha256=3dd2205ecf14900d4d4a488c31be3112588a1d71c7b6ff6f24447d66f373d4af
  Stored in directory: /tmp/pip-ephem-wheel-cache-_gvakssf/wheels/2f/a0/d3/4030d9f80e6b3be787f19fc911b8e7aa462986a40ab1e4bb94
  Building wheel for livereload (setup.py): started
  Building wheel for livereload (setup.py): finished with status 'done'
  Created wheel for livereload: filename=livereload-2.6.3-py2.py3-none-any.whl size=24713 sha256=ac98617c1892e947d00a19a86df90cf14f36bb732dc9f3bb2f9d7f39298f3683
  Stored in directory: /tmp/pip-ephem-wheel-cache-_gvakssf/wheels/2a/a6/91/40395ea3d02fd9244dc79b039776bb45a4c86560b117a8c09c
  Building wheel for tornado (setup.py): started
  Building wheel for tornado (setup.py): finished with status 'done'
  Created wheel for tornado: filename=tornado-6.1-cp39-cp39-linux_x86_64.whl size=414477 sha256=a913b9cae5c43f16f287562dafd3678680bc28f05c6100ae961b5d19a2766274
  Stored in directory: /tmp/pip-ephem-wheel-cache-_gvakssf/wheels/e6/6b/c3/dbb71bdabdc4681fb3cdf364f2c969f39ebc13c1a512cf6e43
  Building wheel for regex (setup.py): started
  Building wheel for regex (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-f7emy31e
       cwd: /tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/
  Complete output (18 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/regex
  copying regex_3/__init__.py -> build/lib.linux-x86_64-3.9/regex
  copying regex_3/regex.py -> build/lib.linux-x86_64-3.9/regex
  copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.9/regex
  copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.9/regex
  warning: build_py: byte-compiling is disabled, skipping.
  
  running build_ext
  building 'regex._regex' extension
  creating build/temp.linux-x86_64-3.9
  creating build/temp.linux-x86_64-3.9/regex_3
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.9 -c regex_3/_regex.c -o build/temp.linux-x86_64-3.9/regex_3/_regex.o
  error: command 'gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for regex
  Running setup.py clean for regex
Successfully built mkdocs-redirects future livereload tornado
Failed to build regex
Installing collected packages: tqdm, regex, joblib, future, tornado, nltk, lunr, livereload, mkdocs, mkdocs-redirects, mkdocs-material
    Running setup.py install for regex: started
    Running setup.py install for regex: finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dzbg4_cr/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/regex
         cwd: /tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/
    Complete output (18 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.9
    creating build/lib.linux-x86_64-3.9/regex
    copying regex_3/__init__.py -> build/lib.linux-x86_64-3.9/regex
    copying regex_3/regex.py -> build/lib.linux-x86_64-3.9/regex
    copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.9/regex
    copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.9/regex
    warning: build_py: byte-compiling is disabled, skipping.
    
    running build_ext
    building 'regex._regex' extension
    creating build/temp.linux-x86_64-3.9
    creating build/temp.linux-x86_64-3.9/regex_3
    gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.9 -c regex_3/_regex.c -o build/temp.linux-x86_64-3.9/regex_3/_regex.o
    error: command 'gcc' failed: No such file or directory
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dzbg4_cr/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/regex Check the logs for full command output.

Changes accompanying GitHub Actions support for GitHub Pages

GitHub Pages now default to building with GitHub Actions:
https://github.blog/2022-08-10-github-pages-now-uses-actions-by-default/
Related article: https://github.blog/changelog/2022-07-27-github-pages-custom-github-actions-workflows-beta/

Along with that, a new specification has been added to GitHub Actions:
https://github.com/actions/starter-workflows/tree/main/pages

Since the token can probably be removed, it would be beneficial for the user to support this.

p.s. I found this GitHub Actions useful and have added it to the MkDocs Wiki.
https://github.com/mkdocs/mkdocs/wiki/Mkdocs-Deployments

Error: The "****" plugin is not installed

my github aciton workflow

name: Publish docs via GitHub Pages
on:
  push:
    branches:
      - master

jobs:
  build:
    name: 
      Deploy docs
    runs-on: 
      ubuntu-latest
    steps:
      - name: Checkout master
        uses: 
          actions/checkout@v2

      - name: Install Python
        uses: actions/setup-python@v1
        with:
            python-version: 3.8
      
      - name: Install plugins
        run: | 
          python -m pip install --upgrade pip setuptools wheel
          pip install mkdocs-minify-plugin==0.3.0
          pip install mkdocs-blog-plugin
         
      - name: Deploy docs
        uses: 
          mhausenblas/mkdocs-deploy-gh-pages@master
        env:
          GITHUB_TOKEN: 
            ${{ secrets.MKDOCS_MATERIAL_PERSONAL_TOKEN }}
          CUSTOM_DOMAIN: 
            example.com

Job log

Collecting mkdocs-blog-plugin
  Downloading mkdocs-blog-plugin-0.25.tar.gz (6.1 kB)
Building wheels for collected packages: mkdocs-blog-plugin
  Building wheel for mkdocs-blog-plugin (setup.py): started
  Building wheel for mkdocs-blog-plugin (setup.py): finished with status 'done'
  Created wheel for mkdocs-blog-plugin: filename=mkdocs_blog_plugin-0.25-py3-none-any.whl size=6734 sha256=917a8de9b5681b7f44fabc0673e7a311e2f5f414d53fdb90e78581e2ecad1d59
  Stored in directory: /home/runner/.cache/pip/wheels/aa/f5/33/0501b96a5cd0f8964a2379ba14009e7cbd40d0059cc90e9184
Successfully built mkdocs-blog-plugin
Installing collected packages: mkdocs-blog-plugin
+ Successfully installed mkdocs-blog-plugin-0.25

throw the error: The "blog" plugin is not installed when deploy docs

Run mhausenblas/mkdocs-deploy-gh-pages@master
/usr/bin/docker run --name fe6a5d74307542139e103955add9ce0f_f99c24 --label 442333 --workdir /github/workspace --rm -e pythonLocation -e GITHUB_TOKEN -e CUSTOM_DOMAIN -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/mkdocs-material/mkdocs-material":"/github/workspace" 442333:fe6a5d74307542139e103955add9ce0f
INFO: Setting custom domain for github pages
INFO: setup with GITHUB_TOKEN
- ERROR   -  Config value: 'plugins'. Error: The "blog" plugin is not installed 

Thanks a lot, this is the plugin repo: mkdocs-blog-plugin

question about requirements.txt

I have requirements.txt for my python package, but not related to documentation, the docs just depend on mkdocs and that is it. Why does Actions need to rely on requirements.txt to build docs? (I currently have a fault in numpy installation that blocks building the docs). When I rename requirements the Action passes fine.

if [ -n "${REQUIREMENTS}" ] && [ -f "${GITHUB_WORKSPACE}/${REQUIREMENTS}" ]; then
pip install -r "${GITHUB_WORKSPACE}/${REQUIREMENTS}"
else
REQUIREMENTS="${GITHUB_WORKSPACE}/requirements.txt"
if [ -f "${REQUIREMENTS}" ]; then
pip install -r "${REQUIREMENTS}"
fi
fi

Duplicate domain name in url

Hi, thanks for creating this action!
I've been tasked with moving our self-hosted documentation to github pages. Before the switch to your action, our documentation used to be build by a 'gradle mkdocsbuild' command in our CICD pipeline. On GitHub, the documentation is being built through an action as part of an organization page, however instead of serving on https://foo.github.io, it's actually being served on https://foo.github.io/foo.github.io. On https://foo.github.io I simply get the home page without any theme applied, nor navigation/header/footer.
If I use the custom domain name environment variable and set it to foo.github.io, the site is served as expected.
I'm quite unfamiliar with mkdocs, is this a bug related to organization pages vs project pages, incorrect configuration in my mkdocs configuration, or expected behaviour?
Thanks!

GH Pages do not deploy when using GITHUB_TOKEN

The site is published to gh-pages as expected, but the build of the site itself is not performed due to authorization being performed with GITHUB_TOKEN rather than personal token.

This will however work for private repositories.

Command '['git', 'push', 'origin', 'gh-pages', '--force']' returned non-zero exit status 1

Hello. I'm not sure why, but mkdocs-deploy-gh-pages is failing for my repository. Is there any way I can investigate what might be happening?

Could my repository's private visibility be causing this? FWIW running mkdocs gh-deploy manually from my local machine is working fine.

error: failed to push some refs to 'https://github.com/saket/telephoto.git'
Traceback (most recent call last):
  File "/usr/local/bin/mkdocs", line 8, in <module>
    sys.exit(cli())
             ^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/mkdocs/__main__.py", line 280, in gh_deploy_command
    gh_deploy.gh_deploy(
  File "/usr/local/lib/python3.11/site-packages/mkdocs/commands/gh_deploy.py", line 1[27](https://github.com/saket/telephoto/actions/runs/4827005497/jobs/8599397999#step:4:28), in gh_deploy
    ghp_import.ghp_import(
  File "/usr/local/lib/python3.11/site-packages/ghp_import.py", line [28](https://github.com/saket/telephoto/actions/runs/4827005497/jobs/8599397999#step:4:29)3, in ghp_import
    git.check_call('push', opts['remote'], opts['branch'], '--force')
  File "/usr/local/lib/python3.11/site-packages/ghp_import.py", line 119, in check_call
    sp.check_call(['git'] + list(args), **kwargs)
  File "/usr/local/lib/python3.11/subprocess.py", line [41](https://github.com/saket/telephoto/actions/runs/4827005497/jobs/8599397999#step:4:42)3, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', 'push', 'origin', 'gh-pages', '--force']' returned non-zero exit status 1.
##[debug]Docker Action run completed with exit code 1
##[debug]Finishing: Deploy docs

Here's my action file:

name: Publish project website

on:
  push:
    branches: [ trunk ]

jobs:
  deploy-website:
    name: Deploy mkdocs
    runs-on: ubuntu-latest

    steps:
      - name: Checkout the repo
        uses: actions/checkout@v3

      - name: Deploy docs
        uses: mhausenblas/[email protected]
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CONFIG_FILE: mkdocs.yml
          REQUIREMENTS: .github/workflows/mkdocs_requirements.txt

Add support for Pymdown-extensions 7.0

When adding pymdown-extension==7.0 to requirements.txt, I get the following error:

ERROR: mkdocs-material 4.6.0 has requirement pymdown-extensions<6.3,>=6.2, but you'll have pymdown-extensions 7.0 which is incompatible.
ERROR: pymdown-extensions 7.0 has requirement Markdown>=3.2, but you'll have markdown 3.1.1 which is incompatible.

For reference, I would like to use pymdownx.tabbed. a new feature in 7.0.

PDF-generator plugins fail in "Deploy docs" step

My goal is to generate a pdf from my mkdocs. Docs are working great, but I am unable to use "generate pdf" plugins.

Trying to get with-pdf to work, but without success.

Configuration

mkdocs.yml

...
plugins:
  - search
  - with-pdf

requirements.txt

mkdocs-with-pdf

workflow.yml

jobs:
  build:
    name: Deploy docs
    runs-on: ubuntu-latest
    steps:
      - name: Checkout main
        uses: actions/checkout@v2

      - name: Deploy docs
        uses: mhausenblas/mkdocs-deploy-gh-pages@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CONFIG_FILE: docs/mkdocs.yml
          REQUIREMENTS: docs/requirements.txt
Workflow error output

โœ… Setup job
โœ… Build mhausenblas/mkdocs-deploy-gh-pages@master
โœ… Checkout main
โŒ Deploy docs:

Run mhausenblas/mkdocs-deploy-gh-pages@master
  env:
    GITHUB_TOKEN: ***
    CONFIG_FILE: docs/mkdocs.yml
    REQUIREMENTS: docs/requirements.txt
/usr/bin/docker run --name de33c73e5c6604e18908064f031ae1b5b_8afbe9 --label 08450d --workdir /github/workspace --rm -e GITHUB_TOKEN -e CONFIG_FILE -e REQUIREMENTS -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e GITHUB_STEP_SUMMARY -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NAME -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/ATM/ATM":"/github/workspace" 08450d:e33c73e5c6604e18908064f031ae1b5b
WARNING: The directory '/github/home/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting mkdocs-with-pdf
  Downloading mkdocs_with_pdf-0.9.3-py3-none-any.whl (46 kB)
Requirement already satisfied: mkdocs>=1.1 in /usr/local/lib/python3.9/site-packages (from mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (1.[2](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:2).[3](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:3))
Collecting beautifulsoup[4](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:4)>=4.6.3
  Downloading beautifulsoup4-4.11.1-py3-none-any.whl (128 kB)
Collecting libsass>=0.1[5](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:5)
  Downloading libsass-0.21.0.tar.gz (317 kB)
Collecting weasyprint>=0.44
  Downloading weasyprint-54.3-py3-none-any.whl (247 kB)
Collecting soupsieve>1.2
  Downloading soupsieve-2.3.2.post1-py3-none-any.whl (37 kB)
Requirement already satisfied: six in /usr/local/lib/python3.9/site-packages (from libsass>=0.15->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (1.1[6](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:6).0)
Requirement already satisfied: pyyaml-env-tag>=0.1 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (0.1)
Requirement already satisfied: mergedeep>=1.3.4 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (1.3.4)
Requirement already satisfied: click>=3.3 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (8.0.4)
Requirement already satisfied: ghp-import>=1.0 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (2.0.2)
Requirement already satisfied: PyYAML>=3.10 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (6.0)
Requirement already satisfied: importlib-metadata>=3.10 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (4.11.3)
Requirement already satisfied: Markdown>=3.2.1 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (3.3.6)
Requirement already satisfied: Jinja2>=2.10.1 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (3.0.3)
Requirement already satisfied: watchdog>=2.0 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (2.1.6)
Requirement already satisfied: packaging>=20.5 in /usr/local/lib/python3.9/site-packages (from mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (21.3)
Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.9/site-packages (from ghp-import>=1.0->mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (2.8.2)
Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.9/site-packages (from importlib-metadata>=3.10->mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (3.[7](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:7).0)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/site-packages (from Jinja2>=2.10.1->mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (2.1.1)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.9/site-packages (from packaging>=20.5->mkdocs>=1.1->mkdocs-with-pdf->-r /github/workspace/docs/requirements.txt (line 1)) (3.0.7)
Collecting tinycss2>=1.0.0
  Downloading tinycss2-1.1.1-py3-none-any.whl (21 kB)
Collecting cssselect2>=0.1
  Downloading cssselect2-0.6.0-py3-none-any.whl (15 kB)
Collecting html5lib>=1.1
  Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB)
Collecting Pyphen>=0.9.1
  Downloading pyphen-0.12.0-py3-none-any.whl (2.0 MB)
Collecting fonttools[woff]>=4.0.0
  Downloading fonttools-4.33.3-py3-none-any.whl (930 kB)
Collecting pydyf>=0.0.3
  Downloading pydyf-0.1.2-py3-none-any.whl (6.4 kB)
Collecting cffi>=0.6
  Downloading cffi-1.15.0.tar.gz (4[8](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:8)4 kB)
Collecting Pillow>=4.0.0
  Downloading Pillow-[9](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:9).1.0.tar.gz (49.8 MB)
Collecting pycparser
  Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting webencodings
  Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting zopfli>=0.1.4
  Downloading zopfli-0.2.1.zip (205 kB)
Collecting brotli>=1.0.1
  Downloading Brotli-1.0.9.zip (5[10](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:10) kB)
Building wheels for collected packages: libsass, cffi, brotli, Pillow, zopfli
  Building wheel for libsass (setup.py): started
  ERROR: Command errored out with exit status 1:
  Building wheel for libsass (setup.py): finished with status 'error'
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rtn5scon/libsass_5651f465d8c744159fbd302a236b64cc/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rtn5scon/libsass_5651f465d8c744159fbd302a236b64cc/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-57n79z1a
       cwd: /tmp/pip-install-rtn5scon/libsass_5651f465d8c744159fbd302a236b64cc/
  Complete output (25 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  copying pysassc.py -> build/lib.linux-x86_64-3.9
  copying sass.py -> build/lib.linux-x86_64-3.9
  copying sassc.py -> build/lib.linux-x86_64-3.9
  copying sasstests.py -> build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/sassutils
  copying sassutils/builder.py -> build/lib.linux-x86_64-3.9/sassutils
  copying sassutils/wsgi.py -> build/lib.linux-x86_64-3.9/sassutils
  copying sassutils/_compat.py -> build/lib.linux-x86_64-3.9/sassutils
  copying sassutils/distutils.py -> build/lib.linux-x86_64-3.9/sassutils
  copying sassutils/__init__.py -> build/lib.linux-x86_64-3.9/sassutils
  warning: build_py: byte-compiling is disabled, skipping.
  
  running build_ext
  building '_sass' extension
  creating build/temp.linux-x86_64-3.9
  creating build/temp.linux-x86_64-3.9/libsass
  creating build/temp.linux-x86_64-3.9/libsass/src
  creating build/temp.linux-x86_64-3.9/libsass/src/memory
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -DPy_LIMITED_API -I./libsass/include -I/usr/local/include/python3.9 -c _sass.c -o build/temp.linux-x86_64-3.9/_sass.o -fPIC -std=gnu++0x -Wall -Wno-parentheses -Werror=switch -DLIBSASS_VERSION="3.6.5"
  error: command 'gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for libsass
  Running setup.py clean for libsass
  Building wheel for cffi (setup.py): started
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rtn5scon/cffi_a589070255a6409fb53f08[11](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:11)3552dd27/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rtn5scon/cffi_a589070255a6409fb53f081[13](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:13)552dd27/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-a_kfng6r
       cwd: /tmp/pip-install-rtn5scon/cffi_a589070255a6409fb53f08113552dd27/
  Complete output (47 lines):
  
      No working compiler found, or bogus compiler options passed to
      the compiler from Python's standard "distutils" module.  See
      the error messages above.  Likely, the problem is not related
      to CFFI but generic to the setup.py of any Python package that
      tries to compile C code.  (Hints: on OS/X 10.8, for errors about
      -mno-fused-madd see http://stackoverflow.com/questions/22313407/
      Otherwise, see https://wiki.python.org/moin/CompLangPython or
      the IRC channel #python on irc.libera.chat.)
  
      Trying to continue anyway.  If you are trying to install CFFI from
      a build done in a different context, you can ignore this warning.
  
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/cffi
  copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/pkgconfig.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/error.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/recompiler.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/commontypes.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/model.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/api.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/vengine_gen.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/cparser.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/ffiplatform.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/verifier.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/lock.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/__init__.py -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/_cffi_include.h -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/parse_c_type.h -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/_embedding.h -> build/lib.linux-x86_64-3.9/cffi
  copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-3.9/cffi
  warning: build_py: byte-compiling is disabled, skipping.
  
  running build_ext
  building '_cffi_backend' extension
  creating build/temp.linux-x86_64-3.9
  creating build/temp.linux-x86_64-3.9/c
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.9 -c c/_cffi_backend.c -o build/temp.linux-x86_64-3.9/c/_cffi_backend.o
  error: command 'gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for cffi
  Building wheel for cffi (setup.py): finished with status 'error'
  Running setup.py clean for cffi
  Building wheel for brotli (setup.py): started
  Building wheel for brotli (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rtn5scon/brotli_a8e2764ea09f43f5b38a508dcb888f66/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rtn5scon/brotli_a8e2764ea09f43f5b38a508dcb888f66/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-87v30vx3
       cwd: /tmp/pip-install-rtn5scon/brotli_a8e2764ea09f43f5b38a508dcb888f66/
  Complete output (19 lines):
  /usr/local/lib/python3.9/site-packages/setuptools/dist.py:642: UserWarning: Usage of dash-separated 'build-base' will not be supported in future versions. Please use the underscore name 'build_base' instead
    warnings.warn(
  running bdist_wheel
  running build
  running build_py
  creating bin
  creating bin/lib.linux-x86_64-3.9
  copying python/brotli.py -> bin/lib.linux-x86_64-3.9
  warning: build_py: byte-compiling is disabled, skipping.
  
  running build_ext
  building '_brotli' extension
  creating bin/temp.linux-x86_64-3.9
  creating bin/temp.linux-x86_64-3.9/c
  creating bin/temp.linux-x86_64-3.9/c/common
  creating bin/temp.linux-x86_64-3.9/c/dec
  creating bin/temp.linux-x86_64-3.9/c/enc
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -Ic/include -I/usr/local/include/python3.9 -c c/common/constants.c -o bin/temp.linux-x86_64-3.9/c/common/constants.o
  error: command 'gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for brotli
  Running setup.py clean for brotli
  Building wheel for Pillow (setup.py): started
  Building wheel for Pillow (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
  Running setup.py clean for Pillow
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rtn5scon/pillow_b505fe6f35e6401ab1f358ff5170e8e0/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rtn5scon/pillow_b505fe6f35e6401ab1f358ff5170e8e0/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-47a1ni25
       cwd: /tmp/pip-install-rtn5scon/pillow_b505fe6f35e6401ab1f358ff5170e8e0/
  Complete output (178 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/DdsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/CurImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/GimpGradientFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/GifImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageFilter.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/MspImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ContainerIO.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PcfFontFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/TarIO.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageShow.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageMath.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/FtexImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/Jpeg2KImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageMode.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PyAccess.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/TiffTags.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageQt.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageDraw.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageWin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/_binary.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/_version.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/MpoImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageTk.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/__main__.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PSDraw.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/FontFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImagePath.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageStat.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/BdfFontFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageColor.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/SunImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageCms.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageTransform.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageOps.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/features.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageSequence.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PdfParser.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/MicImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/JpegPresets.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageGrab.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/FitsImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageEnhance.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/BlpImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/_util.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PaletteFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageMorph.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageFont.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PngImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImagePalette.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ExifTags.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/__init__.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageChops.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/GdImageFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/ImageDraw2.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/Image.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/WalImageFile.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/_tkinter_finder.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  copying src/PIL/FliImagePlugin.py -> build/lib.linux-x86_64-3.9/PIL
  running egg_info
  writing src/Pillow.egg-info/PKG-INFO
  writing dependency_links to src/Pillow.egg-info/dependency_links.txt
  writing requirements to src/Pillow.egg-info/requires.txt
  writing top-level names to src/Pillow.egg-info/top_level.txt
  reading manifest file 'src/Pillow.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching '*.c'
  warning: no files found matching '*.h'
  warning: no files found matching '*.sh'
  warning: no files found matching '*.txt'
  warning: no previously-included files found matching '.appveyor.yml'
  warning: no previously-included files found matching '.clang-format'
  warning: no previously-included files found matching '.coveragerc'
  warning: no previously-included files found matching '.editorconfig'
  warning: no previously-included files found matching '.readthedocs.yml'
  warning: no previously-included files found matching 'codecov.yml'
  warning: no previously-included files matching '.git*' found anywhere in distribution
  warning: no previously-included files matching '*.pyc' found anywhere in distribution
  warning: no previously-included files matching '*.so' found anywhere in distribution
  no previously-included directories found matching '.ci'
  writing manifest file 'src/Pillow.egg-info/SOURCES.txt'
  warning: build_py: byte-compiling is disabled, skipping.
  
  running build_ext
  
  
  The headers or library files could not be found for zlib,
  a required dependency when compiling Pillow from source.
  
  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html
  
  Traceback (most recent call last):
    File "/tmp/pip-install-rtn5scon/pillow_b505fe6f35e6401ab1f358ff5170e8e0/setup.py", line 989, in <module>
      setup(
    File "/usr/local/lib/python3.9/site-packages/setuptools/__init__.py", line 153, in setup
      return distutils.core.setup(**attrs)
    File "/usr/local/lib/python3.9/distutils/core.py", line [14](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:14)8, in setup
      dist.run_commands()
    File "/usr/local/lib/python3.9/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 299, in run
      self.run_command('build')
    File "/usr/local/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.9/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/local/lib/python3.9/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.9/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.9/site-packages/setuptools/command/build_ext.py", line 79, in run
      _build_ext.run(self)
    File "/usr/local/lib/python3.9/distutils/command/build_ext.py", line 340, in run
      self.build_extensions()
    File "/tmp/pip-install-rtn5scon/pillow_b505fe6f35e6401ab1f358ff5170e8e0/setup.py", line 804, in build_extensions
      raise RequiredDependencyException(f)
  __main__.RequiredDependencyException: zlib
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-rtn5scon/pillow_b505fe6f35e6401ab1f358ff5170e8e0/setup.py", line 1009, in <module>
      raise RequiredDependencyException(msg)
  __main__.RequiredDependencyException:
  
  The headers or library files could not be found for zlib,
  a required dependency when compiling Pillow from source.
  
  Please see the install instructions at:
     https://pillow.readthedocs.io/en/latest/installation.html
  
  
  ----------------------------------------
  ERROR: Failed building wheel for Pillow
  Building wheel for zopfli (setup.py): started
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rtn5scon/zopfli_696afc5f3ab6475983ecd697869[15](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:15)3db/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rtn5scon/zopfli_696afc5f3ab6475983ecd697869153db/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-e4y61ztz
  Building wheel for zopfli (setup.py): finished with status 'error'
       cwd: /tmp/pip-install-rtn5scon/zopfli_696afc5f3ab6475983ecd697869153db/
  Complete output (33 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/zopfli
  copying src/zopfli/png.py -> build/lib.linux-x86_64-3.9/zopfli
  copying src/zopfli/_version.py -> build/lib.linux-x86_64-3.9/zopfli
  copying src/zopfli/__init__.py -> build/lib.linux-x86_64-3.9/zopfli
  copying src/zopfli/zlib.py -> build/lib.linux-x86_64-3.9/zopfli
  copying src/zopfli/gzip.py -> build/lib.linux-x86_64-3.9/zopfli
  running egg_info
  writing src/zopfli.egg-info/PKG-INFO
  writing dependency_links to src/zopfli.egg-info/dependency_links.txt
  writing requirements to src/zopfli.egg-info/requires.txt
  writing top-level names to src/zopfli.egg-info/top_level.txt
  listing git files failed - pretending there aren't any
  reading manifest file 'src/zopfli.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  writing manifest file 'src/zopfli.egg-info/SOURCES.txt'
  warning: build_py: byte-compiling is disabled, skipping.
  
  running build_ext
  building 'zopfli.zopfli' extension
  creating build/temp.linux-x86_64-3.9
  creating build/temp.linux-x86_64-3.9/src
  creating build/temp.linux-x86_64-3.9/zopfli
  creating build/temp.linux-x86_64-3.9/zopfli/src
  creating build/temp.linux-x86_64-3.9/zopfli/src/zopfli
  creating build/temp.linux-x86_64-3.9/zopfli/src/zopflipng
  creating build/temp.linux-x86_64-3.9/zopfli/src/zopflipng/lodepng
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.9 -c src/zopflimodule.c -o build/temp.linux-x86_64-3.9/src/zopflimodule.o
  error: command 'gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for zopfli
  Running setup.py clean for zopfli
Failed to build libsass cffi brotli Pillow zopfli
Installing collected packages: webencodings, zopfli, tinycss2, pycparser, fonttools, brotli, soupsieve, Pyphen, pydyf, Pillow, html5lib, cssselect2, cffi, weasyprint, libsass, beautifulsoup4, mkdocs-with-pdf
    Running setup.py install for zopfli: started
    ERROR: Command errored out with exit status 1:
    Running setup.py install for zopfli: finished with status 'error'
     command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rtn5scon/zopfli_696afc5f3ab6475983ecd697869153db/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rtn5scon/zopfli_696afc5f3ab6475983ecd697869153db/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vfpfal0_/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/zopfli
         cwd: /tmp/pip-install-rtn5scon/zopfli_696afc5f3ab6475983ecd697869153db/
    Complete output (33 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.9
    creating build/lib.linux-x86_64-3.9/zopfli
    copying src/zopfli/png.py -> build/lib.linux-x86_64-3.9/zopfli
    copying src/zopfli/_version.py -> build/lib.linux-x86_64-3.9/zopfli
    copying src/zopfli/__init__.py -> build/lib.linux-x86_64-3.9/zopfli
    copying src/zopfli/zlib.py -> build/lib.linux-x86_64-3.9/zopfli
    copying src/zopfli/gzip.py -> build/lib.linux-x86_64-3.9/zopfli
    running egg_info
    writing src/zopfli.egg-info/PKG-INFO
    writing dependency_links to src/zopfli.egg-info/dependency_links.txt
    writing requirements to src/zopfli.egg-info/requires.txt
    writing top-level names to src/zopfli.egg-info/top_level.txt
    listing git files failed - pretending there aren't any
    reading manifest file 'src/zopfli.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'src/zopfli.egg-info/SOURCES.txt'
    warning: build_py: byte-compiling is disabled, skipping.
    
    running build_ext
    building 'zopfli.zopfli' extension
    creating build/temp.linux-x86_64-3.9
    creating build/temp.linux-x86_64-3.9/src
    creating build/temp.linux-x86_64-3.9/zopfli
    creating build/temp.linux-x86_64-3.9/zopfli/src
    creating build/temp.linux-x86_64-3.9/zopfli/src/zopfli
    creating build/temp.linux-x86_64-3.9/zopfli/src/zopflipng
    creating build/temp.linux-x86_64-3.9/zopfli/src/zopflipng/lodepng
    gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.9 -c src/zopflimodule.c -o build/temp.linux-x86_64-3.9/src/zopflimodule.o
    error: command 'gcc' failed: No such file or directory
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-rtn5scon/zopfli_696afc5f3ab6475983ecd697869153db/setup.py'"'"'; __file__='"'"'/tmp/pip-install-rtn5scon/zopfli_696afc5f3ab6475983ecd697869153db/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vfpfal0_/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/zopfli Check the logs for full command output.
WARNING: You are using pip version [21](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:21).0.1; however, version [22](https://github.com/thieleju/ATM/runs/6377608802?check_suite_focus=true#step:4:22).0.4 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.

I even tried different pdf-creator plugins, but it always fails here in the deploy docs job.

...
Building wheel for libsass (setup.py): started
ERROR: Command errored out with exit status 1:
...

Does this mean that "pdf-creator" plugins are currently not supported because of something underlying or am I missing packages?

fatal: not a git reposotiry

I have been following the steps in from this page:
https://github.com/marketplace/actions/deploy-mkdocs

But I get:

INFO: setup with GITHUB_TOKEN
fatal: not a git repository (or any parent up to mount point /github)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Run ls -lah
total 28K
drwxr-xr-x 4 root root 4.0K Oct 11 13:53 .
drwxr-xr-x 3 root root 4.0K Oct 11 09:16 ..
drwxrwxr-x 9 root root 4.0K Oct 11 13:53 docs
drwxrwxr-x 3 root root 4.0K Oct 11 13:53 .github
-rw-rw-r-- 1 root root  471 Oct 11 13:53 mkdocs.yml
-rw-rw-r-- 1 root root   78 Oct 11 13:53 README.md
-rw-rw-r-- 1 root root  118 Oct 11 13:53 requirements.txt

I am not sure how to go from here ?

Add support for custom domains

Github pages supports custom domains by providing a CNAME file with a FQDN value on the root directory of the branch.

Using this action with custom domains, one would need to re-add the CNAME file each time the action runs, as this it does not persist.

It would be great to have a option for setting the custom domain in the .yml, which would generate the CNAME file on build.

Add github.token as default credential

ref: https://rammusxu.github.io/toolkit/snippets/github-action/#but-githubtoken-can-be-get-in-actionyaml

It's a little trick.
Do you think it's ok to add this since almost every use this action to deploy in same repo. And default github action have enough permission.

# action.yaml
inputs:
  auth_token:
    description: 'Auth token used to API'
    required: true
    default: "${{ github.token }}

So, It would be more UX friendly.

name: Publish docs via GitHub Pages
on:
  push:
    branches:
      - master

jobs:
  build:
    name: Deploy docs
    runs-on: ubuntu-latest
    steps:
      - name: Checkout master
        uses: actions/checkout@v1

      - name: Deploy docs
        uses: mhausenblas/mkdocs-deploy-gh-pages@master

I can create a PR if you think it's ok.

always in strict mode?

Hello, I just try you action, but the run abort with the message:

WARNING - Documentation file 'Beispiel2.md' contains a link to 'docs/images/test.svg' which is not found in the documentation files.
WARNING - Documentation file 'Beispiel2.md' contains a link to 'docs/tier.uxf.svg' which is not found in the documentation files.

Aborted with 2 warnings in strict mode!

But in my mkdocs.yml I disbaled the strict mode...

site_name: MyTest

strict: false

nav:
    - Home: bsp.md```

fatal: no path specified on deploy step

I think I missed something evident here, but I'm trying to use your deploy action, but get an error. The build failed in "Deploy docs" step:

Run mhausenblas/mkdocs-deploy-gh-pages@master
/usr/bin/docker run --name e87b52f2ef527d90a8492b9ca0f5d3d01dace3_2f656e --label e87b52 --workdir /github/workspace --rm -e PERSONAL_TOKEN -e HOME -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e GITHUB_ACTIONS=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/mkdocs_test/mkdocs_test":"/github/workspace" e87b52:f2ef527d90a8492b9ca0f5d3d01dace3
INFO    -  Cleaning site directory 
INFO    -  Building documentation to directory: /github/workspace/site 
WARNING -  Version check skipped: No version specificed in previous deployment. 
INFO    -  Copying '/github/workspace/site' to 'gh-pages' branch and pushing to GitHub. 
ERROR   -  Failed to deploy to GitHub with error: 
fatal: no path specified; see 'git help pull' for valid url syntax

You can see me config file here:
https://github.com/Briffou/mkdocs_test/blob/master/.github/workflows/build_mkdocs.yml

Do you have an hint ? (first time I use a "Github Actions")

Force push to `gh-pages`

I'm using action on push in master branch to auto deploy my docs on my custom domain via GitHub pages but mkdocs-deploy-gh-pages force pushes site build to gh-pages branch which removed CNAME file and every time GitHub deploys site to default URL instead of my custom domain.

I'm not able to solve this by reading documentation, not sure if there is any flag to force push or not.
If not, is there any alternative so that GitHub deploys site to my custom domain?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.