直接将您的文档复制到gh-pages分支。
项目描述
GitHub Pages导入
作为Gunicorn的一部分,Benoit Chesneau和Paul Davis正在寻找如何托管文档的方法。有使用GitHub的post-receive钩子来触发文档构建并将rsync同步到Web服务器的明显方法,但我们最终想要尝试GitHub的托管来使整个界面更加稳健。
GitHub Pages 是 GitHub 提供的一种非常棒的服务,用于托管项目文档。唯一的问题是它需要一个名为 gh-pages
的分支,它是网站的文档根目录。这意味着将文档源代码保存在与代码相同的分支中有些困难。对于像 Sphinx 这样的工具来说,它想要同时访问文档源和代码源,这确实是一个让人头疼的问题。
然后我们偶然发现了一个看起来很有趣的软件包,名为 github-tools,它看起来几乎符合我们的需求。它有些复杂,比我们想要的要复杂一些,但它给了我们一个想法。为什么不写一个可以复制目录到存储库的 gh-pages
分支的脚本呢。这可以让我们不必再考虑分支,一切都会变得神奇。
这就是 ghp-import
被编写出来的原因。
重要警告
这将销毁你的 gh-pages
分支。如果你珍爱它,请在尝试之前进行备份。此脚本假定 gh-pages
是 100% 派生。如果你使用此脚本,不要手动编辑 gh-pages
分支中的文件,因为你将丢失你的工作。
当使用前缀时,只有设置前缀下的文件将被销毁,上述警告仅限于该目录及其以下的所有内容。
用法
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
它很简单。在你的存储库中,只需运行 ghp-import $DOCS_DIR
即可,其中 $DOCS_DIR
是构建文档的路径。这将在你的 gh-pages
分支中写入一个提交,其中包含当前的文档。
如果你指定了 -p
,它还会尝试将 gh-pages
分支推送到 GitHub。默认情况下,它将运行 git push origin gh-pages
。你可以使用 -r
标志指定不同的远程。
-o
选项将丢弃任何先前历史,并确保始终只推送单个提交到 gh-pages
分支。这有助于避免仓库大小的膨胀,并且强烈推荐使用。
你可以使用 -b
指定不同的分支。这对于用户和组织页面很有用,这些页面是从 master
分支提供的。
一些 Windows 用户报告说需要通过 shell 传递 Git 命令,这可以通过传递 -s
来实现。
-l
选项将导致导入时遵循符号链接,这对于包含文档目录外符号链接的奇特配置的用户很有用。
Python 用法
您还可以直接从 Python 代码中调用 ghp_import 作为库。该库有一个公开函数 ghp_import.ghp_import
,它接受以下参数
srcdir
:构建文档的路径(必需)。remote
:要推送的远程名称。默认:origin
。branch
:要写入的分支名称。默认:gh-pages
。mesg
:在目标分支上使用的提交消息。默认:更新文档
。push
:提交后推送分支到 {remote}/{branch}。默认:False
。prefix
:要添加到推送到远程的每个文件的前缀。默认:None
。force
:强制推送到存储库。默认:False
。no_history
:强制提交不带父历史记录。默认:False
。use_shell
:默认:在调用 Git 时使用 shell。False
。followlinks
:在添加文件时遵循符号链接。默认:False
。cname
:使用给定的 CNAME 写入 CNAME 文件。默认:None
。nojekyll
:在分支中包含 .nojekyll 文件。默认:False
。
在您的仓库中,使用Python的当前工作目录(cwd)执行以下操作
from ghp_import import ghp_import
ghp_import('docs', push=True, cname='example.com')
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
ghp-import-2.1.0.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343 |
|
MD5 | 1150fdae5997f1ae0d09df9d7f9e7df2 |
|
BLAKE2b-256 | d929d40217cbe2f6b1359e00c6c307bb3fc876ba74068cbab3dde77f03ca0dc4 |
ghp_import-2.1.0-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 |
|
MD5 | 0adbda2f4e8981b29e60b5d6b4e30183 |
|
BLAKE2b-256 | f7ec67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb |