New Upstream Snapshot - ghp-import

Ready changes

Summary

Merged new upstream version: 2.1.0+git20220611.2.5219f00 (was: 2.1.0+git20220611.1.5219f00).

Resulting package

Built on 2022-12-18T14:01 (took 5m14s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-snapshots ghp-import

Lintian Result

Diff

diff --git a/.circleci/config.yml b/.circleci/config.yml
deleted file mode 100644
index 0f091b6..0000000
--- a/.circleci/config.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-version: 2
-
-jobs:
-  test:
-    docker:
-      - image: circleci/python
-    steps:
-      - checkout
-      - run: make install
-      - run: git config --global user.name "ghp-import-bot" && git config --global user.email "ghp@import.bot"
-      - run: make -e DOCS_BRANCH="test-circleci-$CIRCLE_BUILD_NUM" docs clean
-
-workflows:
-  version: 2
-  main:
-    jobs:
-      - test:
-          filters:
-            branches:
-              only:
-                - master
diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml
deleted file mode 100644
index ba65031..0000000
--- a/.github/workflows/cd.yaml
+++ /dev/null
@@ -1,35 +0,0 @@
-name: CD
-
-on:
-  push:
-    branches:
-      - master
-
-jobs:
-  gh-pages:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-      - uses: actions/setup-python@v2
-        with:
-          python-version: '3.9'
-      - run: git remote set-url --push origin "https://:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}"
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      - run: make install
-      - run: make docs
-
-  pypi:
-    runs-on: ubuntu-latest
-    if: "startsWith(github.event.head_commit.message, 'This is ')"
-
-    steps:
-      - uses: actions/checkout@v2
-      - uses: actions/setup-python@v2
-        with:
-          python-version: '3.9'
-      - run: make install
-      - run: make release
-        env:
-          TWINE_USERNAME: __token__
-          TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
deleted file mode 100644
index 9464d2a..0000000
--- a/.github/workflows/ci.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-name: CI
-
-on: [pull_request]
-
-jobs:
-  ci:
-    runs-on: ${{ matrix.os }}-latest
-    strategy:
-      matrix:
-        python-version: ['2.7', '3.9']
-        os: [ubuntu, windows, macos]
-        opts: ['--shell', '']
-
-    steps:
-      - uses: actions/checkout@v2
-      - uses: actions/setup-python@v2
-        with:
-          python-version: ${{ matrix.python-version }}
-      - run: make install
-      - run: make lint
-      - run: make -e DOCS_OPTS="${{ matrix.opts }}" docs
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index df774a4..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-.idea/
-.vscode/
-build/
-dist/
-venv/
-*.pyc
-__pycache__/
-ghp_import.egg-info/
-docs/index.html
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 81ac14e..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-language: python
-
-branches:
-  only:
-    - master
-
-install:
-  - make install
-
-before_script:
-  - git remote add github "https://${GITHUB_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git" 2>&1 >/dev/null
-  - export GIT_COMMITTER_NAME="ghp-import-bot"
-  - export GIT_COMMITTER_EMAIL="ghp@import.bot"
-
-script:
-  - make -e DOCS_BRANCH="test-travis-${TRAVIS_BUILD_NUMBER}" -e DOCS_REMOTE=github docs clean
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 32c1404..0000000
--- a/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-DOCS_BRANCH := gh-pages
-DOCS_REMOTE := origin
-DOCS_OPTS := -p
-
-install:
-	pip install -e .[dev]
-
-lint:
-	flake8 ./ghp_import.py ./setup.py ./docs/build.py
-
-docs:
-	python ./docs/build.py
-	ghp-import $(DOCS_OPTS) docs/ -b $(DOCS_BRANCH) -r $(DOCS_REMOTE) -m "Update docs [skip ci]" -o
-
-clean:
-	python -c "import os; os.remove(os.path.join('docs', 'index.html'))"
-	git branch -D $(DOCS_BRANCH)
-	git push $(DOCS_REMOTE) --delete $(DOCS_BRANCH)
-
-release:
-	python setup.py sdist bdist_wheel
-	twine upload --skip-existing --non-interactive ./dist/*
-
-.PHONY: docs lint install clean release
diff --git a/PKG-INFO b/PKG-INFO
new file mode 100644
index 0000000..4ad03d3
--- /dev/null
+++ b/PKG-INFO
@@ -0,0 +1,146 @@
+Metadata-Version: 2.1
+Name: ghp-import
+Version: 2.1.0
+Summary: Copy your docs directly to the gh-pages branch.
+Home-page: https://github.com/c-w/ghp-import
+Author: Paul Joseph Davis
+Author-email: paul.joseph.davis@gmail.com
+License: Apache Software License
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Intended Audience :: Developers
+Classifier: Natural Language :: English
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 3
+Description-Content-Type: text/markdown
+Provides-Extra: dev
+License-File: LICENSE
+
+GitHub Pages Import
+===================
+
+[![CI status](https://github.com/davisp/ghp-import/workflows/CI/badge.svg)](https://github.com/davisp/ghp-import/actions?query=workflow%3Aci)
+[![CircleCI](https://circleci.com/gh/c-w/ghp-import/tree/master.svg?style=svg)](https://circleci.com/gh/c-w/ghp-import/tree/master)
+[![TravisCI](https://travis-ci.org/c-w/ghp-import.svg?branch=master)](https://travis-ci.org/c-w/ghp-import)
+
+[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)
+[![Version](https://img.shields.io/pypi/v/ghp-import.svg)](https://pypi.org/project/ghp-import/)
+
+As part of [gunicorn][gunicorn], [Benoit Chesneau][benoit] and [Paul Davis][davisp]
+were looking at how to host documentation. There's the obvious method of
+using [GitHub's post-receive hook][github-post] to trigger doc builds and rsync
+to a webserver, but we ended up wanting to try out github's hosting to make the
+whole interface a bit more robust.
+
+[GitHub Pages][gh-pages] is a pretty awesome service that GitHub provides for
+hosting project documentation. The only thing is that it requires a
+`gh-pages` branch that is the site's document root. This means that keeping
+documentation sources in the branch with code is a bit difficult. And it really
+turns into a head scratcher for things like [Sphinx][sphinx] that want to
+access documentation sources and code sources at the same time.
+
+Then we stumbled across an interesting looking package called
+[github-tools][github-tools] that looked almost like what we wanted. It was a tad
+complicated and more involved than we wanted but it gave us an idea. Why not
+just write a script that can copy a directory to the `gh-pages` branch of the
+repository. This saves us from even having to think about the branch and
+everything becomes magical.
+
+This is what `ghp-import` was written for.
+
+[gunicorn]: http://www.gunicorn.com/ "Gunicorn"
+[benoit]: http://github.com/benoitc "Benoît Chesneau"
+[davisp]: http://github.com/davisp "Paul J. Davis"
+[github-post]: https://help.github.com/articles/post-receive-hooks "GitHub Post-Receive Hook"
+[gh-pages]: http://pages.github.com/ "GitHub Pages"
+[sphinx]: http://sphinx.pocoo.org/ "Sphinx Documentation"
+[github-tools]: http://dinoboff.github.io/github-tools/ "github-tools"
+
+
+Big Fat Warning
+---------------
+
+This will **DESTROY** your `gh-pages` branch. If you love it, you'll want to
+take backups before playing with this. This script assumes that `gh-pages` is
+100% derivative. You should never edit files in your `gh-pages` branch by hand
+if you're using this script because you will lose your work.
+
+When used with a prefix, only files below the set prefix will be destroyed, limiting the
+above warning to just that directory and everything below it.
+
+Usage
+-----
+
+```
+Usage: ghp-import [OPTIONS] DIRECTORY
+
+Options:
+  -n, --no-jekyll       Include a .nojekyll file in the branch.
+  -c CNAME, --cname=CNAME
+                        Write a CNAME file with the given CNAME.
+  -m MESG, --message=MESG
+                        The commit message to use on the target branch.
+  -p, --push            Push the branch to origin/{branch} after committing.
+  -x PREFIX, --prefix=PREFIX
+                        The prefix to add to each file that gets pushed to the
+                        remote. Only files below this prefix will be cleared
+                        out. [none]
+  -f, --force           Force the push to the repository.
+  -o, --no-history      Force new commit without parent history.
+  -r REMOTE, --remote=REMOTE
+                        The name of the remote to push to. [origin]
+  -b BRANCH, --branch=BRANCH
+                        Name of the branch to write to. [gh-pages]
+  -s, --shell           Use the shell when invoking Git. [False]
+  -l, --follow-links    Follow symlinks when adding files. [False]
+  -h, --help            show this help message and exit
+```
+
+Its pretty simple. Inside your repository just run `ghp-import $DOCS_DIR`
+where `$DOCS_DIR` is the path to the **built** documentation. This will write a
+commit to your `gh-pages` branch with the current documents in it.
+
+If you specify `-p` it will also attempt to push the `gh-pages` branch to
+GitHub. By default it'll just run `git push origin gh-pages`. You can specify
+a different remote using the `-r` flag.
+
+The `-o` option will discard any previous history and ensure that only a
+single commit is always pushed to the `gh-pages` branch. This is useful to
+avoid bloating the repository size and is **highly recommended**.
+
+You can specify a different branch with `-b`. This is useful for user and
+organization page, which are served from the `master` branch.
+
+Some Windows users report needing to pass Git commands through the shell which can be accomplished by passing `-s`.
+
+The `-l` option will cause the import to follow symlinks for users that have odd configurations that include symlinking outside of their documentation directory.
+
+Python Usage
+------------
+
+You can also call ghp_import directly from your Python code as a library. The
+library has one public function `ghp_import.ghp_import`, which accepts the
+following arguments:
+
+* `srcdir`: The path to the **built** documentation (required).
+* `remote`: The name of the remote to push to. Default: `origin`.
+* `branch`: Name of the branch to write to. Default: `gh-pages`.
+* `mesg`: The commit message to use on the target branch. Default: `Update documentation`.
+* `push`: Push the branch to {remote}/{branch} after committing. Default: `False`.
+* `prefix`: The prefix to add to each file that gets pushed to the remote. Default: `None`.
+* `force`: Force the push to the repository. Default: `False`.
+* `no_history`: Force new commit without parent history. Default: `False`.
+* `use_shell`: Default: Use the shell when invoking Git. `False`.
+* `followlinks`: Follow symlinks when adding files. Default: `False`.
+* `cname`: Write a CNAME file with the given CNAME. Default: `None`.
+* `nojekyll`: Include a .nojekyll file in the branch. Default: `False`.
+
+With Python's current working directory (cwd) inside your repository, do the
+following:
+
+```python
+from ghp_import import ghp_import
+ghp_import('docs', push=True, cname='example.com')
+```
diff --git a/README.md b/README.md
index 0a5eea1..8187768 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ This is what `ghp-import` was written for.
 [github-post]: https://help.github.com/articles/post-receive-hooks "GitHub Post-Receive Hook"
 [gh-pages]: http://pages.github.com/ "GitHub Pages"
 [sphinx]: http://sphinx.pocoo.org/ "Sphinx Documentation"
-[github-tools]: http://dinoboff.github.com/github-tools/ "github-tools"
+[github-tools]: http://dinoboff.github.io/github-tools/ "github-tools"
 
 
 Big Fat Warning
diff --git a/debian/changelog b/debian/changelog
index 4d04d05..64f0f8e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+ghp-import (2.1.0+git20220611.2.5219f00-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Sun, 18 Dec 2022 13:57:58 -0000
+
 ghp-import (2.1.0-3) unstable; urgency=medium
 
   [ Debian Janitor ]
diff --git a/docs/build.py b/docs/build.py
deleted file mode 100755
index 6d66254..0000000
--- a/docs/build.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env python
-
-import io
-import os
-
-from markdown import markdown
-
-
-def main():
-    base = os.path.abspath(os.path.dirname(__file__))
-
-    readme_path = os.path.join(os.path.dirname(base), "README.md")
-    with io.open(readme_path, encoding="utf-8") as fobj:
-        readme = fobj.read()
-
-    template_path = os.path.join(base, "index.html.tmpl")
-    with io.open(template_path, encoding="utf-8") as fobj:
-        template = fobj.read()
-
-    index_path = os.path.join(base, "index.html")
-    with io.open(index_path, mode="w", encoding="utf-8") as fobj:
-        html = markdown(readme, extensions=["fenced_code"])
-        fobj.write(template.format(body=html))
-
-
-if __name__ == "__main__":
-    main()
diff --git a/docs/images/bg_hr.png b/docs/images/bg_hr.png
deleted file mode 100644
index 7973bd6..0000000
Binary files a/docs/images/bg_hr.png and /dev/null differ
diff --git a/docs/images/blacktocat.png b/docs/images/blacktocat.png
deleted file mode 100644
index 6e264fe..0000000
Binary files a/docs/images/blacktocat.png and /dev/null differ
diff --git a/docs/images/icon_download.png b/docs/images/icon_download.png
deleted file mode 100644
index a2a287f..0000000
Binary files a/docs/images/icon_download.png and /dev/null differ
diff --git a/docs/images/sprite_download.png b/docs/images/sprite_download.png
deleted file mode 100644
index f2babd5..0000000
Binary files a/docs/images/sprite_download.png and /dev/null differ
diff --git a/docs/index.html.tmpl b/docs/index.html.tmpl
deleted file mode 100644
index 0027767..0000000
--- a/docs/index.html.tmpl
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset='utf-8' />
-    <meta http-equiv="X-UA-Compatible" content="chrome=1" />
-    <meta name="description" content="ghp-import : Easily import docs to your gh-pages branch." />
-    <link rel="stylesheet" type="text/css" media="screen" href="style.css">
-
-    <title>ghp-import - GitHub Pages import tool</title>
-  </head>
-  <body>
-
-    <!-- HEADER -->
-    <div id="header_wrap" class="outer">
-        <header class="inner">
-          <a id="forkme_banner" href="https://github.com/davisp/ghp-import">View on GitHub</a>
-
-          <h1 id="project_title">ghp-import</h1>
-          <h2 id="project_tagline">Easily import docs to your gh-pages branch.</h2>
-            <section id="downloads">
-              <a class="zip_download_link" href="https://github.com/davisp/ghp-import/zipball/master">Download this project as a .zip file</a>
-              <a class="tar_download_link" href="https://github.com/davisp/ghp-import/tarball/master">Download this project as a tar.gz file</a>
-            </section>
-        </header>
-    </div>
-
-    <!-- MAIN CONTENT -->
-    <div id="main_content_wrap" class="outer">
-      <section id="main_content" class="inner">
-      {body}
-      </section>
-    </div>
-
-    <!-- FOOTER  -->
-    <div id="footer_wrap" class="outer">
-      <footer class="inner">
-        <p class="copyright">ghp-import maintained by <a href="https://github.com/davisp">davisp</a></p>
-        <p>Published with <a href="http://pages.github.com">GitHub Pages</a></p>
-      </footer>
-    </div>
-  </body>
-</html>
diff --git a/docs/style.css b/docs/style.css
deleted file mode 100644
index 28f4528..0000000
--- a/docs/style.css
+++ /dev/null
@@ -1,426 +0,0 @@
-/*******************************************************************************
-Slate Theme for GitHub Pages
-by Jason Costello, @jsncostello
-*******************************************************************************/
-
-@import url(pygment_trac.css);
-
-/*******************************************************************************
-MeyerWeb Reset
-*******************************************************************************/
-
-html, body, div, span, applet, object, iframe,
-h1, h2, h3, h4, h5, h6, p, blockquote, pre,
-a, abbr, acronym, address, big, cite, code,
-del, dfn, em, img, ins, kbd, q, s, samp,
-small, strike, strong, sub, sup, tt, var,
-b, u, i, center,
-dl, dt, dd, ol, ul, li,
-fieldset, form, label, legend,
-table, caption, tbody, tfoot, thead, tr, th, td,
-article, aside, canvas, details, embed,
-figure, figcaption, footer, header, hgroup,
-menu, nav, output, ruby, section, summary,
-time, mark, audio, video {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  font: inherit;
-  vertical-align: baseline;
-}
-
-/* HTML5 display-role reset for older browsers */
-article, aside, details, figcaption, figure,
-footer, header, hgroup, menu, nav, section {
-  display: block;
-}
-
-ol, ul {
-  list-style: none;
-}
-
-blockquote, q {
-}
-
-table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-
-a:focus {
-  outline: none;
-}
-
-/*******************************************************************************
-Theme Styles
-*******************************************************************************/
-
-body {
-  box-sizing: border-box;
-  color:#373737;
-  background: #212121;
-  font-size: 16px;
-  font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif;
-  line-height: 1.5;
-  -webkit-font-smoothing: antialiased;
-}
-
-h1, h2, h3, h4, h5, h6 {
-  margin: 10px 0;
-  font-weight: 700;
-  color:#222222;
-  font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif;
-  letter-spacing: -1px;
-}
-
-h1 {
-  font-size: 36px;
-  font-weight: 700;
-}
-
-h2 {
-  padding-bottom: 10px;
-  font-size: 32px;
-  background: url('../images/bg_hr.png') repeat-x bottom;
-}
-
-h3 {
-  font-size: 24px;
-}
-
-h4 {
-  font-size: 21px;
-}
-
-h5 {
-  font-size: 18px;
-}
-
-h6 {
-  font-size: 16px;
-}
-
-p {
-  margin: 10px 0 15px 0;
-}
-
-footer p {
-  color: #f2f2f2;
-}
-
-a {
-  text-decoration: none;
-  color: #007edf;
-  text-shadow: none;
-
-  transition: color 0.5s ease;
-  transition: text-shadow 0.5s ease;
-  -webkit-transition: color 0.5s ease;
-  -webkit-transition: text-shadow 0.5s ease;
-  -moz-transition: color 0.5s ease;
-  -moz-transition: text-shadow 0.5s ease;
-  -o-transition: color 0.5s ease;
-  -o-transition: text-shadow 0.5s ease;
-  -ms-transition: color 0.5s ease;
-  -ms-transition: text-shadow 0.5s ease;
-}
-
-#main_content a:hover {
-  color: #0069ba;
-  text-shadow: #0090ff 0px 0px 2px;
-}
-
-footer a:hover {
-  color: #43adff;
-  text-shadow: #0090ff 0px 0px 2px;
-}
-
-em {
-  font-style: italic;
-}
-
-strong {
-  font-weight: bold;
-}
-
-img {
-  position: relative;
-  margin: 0 auto;
-  max-width: 739px;
-  padding: 5px;
-  margin: 10px 0 10px 0;
-  border: 1px solid #ebebeb;
-
-  box-shadow: 0 0 5px #ebebeb;
-  -webkit-box-shadow: 0 0 5px #ebebeb;
-  -moz-box-shadow: 0 0 5px #ebebeb;
-  -o-box-shadow: 0 0 5px #ebebeb;
-  -ms-box-shadow: 0 0 5px #ebebeb;
-}
-
-pre, code {
-  width: 100%;
-  color: #222;
-  background-color: #fff;
-
-  font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace;
-  font-size: 14px;
-
-  border-radius: 2px;
-  -moz-border-radius: 2px;
-  -webkit-border-radius: 2px;
-
-
-
-}
-
-pre {
-  width: 100%;
-  padding: 10px;
-  box-shadow: 0 0 10px rgba(0,0,0,.1);
-  overflow: auto;
-}
-
-code {
-  padding: 3px;
-  margin: 0 3px;
-  box-shadow: 0 0 10px rgba(0,0,0,.1);
-}
-
-pre code {
-  display: block;
-  box-shadow: none;
-}
-
-blockquote {
-  color: #666;
-  margin-bottom: 20px;
-  padding: 0 0 0 20px;
-  border-left: 3px solid #bbb;
-}
-
-ul, ol, dl {
-  margin-bottom: 15px
-}
-
-ul li {
-  list-style: inside;
-  padding-left: 20px;
-}
-
-ol li {
-  list-style: decimal inside;
-  padding-left: 20px;
-}
-
-dl dt {
-  font-weight: bold;
-}
-
-dl dd {
-  padding-left: 20px;
-  font-style: italic;
-}
-
-dl p {
-  padding-left: 20px;
-  font-style: italic;
-}
-
-hr {
-  height: 1px;
-  margin-bottom: 5px;
-  border: none;
-  background: url('../images/bg_hr.png') repeat-x center;
-}
-
-table {
-  border: 1px solid #373737;
-  margin-bottom: 20px;
-  text-align: left;
- }
-
-th {
-  font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  padding: 10px;
-  background: #373737;
-  color: #fff;
- }
-
-td {
-  padding: 10px;
-  border: 1px solid #373737;
- }
-
-form {
-  background: #f2f2f2;
-  padding: 20px;
-}
-
-/*******************************************************************************
-Full-Width Styles
-*******************************************************************************/
-
-.outer {
-  width: 100%;
-}
-
-.inner {
-  position: relative;
-  max-width: 640px;
-  padding: 20px 10px;
-  margin: 0 auto;
-}
-
-#forkme_banner {
-  display: block;
-  position: absolute;
-  top:0;
-  right: 10px;
-  z-index: 10;
-  padding: 10px 50px 10px 10px;
-  color: #fff;
-  background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%;
-  font-weight: 700;
-  box-shadow: 0 0 10px rgba(0,0,0,.5);
-  border-bottom-left-radius: 2px;
-  border-bottom-right-radius: 2px;
-}
-
-#header_wrap {
-  background: #212121;
-  background: -moz-linear-gradient(top, #373737, #212121);
-  background: -webkit-linear-gradient(top, #373737, #212121);
-  background: -ms-linear-gradient(top, #373737, #212121);
-  background: -o-linear-gradient(top, #373737, #212121);
-  background: linear-gradient(top, #373737, #212121);
-}
-
-#header_wrap .inner {
-  padding: 50px 10px 30px 10px;
-}
-
-#project_title {
-  margin: 0;
-  color: #fff;
-  font-size: 42px;
-  font-weight: 700;
-  text-shadow: #111 0px 0px 10px;
-}
-
-#project_tagline {
-  color: #fff;
-  font-size: 24px;
-  font-weight: 300;
-  background: none;
-  text-shadow: #111 0px 0px 10px;
-}
-
-#downloads {
-  position: absolute;
-  width: 210px;
-  z-index: 10;
-  bottom: -40px;
-  right: 0;
-  height: 70px;
-  background: url('../images/icon_download.png') no-repeat 0% 90%;
-}
-
-.zip_download_link {
-  display: block;
-  float: right;
-  width: 90px;
-  height:70px;
-  text-indent: -5000px;
-  overflow: hidden;
-  background: url(../images/sprite_download.png) no-repeat bottom left;
-}
-
-.tar_download_link {
-  display: block;
-  float: right;
-  width: 90px;
-  height:70px;
-  text-indent: -5000px;
-  overflow: hidden;
-  background: url(../images/sprite_download.png) no-repeat bottom right;
-  margin-left: 10px;
-}
-
-.zip_download_link:hover {
-  background: url(../images/sprite_download.png) no-repeat top left;
-}
-
-.tar_download_link:hover {
-  background: url(../images/sprite_download.png) no-repeat top right;
-}
-
-#main_content_wrap {
-  background: #f2f2f2;
-  border-top: 1px solid #111;
-  border-bottom: 1px solid #111;
-}
-
-#main_content {
-  padding-top: 40px;
-}
-
-#footer_wrap {
-  background: #212121;
-}
-
-
-
-/*******************************************************************************
-Small Device Styles
-*******************************************************************************/
-
-@media screen and (max-width: 480px) {
-  body {
-    font-size:14px;
-  }
-
-  #downloads {
-    display: none;
-  }
-
-  .inner {
-    min-width: 320px;
-    max-width: 480px;
-  }
-
-  #project_title {
-  font-size: 32px;
-  }
-
-  h1 {
-    font-size: 28px;
-  }
-
-  h2 {
-    font-size: 24px;
-  }
-
-  h3 {
-    font-size: 21px;
-  }
-
-  h4 {
-    font-size: 18px;
-  }
-
-  h5 {
-    font-size: 14px;
-  }
-
-  h6 {
-    font-size: 12px;
-  }
-
-  code, pre {
-    min-width: 320px;
-    max-width: 480px;
-    font-size: 11px;
-  }
-
-}
diff --git "a/docs/test-\317\213nicod\303\251\357\274\214f\303\256le\303\261\303\244m\323\233.html" "b/docs/test-\317\213nicod\303\251\357\274\214f\303\256le\303\261\303\244m\323\233.html"
deleted file mode 100644
index 8439c2a..0000000
--- "a/docs/test-\317\213nicod\303\251\357\274\214f\303\256le\303\261\303\244m\323\233.html"
+++ /dev/null
@@ -1 +0,0 @@
-<!-- test file with unicode filename, see https://github.com/c-w/ghp-import/issues/92 -->
diff --git a/ghp_import.egg-info/PKG-INFO b/ghp_import.egg-info/PKG-INFO
new file mode 100644
index 0000000..4ad03d3
--- /dev/null
+++ b/ghp_import.egg-info/PKG-INFO
@@ -0,0 +1,146 @@
+Metadata-Version: 2.1
+Name: ghp-import
+Version: 2.1.0
+Summary: Copy your docs directly to the gh-pages branch.
+Home-page: https://github.com/c-w/ghp-import
+Author: Paul Joseph Davis
+Author-email: paul.joseph.davis@gmail.com
+License: Apache Software License
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Intended Audience :: Developers
+Classifier: Natural Language :: English
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 3
+Description-Content-Type: text/markdown
+Provides-Extra: dev
+License-File: LICENSE
+
+GitHub Pages Import
+===================
+
+[![CI status](https://github.com/davisp/ghp-import/workflows/CI/badge.svg)](https://github.com/davisp/ghp-import/actions?query=workflow%3Aci)
+[![CircleCI](https://circleci.com/gh/c-w/ghp-import/tree/master.svg?style=svg)](https://circleci.com/gh/c-w/ghp-import/tree/master)
+[![TravisCI](https://travis-ci.org/c-w/ghp-import.svg?branch=master)](https://travis-ci.org/c-w/ghp-import)
+
+[![License](https://img.shields.io/badge/License-Apache%202.0-green.svg)](https://opensource.org/licenses/Apache-2.0)
+[![Version](https://img.shields.io/pypi/v/ghp-import.svg)](https://pypi.org/project/ghp-import/)
+
+As part of [gunicorn][gunicorn], [Benoit Chesneau][benoit] and [Paul Davis][davisp]
+were looking at how to host documentation. There's the obvious method of
+using [GitHub's post-receive hook][github-post] to trigger doc builds and rsync
+to a webserver, but we ended up wanting to try out github's hosting to make the
+whole interface a bit more robust.
+
+[GitHub Pages][gh-pages] is a pretty awesome service that GitHub provides for
+hosting project documentation. The only thing is that it requires a
+`gh-pages` branch that is the site's document root. This means that keeping
+documentation sources in the branch with code is a bit difficult. And it really
+turns into a head scratcher for things like [Sphinx][sphinx] that want to
+access documentation sources and code sources at the same time.
+
+Then we stumbled across an interesting looking package called
+[github-tools][github-tools] that looked almost like what we wanted. It was a tad
+complicated and more involved than we wanted but it gave us an idea. Why not
+just write a script that can copy a directory to the `gh-pages` branch of the
+repository. This saves us from even having to think about the branch and
+everything becomes magical.
+
+This is what `ghp-import` was written for.
+
+[gunicorn]: http://www.gunicorn.com/ "Gunicorn"
+[benoit]: http://github.com/benoitc "Benoît Chesneau"
+[davisp]: http://github.com/davisp "Paul J. Davis"
+[github-post]: https://help.github.com/articles/post-receive-hooks "GitHub Post-Receive Hook"
+[gh-pages]: http://pages.github.com/ "GitHub Pages"
+[sphinx]: http://sphinx.pocoo.org/ "Sphinx Documentation"
+[github-tools]: http://dinoboff.github.io/github-tools/ "github-tools"
+
+
+Big Fat Warning
+---------------
+
+This will **DESTROY** your `gh-pages` branch. If you love it, you'll want to
+take backups before playing with this. This script assumes that `gh-pages` is
+100% derivative. You should never edit files in your `gh-pages` branch by hand
+if you're using this script because you will lose your work.
+
+When used with a prefix, only files below the set prefix will be destroyed, limiting the
+above warning to just that directory and everything below it.
+
+Usage
+-----
+
+```
+Usage: ghp-import [OPTIONS] DIRECTORY
+
+Options:
+  -n, --no-jekyll       Include a .nojekyll file in the branch.
+  -c CNAME, --cname=CNAME
+                        Write a CNAME file with the given CNAME.
+  -m MESG, --message=MESG
+                        The commit message to use on the target branch.
+  -p, --push            Push the branch to origin/{branch} after committing.
+  -x PREFIX, --prefix=PREFIX
+                        The prefix to add to each file that gets pushed to the
+                        remote. Only files below this prefix will be cleared
+                        out. [none]
+  -f, --force           Force the push to the repository.
+  -o, --no-history      Force new commit without parent history.
+  -r REMOTE, --remote=REMOTE
+                        The name of the remote to push to. [origin]
+  -b BRANCH, --branch=BRANCH
+                        Name of the branch to write to. [gh-pages]
+  -s, --shell           Use the shell when invoking Git. [False]
+  -l, --follow-links    Follow symlinks when adding files. [False]
+  -h, --help            show this help message and exit
+```
+
+Its pretty simple. Inside your repository just run `ghp-import $DOCS_DIR`
+where `$DOCS_DIR` is the path to the **built** documentation. This will write a
+commit to your `gh-pages` branch with the current documents in it.
+
+If you specify `-p` it will also attempt to push the `gh-pages` branch to
+GitHub. By default it'll just run `git push origin gh-pages`. You can specify
+a different remote using the `-r` flag.
+
+The `-o` option will discard any previous history and ensure that only a
+single commit is always pushed to the `gh-pages` branch. This is useful to
+avoid bloating the repository size and is **highly recommended**.
+
+You can specify a different branch with `-b`. This is useful for user and
+organization page, which are served from the `master` branch.
+
+Some Windows users report needing to pass Git commands through the shell which can be accomplished by passing `-s`.
+
+The `-l` option will cause the import to follow symlinks for users that have odd configurations that include symlinking outside of their documentation directory.
+
+Python Usage
+------------
+
+You can also call ghp_import directly from your Python code as a library. The
+library has one public function `ghp_import.ghp_import`, which accepts the
+following arguments:
+
+* `srcdir`: The path to the **built** documentation (required).
+* `remote`: The name of the remote to push to. Default: `origin`.
+* `branch`: Name of the branch to write to. Default: `gh-pages`.
+* `mesg`: The commit message to use on the target branch. Default: `Update documentation`.
+* `push`: Push the branch to {remote}/{branch} after committing. Default: `False`.
+* `prefix`: The prefix to add to each file that gets pushed to the remote. Default: `None`.
+* `force`: Force the push to the repository. Default: `False`.
+* `no_history`: Force new commit without parent history. Default: `False`.
+* `use_shell`: Default: Use the shell when invoking Git. `False`.
+* `followlinks`: Follow symlinks when adding files. Default: `False`.
+* `cname`: Write a CNAME file with the given CNAME. Default: `None`.
+* `nojekyll`: Include a .nojekyll file in the branch. Default: `False`.
+
+With Python's current working directory (cwd) inside your repository, do the
+following:
+
+```python
+from ghp_import import ghp_import
+ghp_import('docs', push=True, cname='example.com')
+```
diff --git a/ghp_import.egg-info/SOURCES.txt b/ghp_import.egg-info/SOURCES.txt
new file mode 100644
index 0000000..9aaf2ee
--- /dev/null
+++ b/ghp_import.egg-info/SOURCES.txt
@@ -0,0 +1,12 @@
+LICENSE
+MANIFEST.in
+README.md
+ghp_import.py
+setup.py
+ghp_import.egg-info/PKG-INFO
+ghp_import.egg-info/SOURCES.txt
+ghp_import.egg-info/dependency_links.txt
+ghp_import.egg-info/entry_points.txt
+ghp_import.egg-info/not-zip-safe
+ghp_import.egg-info/requires.txt
+ghp_import.egg-info/top_level.txt
\ No newline at end of file
diff --git a/ghp_import.egg-info/dependency_links.txt b/ghp_import.egg-info/dependency_links.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/ghp_import.egg-info/dependency_links.txt
@@ -0,0 +1 @@
+
diff --git a/ghp_import.egg-info/entry_points.txt b/ghp_import.egg-info/entry_points.txt
new file mode 100644
index 0000000..c5e81df
--- /dev/null
+++ b/ghp_import.egg-info/entry_points.txt
@@ -0,0 +1,2 @@
+[console_scripts]
+ghp-import = ghp_import:main
diff --git a/ghp_import.egg-info/not-zip-safe b/ghp_import.egg-info/not-zip-safe
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/ghp_import.egg-info/not-zip-safe
@@ -0,0 +1 @@
+
diff --git a/ghp_import.egg-info/requires.txt b/ghp_import.egg-info/requires.txt
new file mode 100644
index 0000000..cc23d43
--- /dev/null
+++ b/ghp_import.egg-info/requires.txt
@@ -0,0 +1,7 @@
+python-dateutil>=2.8.1
+
+[dev]
+flake8
+markdown
+twine
+wheel
diff --git a/ghp_import.egg-info/top_level.txt b/ghp_import.egg-info/top_level.txt
new file mode 100644
index 0000000..a780cea
--- /dev/null
+++ b/ghp_import.egg-info/top_level.txt
@@ -0,0 +1 @@
+ghp_import
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..8bfd5a1
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,4 @@
+[egg_info]
+tag_build = 
+tag_date = 0
+

More details

Full run details