浅谈github页面域名绑定
来源:http://yanping.me/cn/blog/2011/12/04/github-pages-domain/
前段时间看到COS上的各位都有博客,也想开个博,给COS的各位管理员发邮件,向他们请教如何开个像怡轩和太云那样的博客,思喆兄说要向益辉申请空间和cos的二级域名。无奈老大太忙,迟迟没有给我分配空间和域名,只是某次提到有个叫github的东西,可以在上面建网页,还可以写博客,写博客还可以不用网络哦亲,只要在本地写好,哪天有网络了就一个push过去哦亲,so fashion!1于是我又给他写了很多邮件,向他请教如何使用该系统,结果,他还是不回复。得,自己研究吧。
关于如何在github上创建页面本文就不讲了,文章末尾会列出参考文献,本文着重介绍github页面的域名绑定问题。 github pages的官方主页这样说:
- 假设你github的用户名为username,那么创建一个名为username.github.com的代码库(repository),在这个库中上传html、CSS等静态页面文件,可以用地址 http://username.github.com来访问页面了,这个页面就是你账户的主页面(User pages)。
- 如果你又创建了个叫repo的代码库,在它下面的gh-pages分支里上传了html、CSS等静态页面文件,那么用http://username.github.com/repo这个地址就能访问页面了。
- 要想生成复杂点的页面,可以用jekyll,语法高亮用
pygments。 - 要想域名绑定,在代码库的根目录下放一个CNAME文件就行了,文件里写上想要绑定的域名,然后在域名DNS管理的后台网站建立指向就行。如果想把页面绑定到二级域名,需要创建一个CNAME指向。如果要把页面绑定到顶级域名,需要创建一个A指向。不能用CNAME指向顶级域名,否则会造成冲突。
现在问题就来自上面的最后一条,当我建立了个用户页面 http://username.github.com并把它的域名绑定为顶级域名example.com之后,我账户下所有代码库页面都变成了example.com下面的二级目录。我想这可能是因为代码库页面原来的网址为http://username.github.com/repo,DNS把http://username.github.com解析成了http://example.com。请看 https://github.com/lmorchard,他在github上有两个博客, http://decafbad.com/skein 和 http://decafbad.com/blog/
然而当我把用户页面的域名绑定为二级域名http://sub.example.com之后,所有代码库的页面都404了。所以我还是建议把顶级域名绑定到用户页面,这样代码库页面也能够正常访问。 今天又试了一下,我把用户页面的域名绑定为二级域名,项目页面还是可以显示的,依然是二级目录的形式。明天我再试试换过来会怎么样。
如果我不给用户页面绑定域名,或者干脆不创建用户页面,是不是可以给代码库页面绑定域名呢?答案是否定的,因为A指向需要提供个IP地址,CNAM需要指向个域名,而不能是http://username.github.com/repo的形式。
如果想充分利用你的域名和子域名,我暂时能想到的就是多开几个github账户吧,关于一台电脑上多个github账户的操作,网上有现成的教程,我会在以后整理出来。
我也注意到github也有例外,请看http://gitready.com/这个网站,它在github上的代码地址是http://github.com/gitready/gitready/ , 可以看到它还有别的语言版本,域名分别是http://de.gitready.com/、http://fr.gitready.com 。。。 这是怎么做到的呢? 我注意到,它这个目录下没有master分支,是跟这个有关吗? 目前还没有得到作者的回复,也从知晓。感兴趣的同学们来研究一下吧。
快速应用
jekyll对初学者太难掌握,有人推荐使用octopress、toto或者pop等基于Jekyll的静态博客站点生成系统2,它很大程度上简化了用Jekyll搭建博客的过程。可惜这些系统在windows下都不能顺畅使用,我也没试成功。使用Linux的同学可以试一试。在windows下使用Octopress的教程请看我的博客文章。
参考文章:
Github Pages 基于Jekyll搭建自己的博客 像黑客一样写博客 使用github作为博客引擎 Alex Rothenberg - Moved Blog to Jekyll and GitHub Pages github教程《GoGitHub》 轻量级博客工具: Jekyll vs ToTo 使用 Octopress + GitHub 免費架設部落格,以 Markdown 語法快速發表文章 Hello octopress Bye-bye WordPress. Hello Octopress!
浅谈github页面域名绑定的更多相关文章
- [原创]浅谈H5页面性能优化方法
[原创]浅谈H5页面性能优化方法 前阶段公司H5页面性能测试,其中测试时也发现了一些性能瓶颈问题,接下来我们在来谈谈H5页面性能优化,仅仅是一些常用H5页面性能优化措施,其实和Web页面性能优化思路大 ...
- [原创]浅谈H5页面性能测试
[原创]浅谈H5页面性能测试 H5页面我想各位都不陌生,随着移动互联网兴起,不管是App,还是H5都火起来了,最突出的2个表现是ios/android/前端等工程师薪水大涨,尤其是资深前端工程师40W ...
- [原创]浅谈H5页面测试介绍
[原创]浅谈H5页面测试介绍 目前移动互联网非常火热,除了各种App,H5也是非常热,由于H5跨平台,且版本更新容易,做为引流或获客是非常好的一种简单低成本平台:今天来谈谈H5页面测试都要测试什么? ...
- 浅谈GitHub
Git 是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub. Gith是一个基于 git 的社会化代码分享社区,所谓 social coding.你 ...
- 浅谈WEB页面提速(前端向)
记得面试现在这份工作的时候,一位领导语重心长地谈道——当今的世界是互联网的世界,IT企业之间的竞争是很激烈的,如果一个网页的加载和显示速度,相比别人的站点页面有那么0.1秒的提升,那也是很大的一个成就 ...
- 浅谈Vue之双向绑定
VUE实现双向数据绑定的原理就是利用了 Object.defineProperty() 这个方法重新定义了对象获取属性值(get)和设置属性值(set)的操作来实现的.那么Object.defineP ...
- 浅谈jquery之on()绑定事件和off()解除绑定事件
off()函数用于移除元素上绑定的一个或多个事件的事件处理函数. off()函数主要用于解除由on()函数绑定的事件处理函数. 该函数属于jQuery对象(实例). 语法 jQuery 1.7 新增该 ...
- JS基础——浅谈前端页面渲染和性能优化
加载html中的静态资源 其中,加载静态资源的过程,一般为浏览器根据DNS服务器得到域名的IP地址,然后向这个IP的机器发送http请求,服务器收到.处理并返回http请求,浏览器得到返回http请求 ...
- 浅谈jQuery页面的滚动位置scrollTop、scrollLeft
Web页面常常比显示该页面的浏览器窗口还要大,因为Web文档具有很多内容,往往会导致页面比浏览器还要高,有时候甚至还要宽,这迫使访问者通过滚动来查看整个页面(如图10-8所示).当访问者滚动页面的时候 ...
随机推荐
- 在Excel中引用其他宏
在excel的使用过程中,会用到一些自定义函数,可以使用宏轻松的实现这些功能,问题是必须使用“启用宏的excel”,这样用户每次打开时都要启用宏. 现用以按背景色计划为例,解决以上问题: 1.新建一个 ...
- System.Web.Optimization找不到引用
在程序包管理控制程序中录入:Install-Package Microsoft.AspNet.Web.Optimization,安装即可.
- 绑定本地Service并与之通信-----之一
import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os. ...
- 如何在 Linux 中整理磁盘碎片
有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀的日志文件系统(ext3.4等等)来处理文件系统.然而,在一些特殊情况下,碎片仍旧会产生.如果正巧发 ...
- java之io之File类的list()方法过滤目录的使用
java的io的知识中,File类必须掌握.File类是对文件或者文件夹的封装.它本身并不能对所封装的文件进行读写,它封装的只是文件或文件夹的周边知识,比如 大小啦,创建日期啦,路径啦等等. 如果Fi ...
- FloatingActionButton增强版,一个按钮跳出多个按钮--第三方开源--FloatingActionButton
FloatingActionButton项目在github上的主页:https://github.com/futuresimple/android-floating-action-button F ...
- iOS产品开发流程
iOS产品开发流程 a.产品经理做需求调研,确定产品需求,编写需求文档 b.产品人员完成产品原型 c.产品经理召开会议(产品,UI,UE,开发,测试,服务器) d.设计人员根据原型设计出一系列UI界面 ...
- function format_number(srcNumber, n) {
function format_number(srcNumber, n) {var dstNumber = parseFloat(srcNumber);if (isNaN(dstNumber)) {r ...
- Spring学习笔记之模块简介
1.Core Container(Application context) module 这个是Spring最基本的模块,它提供了spring框架最基本的功能.BeanFactory 是任何基于Spr ...
- 初识VBS
做了测试快一年了吧,迫于无奈,要学习自动化的只是,首先想到了QTP,但是QTP的脚本是VBS,所以必须要会VBS. VBS其实就是一门计算机编程语言,但是缺少计算机程序语言中的部分要素,对于事件的描述 ...