coding pages 博客的 pages 服务为什么突然自定义域名都变成 https 了

怎样做一个漂亮的 GitHub Pages 首页?
大概每个人技术和可展示的内容都会不一样吧,说说看法好了。
按投票排序
GitHub pages和Octopress搭配,可以搭建免费、稳定的静态博客。安装配置很简单,通过git,管理很方便,重要地是很自由。给楼主一些参考链接吧:1. 2. 3. ,这里有Octopress很多简洁的主题。
我会告诉你
是用 Github Page 做的吗?PS:由于 gh-page 百度不收录,我们已转入国内平台
漂亮这个词本身就是很主观。有人喜欢拟物有人爱扁平,有人喜欢蓝色有人讨厌粉红。但是有一些设计原则是通用的,它可以保证你的作品给人以美感,这些通用的原则里面最重要的一点就是简约,适当留白。事物的发展规律是这样的:简陋 --& 华丽 --& 简约。简约是必须经过华丽之后蜕变而成的,没有经过华丽,就很难真正理解简约。同样道理,没有经过华丽的拟物化,也很难体验现在的扁平化美在哪里。最后贴一下最近完成的算是比较满意的github pages设计。权当练练手。
我用jekyll做的博客,你可以看看,我觉得挺漂亮的,可以自选主题
百度/Google一下会有很多的帖子讲如何搭建自己的Github Pages。而如何做出“漂亮的”Github Pages,新手的话,从挑一个诚心如意的模板开始把。关于搭建:这是作者关于搭建GP的最新贴,很精练。其中Jekyll是Github默认的模板系统,所以也推荐选择这个。如果在搭建Jekyll中出现问题,可以参考Github的帮助页:关于模版:这里有一些不错的模版,可以去看看,然后fork下来,解压到自己的项目文件夹中,commit到你的github上就好了。然后根据自己的需要再进行修改。Ps. 有些主题需要额外安装一些工具,例如sass。但是直接在项目文件夹中gem install sass就好了,比较简单。如果你下载了模版使用中有问题,可以看一下模版文件夹下的README.md关于更多:这个帖子的后半部分(从Jekyll模版系统开始),比较详细的介绍了Jekyll,并且推荐了一些关于如何加入“评论”,“代码高亮”的功能的插件。其他链接:我的博客:就是用上述办法搭建的,可以供大家参考。=====
=====更新“关于模版”更新了我自己Blog的模版
参考了几个改了下,弄个免费域名,差不多了。以后还是专注内容吧。
GitHub Pages有官方的自动生成工具,自带主题,图简便可以试试。GitHub:help
做博客貌似很多人在用octopress,可以实现Wordpress的迁移:做项目的介绍或者个人知识管理推荐一下Vimwiki,简洁高效,条目清晰,适合资料的收集整理。推荐几个不错的Vimwiki站点:闲耘:丘迟的维基世界:波黎克斯:当然了,要做出漂亮的首页,离不开好的设计,扎实的CSS功底,辅助的JS锦上添花更好。
现在可以用hugo生成静态网站,放到github上
... github pages 和普通的网页没有什么区别啊,只是被 github host 而已 ...
已有帐号?
无法登录?
社交帐号登录手把手教你用github pages搭建博客 最新版 - 博客频道 - CSDN.NET
Coding and Living
http://www.woaitqs.cc
分类:Java杂项
本文来自于我的个人博客,转载请注明
如果给你40分钟,可以搭建一个如下图所示的网站,你愿意吗?如果你愿意,那我们就开始干!
搭建博客网站有各种各样的方法,根据不同的需求,又不同的做法。如果你只是想单纯做一个博客,和世界分享你的观点和视角,那么我推荐使用 github pages。
github page 学习成本最低,相比其他搭建方式而言,不需要太多的服务器基础。
天然基于版本控制,便于对代码进行迁移。日后若想进行博客的迁移,只需要支持 Jekyll 或者 Hexo 就行。
Github Pages 本身就是一个 git 项目,其他人可以 fork 或者参与到你的博客建设中,这本身可以独立也可以互相协作,换而言之,这也是你的 contributions , 如下图所示,当别人进入你的 github 主页时,就能看到你的活跃程度了。
Github Pages 需要相应的博客引擎来驱动,主流的有两个
和 。两者的使用频率都比较高,我选择了 Jekyll,因为目前国内的
(国内的github)只支持 Jekyll , 如果日后 github 被墙 (已经短暂发生过…),还可以无缝切换到 coding.net 上。
需要准备的知识和事物
注册一个 Github 账号,点击进行注册。
了解一些 git 版本控制系统 的操作原理,如果不熟悉的话,可以通过
来进行学习,这个网站在墙外,不能访问的话,可以参考这个极简版本 。在学习 git 的基本操作后,要学会使用这几个命令 git pull 或者 git fetch, git rebase,以及git push。
购买个人域名(可选),使用 github pages,会给你一个 github
的域名,例如我的用户名是 woaitqs,那么我就有一个
的域名。如果你想要有一个属于自己的域名,推荐大家使用 ,这个国外的老牌域名服务商。由于这是墙外的服务提供商,在国内还是存在一些不稳定因素,需要搭配
使用。当然如果你嫌需要2个地方折腾麻烦,可以和我一样选择用阿里的
进行域名注册。
这么萌,你确定不要试试吗?
配置 Github
Github 是出名的版本控制仓库,所谓仓库就是存放货物的地方,而 Github 就是就是存放代码的仓库。既然是仓库,那么就得要钥匙,不然别人去我们自己的仓库里面偷东西怎么办?同时我们也得知道怎么往仓库里放东西,在这一小节,就来看怎么配置 Github。
安装 ,点击下载并安装。
使用仓库前,标明自己的身份(名字和邮箱)。安装git后,通过命令行打开终端,cmd (windows,需配置环境变量) 或者 Terminal,输入一下命令。
git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL ADDRESS"
生成相应的令牌,本地一份,Github 一份,这样 Github 可以在你使用仓库的时候,进行校验确定你的身份。继续在终端里面输入下面的命令。
mkdir key_backup
ssh-keygen -t rsa -C "*your_*"
这样在 .ssh 目录下会有 id_rsa.pub ,使用 cat id_rsa.pub 命令,可参看具体内容。
将 id_rsa.pub(令牌) 传递到 Github ,通过 “Account Settings” & Click “SSH Keys” & Click “Add SSH key” 路径可以提交,如下图所示
再测试一下
ssh -T git@github.com
如果是下面的反应:
The authenticity of host
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
不要紧张,输入yes就好,然后会看到:
Hi &em&username&/em&! You have successfully authenticated, but GitHub does not provide shell access.
也可以参考
后面的 USERNAME 均代表你 Github 的账号,再使用时请自行替换。
进入你的 github 主页,选择 new repository,进入到
的界面。新建一个
的仓库,这里 USERNAME 是你的 Github 的用户名,且只能是你 Github 的账户名。
拉取现有的博客模板进入你的仓库。这里/plusjade/jekyll-bootstrap.git 也可以是其他博客的仓库地址,在最开始的阶段还是建议选择 /plusjade/jekyll-bootstrap.git 作为入门的仓库,该仓库提供了几款不错的样式。继续在终端中进行这几个步骤。
git clone https://github.com/plusjade/jekyll-bootstrap.git USERNAME.github.com
cd USERNAME.github.com
git remote set-url origin git@github.com:USERNAME/USERNAME.github.com.git
git push origin master
这里所完成的事情,就是拷贝一份别人的仓库,并作为自己的仓库,便于日后自己进行自定义的修改。
再耐心等等几分钟,点击
就能看到博客界面了。
Cheers!来,朋友干一杯!
第一篇博文
在看到界面之后,现在该看看怎么写第一篇博客了。博客的正常工作,需要相关的博客引擎来支持,这就是前文中提及的
, 在 Github Pages 已经安装完成了,因而 前面所使用的
才能看到正常的画面。
那么如果想在本地也看到效果后,再上传 Github 的话,可以在本地安装 Jekyll。Jekyll 的安装依赖于 Ruby,因而安装前需要下载 Ruby,具体的步骤如下。
安装Ruby : 对于 Windows 用户而言,非常简单,从
下载即可。而 Mac 用户,最新版的系统已经自带,无需处理。
安装 Gem : 安装 Ruby 过后,就可以安装可以在 Ruby 运行的软件,有一个工具可以帮我们管理 Ruby 软件,这就是 Gem,类似于 Mac 上的 Homebrew,Ubuntu 上的 apt-get,或者手机上的 豌豆荚 23333。安装方式也很简单, 从这个网站上进行下载即可。
安装 Jekyll : 有了软件管理器后,现在要做的事情就是安装今天的主角 Jekyll ,非常简单,一行话的事情。
gem install jekyll
验证安装 : 执行 jekyll serve 命令,然后在浏览器访问
如果一切正常,你就能看到与 Github Pages 上相同的画面了。
享受书写 :首先创建一篇文章,通过 rake 命令即可。rake post title="Hello World" 这样就创建了一篇 YYYY-MM-DD-title-Hello-world.md 的文章。文章采用的是 markdown 语法进行编写,关于 markdown 语法,这里有一篇不错的文章进行介绍, 。
本地查看与上传 : 同样通过jekyll serve,在浏览器中进行查看,如果没什么问题的话,现在就可以上传到服务端。
# 将新添加的文件加入索引中
# 将这次的修改作为一个打包
git commit -am "first blood"
# 拉取远程仓库的代码
# 与远程仓库的代码进行比对和合并
# 提交到远程仓库
git push origin master
再耐心地等待一小会,访问这个链接
即可查看你提交的内容。
Markdown 语法简介
markdown 语法十分简单,非常有利于写作,这里做一个简单介绍,熟悉的读者可以跳过这一章节。
# 表示标题,## 表示2级标题,同理####表示4级标题
空行表示新的段落,如果不空行的话,markdown 认为是同一段落
[A](B) 这样样式表示为链接,A为你想要显示的文字,B为实际的链接
![A](B) 这种样式表示图片,A为图片的描述文字,B为图片链接
* 表示无序列表,1,2,3 表示有序列表
以上就是 Markdown 的基本语法。
一个小插曲
据说百度爬虫爬得太猛烈,已经对很多Github 用户造成了可用性的问题了,而禁用百度爬虫这一举措可能会一直持续下去。换而言之,Github Pages 无法被百度索引。这也是我放弃使用
作为我域名的缘故。
当然你特有的域名,也是对你自己的一种投资,非常值得。
解决上诉的问题,首先需要买一个域名,因为万网自带云解析,因为就直接在万网买了
的域名。当然也可以使用其他域名服务提供商,建议使用 。
接下来需要告知github,现在你有域名了。在根目录下创建 CNAME 的文件,一定要大写,在文件中输入你的域名即可。在 Github 上直接操作,或者在本地操作,与提交博客的方式一样上传到 Github 都可以。等上几分钟,就可以通过你的域名进行访问了,点击
同样效果了。
接下来解决百度无法索引的问题,从问题出发,既然百度无法对 Github Pages 进行爬虫,那么对百度走单独的通道,不就解决这个问题了吗?那么单独针对百度的镜像从哪里来?可以是国内的 Coding.net 也可以是自行搭建的 VPS。方法与配置 Github Pages 类似,就不在赘述,可参考 。
现在针对百度和默认,配置相关的域名解析即可,如下图所示。
当博客访问量不高的时候,可以试试这个外链工具
在生成相关的博客后,如果想进一步自定义,还需要对 分页 / 目录 / 主题 / 摘要 / 图床 这些地方进行小的改进,这里先做简单介绍,如果读者有相应需求,可以在详细说明。
通过 jekyll-paginate 来实现,可自定义每页文章数量。
使用 markdown 为kramdown时,可使用 TOC 工具自动完成。
继承他人的样式,或者自定义修改。
我采用了这个注释的方式,如果检查到这个注释,就不再往下显示。
这里重点推荐 ,谁用谁知道。
最后祝大家博客搭建顺利,玩的开心!
欢迎各位关注我的公众号,纯手工,分享编程科技方面的前言知识,谢谢大家!
superjimmy
排名:千里之外
(1)(9)(0)(15)(1)(0)(5)(1)(9)好久没更新了,这边都快成荒地了。今天想到一个比较简单的问题,所以先处理了写篇文章上来,好给blog加点生机(其实post里躺着不少草稿,不过一直没办法写完╮(╯▽╰)╭)
很早之前我就记得某篇讲hexo的文章里提到每个GitHub只能拥有一个GitHub Pages页面,所以后来一直不敢在自己的帐号底下添加除blog外的其他GitHub Pages。直到今天仔细研究了下GitHub的规则,才发现上面那句话有很大的问题。
这篇文章主要是讲github下多个GitHub Pages项目相关以及自定义域名访问的问题,没太多上的东西,基本上都是属于GitHub的文档意译和解释,英语好的可以直接看这官网这两篇FAQ:
注:虽然全文基本上都在讲GitHub Pages,但我个人亲测这些规则也都适用于GitCafe Pages,两者没有本质区别。 所以像我一样双线部署blog的可以安心地把GitHub的东西搬到GitCafe来。不过为了行文方便,下文不再特意强调GitCafe Page,均以GitHub Pages代指("Coding"的是否也如此并不清楚,有心人可以自测)
以我个人为例,我在GitHub上已经有了一个和用户名同名的当作个人主页(),但是我现在又有了几个想法:
再在GitHub上弄一个GitHub Pages项目当作我的demo页面展示,而不是在原先的blog项目下加子目录(一来访问url不好看,二来很多会强制对所有项目内的文件添加样式,影响展示效果)
同时demo页面的访问链接是我自定义的一个域名(如:是demo.chitanda.me或者demo.chitanda.github.io而不是chitanda.github.io/demo)
那么上面两个要求,GitHub能否都满足呢?卖个关子先,结论放在下文。
GitHub Pages的分类及区别
根据,GitHub Pages分为两类:个人/组织主页以及项目主页,两者基本上没啥区别,但是有以下几点不同:(该文场景下个人和组织帐号没什么区别,所以下文为了行文方便将统一用个人主页代指)
个人必须要和用户的GitHub帐号同名,所以每个用户有且只能有一个repo作为个人主页,且必须是&username&/&username&.github.io的形式;而项目主页的命名则没有这种限制,且数量有任意多个。
不考虑绑定的自定义域名的前提下,个人主页的GitHub二级域名为&username&.github.io;项目主页的GitHub二级域名为&username&.github.io/&projectname&,没有&projectname&.&username&.github.io这种方式
个人主页的展示内容以master分支里的文件为准;而项目主页的展示内容以gh-pages分支内的文件为准
从上面的分析可以发现两个问题已经解决掉一个半了。那么剩下来的问题就是如何配置一个项目主页并绑定自定义域名了。
项目主页的建立和自定义域名配置
注:配置过程和个人主页一模一样,如果之前配置过个人主页的,可以跳过这部分内容了
建立项目主页
新建一个repo,repo名字随意。
点进repo主页然后点击右面的Settings,页面往下拉到GitHub Pages部分,选择Launch automatic page generator&Continue to layouts&Publish page即可.(由于大部分情况下并不用默认的页面和样式,所以这里不需要太纠结于内容编辑)
这样一个项目主页就建立完成了,此时可以用&username&.github.io/&projectname&访问到了。
绑定自定义域名
在项目的repo里新建一个CNAME文件,并将不带协议名的裸域名写进去(demo.chitanda.me而不是http://demo.chitanda.me/)
这一步可以参考
到你域名的DNS服务商里给对应的二级域名添加CNAME解析到&username&.github.io(和个人主页的配置相同)
等待DNS生效,具体时间和服务商有关(十几分钟到几小时都有可能)。
如果不确定自己的解析是否生效了,可以在系统下用dig命令来检测.参考
GitHub和GitCafe双线部署的小tips
上面的配置对于单线部署的来说已经完成了,不过对于双线部署的用户而言,有几个小问题需要注意下
DNS服务商里要按照来源对对应的二级域名做分流配置。(具体过程可以参考
如果想要所有用户都可以用</project的方式访问到repo,GitHub和GitCafe的repo名字必须相同,否则会导致有一边跳404
可以参考我这里的例子:GitHub上的名字为demo,GitCafe上的名字为demos,则不翻墙的情况下国内用户访问会跳404,而用则正常(另外同个链接在翻墙和不翻墙的情况下看到的页面不同,也是分线部署的功劳)
聊胜于无的总结。对于上面提到的几个问题,也有了答案:
每个GitHub帐号下只能有1个个人主页repo,但是可以有不限数量的项目主页repo。
没有自定义域名的情况下,项目主页的访问链接只能是&username&.github.io/&projectname&而不是&projectname&.&username&.github.io
GitCafe添加GitHub Pages后必须要自己本地同步文件上去,而不能像GitHub那样一键,GitCafe每个repo初始化页面的代码是有步骤略过去的,新手的话一开始可能同步不了。建议看他们的之前我们把hexo托管在github,但是毕竟github是国外的,访问速度上还是有点慢,所以想也部署一套在国内的托管平台,之前查资料听说gitcafe,但是听说gitcafe已经被coding收购了,所以就决定部署到coding。 查询了多方资料,终于鼓捣出了本地一次部署,同时更新到github以及coding。
_config.yml配置
想要同时部署到2个平台,就要修改博客根目录下面的_config.yml文件中的deploy如下
根据Hexo官方文档需要修改成下面的形式
message: [message]
github: &repository url&,[branch]
gitcafe: &repository url&,[branch]
所以我的是这样:
github: :tengj/tengj.github.io.git,master
coding: git@git.coding.net:tengj/hexoblob.git,master
这里要注意一下:上面这段代码左边的-号只能有2个(如下图红圈),如果超过2个一般就是会被认定为填写格式有问题。我是在repo下面两行用tab键缩进就行,之前没注意这里一直报错。
我这边提交采用的SSH密钥,这个方法有个好处,提交的时候不用输入用户名和密码。如果你习惯用http的方式,只要将地址改成相应的http地址即可。
coding上创建一个新项目
这里只介绍coding上面如何创建项目,以及把本地hexo部署到coding上面,还不懂如何创建hexo的请看我之前的系类文章。首先我们创建一个项目,创建后进入项目的代码模块,获取到这个项目的ssh地址,我的是https://git.coding.net/tengj/hexoblob.git
同步本地hexo到coding上
把获取到了ssh配置在上面的_config.yml文件中的deploy下,如果是第一次使用coding的话,需要设置SSH公钥,生成的方法可以参考
如果你看过我第一篇文章,里面也有介绍如果如果生成,我这里直接使用之前部署github时已经生成的公钥。
本地打开 id_rsa.pub 文件,复制其中全部内容,填写到SSH_RSA公钥key下的一栏,公钥名称可以随意起名字。完成后点击“添加”,然后输入密码或动态码即可添加完成。
添加后,在git bash命令输入:
如果得到下面提示就表示公钥添加成功了:
Coding.net Tips : [Hello ! You've conected to Coding.net by SSH successfully! ]
最后使用部署命令就能把博客同步到coding上面:
hexo deploy -g
pages服务方式部署
部署博客方式有两种,第一种就是pages服务的方式,也推荐这种方式,因为可以绑定域名,而第二种演示的方式必须升级会员才能绑定自定义域名。pages方式也很简单
就是在source/需要创建一个空白文件,至于原因,是因为 coding.net需要这个文件来作为以静态文件部署的标志。就是说看到这个Staticfile就知道按照静态文件来发布。
cd source/
touch Staticfile
#名字必须是Staticfile
分支选择master,因为前面配置的分支是master,因此开启之后,也需要是master。然后看起之后就可访问了。
如果你的项目名称跟你coding的用户名一样,比如我的用户是叫tengj,博客项目名也叫tengj
那直接访问 tengj.coding.me就能访问博客,否则就要带上项目名:tengj.coding.me/项目名 才能访问
推荐项目名跟用户名一样,这样就可以省略项目名了
演示方式部署
当你把你的静态网站上传到Coding之后,就可以着手部署演示了,Coding的演示平台支持静态网页,所以其实非常简单。在开启演示模式之前,会提醒你没有检测到环境,你直接强制开启就可以了。
部署版本我没有填,默认是master
运行环境一定要选择HTML
自动部署要勾上,为后面配置自动部署做准备
访问域名根据你自己喜爱填写,填好要点急后面的确认按钮
应用内存也根据自己喜好填写,填好要点急后面的确认按钮
以上都配置好了,就可以按下一键部署的按钮了,部署成功后输入地址:tengj.coding.io就能访问
设置自动部署
如果你是演示方式的话,就需要设置自动部署,很奇怪,我勾选上了自动部署,但是同步新文章的时候,tengj.coding.io访问没有自动更新最新的。查了资料发现还要配置WebHook才行
找到项目设置那边的WebHook,然后点击新建 Hook
第一个输入框中是填你的博客域名,然后在后面加上 /_
第二个输入框是输入一个 token ,我们直接填写 { { TOKEN } } 就可以了,TOKEN两边的大括号见的空格记得去掉
回到演示里,在左边的栏目中找到环境变量,变量名填写为 WEBHOOK_TOKEN ,值为 { { TOKEN } } ,接着重新启动应用就 ok 了!
最后一步我们要测试一下是否 push 代码的时候就会自动部署。我们回到命令行创建一个新的文章(可以什么都不写),然后生成静态页面 push 到仓库去:
hexo n codingPage
hexo deploy -g
我们回到浏览器在输入博客的地址,如果那篇新写好的文章出现在首页了,说明我们自动部署成功了。以后再也不用自己去手动部署一次了!
个人域名绑定
我在万网上面购买了tengj.top域名,第一年只要4元哈哈,个人用的就不用com这种超级贵的域名了。现在要实现国内的走coding,海外的走github,只要配置2个CNAME就行。域名解析如下:
过几分钟后检测tengj.top看到的解析是正确的,国内解析到Coding,国外解析到Github,如图:
我现在访问tengj.top是跳转到coding上面
直接访问tengj.github.io地址会跳转到tengj.top,但是内容也是coding上面
直接访问tengj.coding.me发现不会跳转到tengj.top这个域名,原因我发帖问过别人,答案如下:
github只能绑定一个域名,所以访问tengj.github.io时,github的服务器知道要往tengj.top跳转。coding可以绑定多个域名,当绑定多个域名时,访问tengj.coding.me,coding的服务器不知道要往哪里跳转,所以干脆就不跳转了。但是当绑定一个时,为什么不跳转,可能是coding觉得麻烦,就不跳转了。这些都是coding定的,我们没办法改变。
你先想一个问题:那么多人都要在github上搞博客,还要自定义域名。github哪来这么多ip给你们用?所以办法就是仅仅提供一个ip,这样必然导致这个服务器上发着所有人的博客文件,那么如何区分特定的域名应该展示谁的博客呢?答案就是在仓库里面新建一个CNAME文件,里面写上你博客想用的域名,github的服务器会根据当前http请求的Host头部(即域名),查找对应的包含相同的CNAME内容的目录,从而显示其中的页面。这就是为什么要在仓库里面创建一个CNAME原因。
不过,事情还没完,一个ip的问题是世界各地不同地点的访问速度不同,有些地方可能很慢,所以需要一组ip来分担一下。最早github好像只有2个ip,后来ip变多了。再后来,github支持域名解析的时候,通过alias来。比如在域名商那边设置成 ---& tengj.github.io,由于github无法控制你如何配置域名和ip的关系,但他可以控制tengj.github.io的最终ip解析,所以github推荐大家使用alias解析,可以为博主提供就近ip访问。这就是你在域名商那边配置CNAME或者alias的原理。这里的CNAME跟上面提到的CNAME作用不同,不是一个概念,不要混淆。
到此为止,终于可以实现部署一次,github和coding两个同步都搞定了。访问速度也是唰唰唰的快,忙乎了大半个月终于搭好了独立博客。希望对还在搭建hexo独立博客的小伙伴有帮助。下一篇研究下如何让百度能收录我的博客。
更多教程可以来我嘟嘟独立博客里面看到
欢迎来访:
最近撸了个java的公众号,学习资源超级多,视频,电子书,最新开发工具一个都不能少,已全部分享到百度云盘,求资源共享,打造一个学习方便,工作方便的java公众号,开源开源,有需求的可以关注~撒花

我要回帖

更多关于 coding pages hexo 的文章

 

随机推荐