GitHub-Pages 翻译(未完成)
翻译自GitHub Pages的Help页面
可以查看网页版
GitHub 帮助
目录
- 什么是GitHub Pages?
- 用户,组织,项目页面
- 通过自动生成功能创建页面
- 通过手动生成功能创建页面
- 使用Jekyll工具 有关GitHub自定义域名的说明
- 为GitHub自定义域名
- 通过DNS配置CNAME文件的几点提示
- 在你的库中添加CNAME文件
- 通过DNS提供商配置一条A记录的提示
- 有关GitHub的延伸阅读
什么是GitHub Pages?
GitHub Pages是通过我们网站托管和发布的公共网页。
你可以通过在线自动生成的功能创建和发布GitHub Pages页面。如果你更喜欢本地操作,你可以使用Mac和Windows的软件,或者是命令行。
页面通过HTTP协议传播,不是HTTP。所以你不应该在私密交易上使用他,比如发送密码或者信用卡号
提示:GitHub Pages在网上是公开的,即便他们对应的是私人库,如果在你对应Pages的库中有敏感数据,建议你在发布之前移走他们。
个人/组织页面和项目页面
GitHub Pages 有两种基础类型:个人/组织的Pages和项目的Pages。
他们是十分相似的,但是有一些重要的不同点。
两种Pages都通过HTPP协议,而不是HTTPS,你不应该在私密交易上使用他,比如发送密码或者信用卡号。
请注意Pages是公开发布的,即便你的库是私人库。
个人&组织页面(User&Organization Pages)
个人&组织页面需要使用专门的GitHub Pages,放在一个特殊的库中,你需要用你的账户名去命名这个项目。
- 你必须使用
uesrname.github.io
命名master
分支的内容,将被用来建立和发布你的GitHub Pages。
在创建个人或者组织页面的时候,你只可以使用自己的账户名,像joe/bob.github.io
将不能简历个人页面。
当个人页面被成功建立后,他们可以通过http(s)://username.github.io
访问。
建立你自己的GitHub Pages任何验证了email地址的个人账户,都可以建立个人页面,他们也可以使用部署键(deploy keys)让过程自动化。
可以给库进行推送并且验证了email地址的成员,就可以建立组织库,为了让过程自动化,你建立一个machine user作为你组织的成员,部署键在组织页面中无法使用。
项目页面(Project Pages)
和个人/组织页面不同,项目页面保存在当前项目库中。所有的个人用户和组织用户都可以创建项目页面.
个人用户访问的URL可以是http(s)://<username>.github.io/<projectname>
组织页面访问的URL为http(s)://<orgname>.github.io/<projectname>
创建项目页面的步骤是相同的:
项目页面和用户/组织页面类似,以下是一些不同
使用
gh-pages
分支来简历和发布项目页面。
如果没有自定义域名,项目页面网站被运行在个人页面网站的子路径下:username.github.io/projectname
自定义域名时,可以使用自定义的404页面,否则使用个人页面404。
通过自动生成功能创建页面
你可以使用GitHub的页面自动生成功能,快速为项目,个人/组织创建一个网站。
个人/组织页面为了生成用户/组织页面网站,你需要创建一个名为username.github.io
的项目.个人用户名或者组织名称必须是你自己,否则GitHub Pages无法建立。自动页面生成功能在库的设置中可以找到,有关个人/组织页面的介绍,可以阅读上面的说明个人/组织页面和项目页面
项目页面通过页面自动生成功能,你可以为任何的项目库创建GitHub Pages。
自动生成功能
1.登陆GitHub,进入该库的主页。
2.在该库右侧的边栏,点击
setting
3.点击下侧
Automatic Pages Generator
按钮4.在Markdown编辑器中编辑自己的内容
5.点击
Continue To Layouts
按钮。6.在我们提供的主题中预览你的内容
7.当你选择了自己喜欢的主题后,点击
Publish Page
你的页面产生之后,你可以得到这个页面对应的HTML代码,如果使用自动生成功能生成的是项目页面网站,你可以fetch
和checkout
这个新的分支.
cd repository
git fetch origin
# remote: Counting objects: 92, done.
# remote: Compressing objects: 100% (63/63), done.
# remote: Total 68 (delta 41), reused 0 (delta 0)
# Unpacking objects: 100% (68/68), done.
# From https://github.com/user/repo.git
# * [new branch] gh-pages -> origin/gh-pages
git checkout gh-pages
# Branch gh-pages set up to track remote branch gh-pages from origin.
# Switched to a new branch 'gh-pages'
如果生成的是个人页面,代码会在master
分支,而不是gh--pages
分支,所以通过checkout
master
分支,之后push
即可的。
cd repository
git checkout master
# Switched to branch 'master'
git pull origin master
# remote: Counting objects: 92, done.
# remote: Compressing objects: 100% (63/63), done.
# remote: Total 68 (delta 41), reused 0 (delta 0)
# Receiving objects: 100% (424/424), 329.32 KiB | 178 KiB/s, done.
# Resolving deltas: 100% (68/68), done.
# From https://github.com/user/repo.git
# * branch master -> FETCH_HEAD
# Updating abc1234..def5678
# Fast-forward
# index.html | 265 ++++
# ...
# 98 files changed, 18123 insertions(+), 1 deletion(-)
# create mode 100644 index.html
手动创建项目页面
如果你对于Git命令行比较熟,你可以直接手动创建项目页面网站
创建一个新的clone(克隆)
为了建立项目页面网站,你需要在你的项目库中建立一个没有任何父分支的"孤儿"分支(这个分支不能与以前的分支冲突),最安全的办法就是
直接重新clone一个:1
git clone github.com/user/repository.git
# Clone our repository
# Cloning into 'repository'...
# remote: Counting objects: 2791, done.
# remote: Compressing objects: 100% (1225/1225), done.
# remote: Total 2791 (delta 1722), reused 2513 (delta 1493)
# Receiving objects: 100% (2791/2791), 3.77 MiB | 969 KiB/s, done.
# Resolving deltas: 100% (1722/1722), done.
创建gh-pages
分支如果你有了一个干净的项目库,你就可以创建一个gh-pages
分支,之后把你工作区和暂存区中的所有内容移走:
cd repository
git checkout --orphan gh-pages
# Creates our branch, without any parents (it's an orphan!)
# Switched to a new branch 'gh-pages'
git rm -rf .
# Remove all files from the old working tree
# rm '.gitignore'
增加内容,进行推送现在你有一个空的工作区,你可以在这个分支上创建内容,推送到GitHub,例如:
echo "My Page" > index.html
git add index.html
git commit -a -m "First pages commit"
git push origin gh-pages
你的GitHub页面网站这是应该已经建立了,如果你成功的话,会收到一封email。
载入创建的GitHub Pages
在你推送到gh-pages
后,你的项目页面网站可以通过http(s)://<username>.github.io/<projectname>
访问。注意:在你推送之后,这个页面是公开的,即便你的库是私人库。
使用Jekyll
除了支持常规的HTML内容,GitHub Pages还支持Jekyll(哲基尔),它是一个简单的博客形态的静态页面生成器,Jekyll让创建网站范围内的header部分,footer部分变得很轻松,不用再不断的在每个页面上复制这些部分。它还提供一些高级模板功能。
使用Jekyll
当你把内容推送到仓库中指定分支后,每一个页面都可以使用Jekyll。对于个人页面,使用仓库中的master
分支,对于项目页面,可以使用gh-pages
分支,因为一个正常的HTML网页也是一个有效的Jekyll网页,所以你不需要做任何其他的事情,只要保存你正常的HTML文件不被改变即可。Jekyll有完整的使用文档,涵盖他的特点和用法。通过提交Jekyll格式的文件,你就可以使用了。
安装Jekyll
我们强烈推荐安装Jekyll在你电脑上来预览你的网站,这样在你将网站推送到GitHub Pages前,就可以核实错误
为了保障你的电脑可以完美使用GitHub Pages,你可以使 (the GitHub Pages Gem)[https://github.com/github/pages-gem].现在我们先来安装Jekyll:
1.Ruby-Jekyll需要Ruby语言环境,如果你使用Mac,你很可能已经预装Ruby环境了,你可以打开命令行终端,允许命令ruby --version
来确认是否安装。你的Ruby至少应该在2.0.0以上,如果你已经获得了Ruby,你可以跳到第二步,否则,参考(这个说明)[https://www.ruby-lang.org/en/downloads/]安装Ruby。
2.Bundler-Bundler是一个包管理工具,如果你想要在本地建立GitHub Pages,使用它来控制Ruby语言的软件,比如Jekyll会方便很多。如果你还没有按照过Bundler,你可以通过命令行gem install bundler
来按照它。