使用Pelican在Github(国外)和Gitcafe(国内)同步托管博客
2016-02-04 08:11
666 查看
介绍: Github Pages 禁用了百度爬虫,因此百度搜索引擎经常抓取不到在Github上托管的博客链接。本文介绍一种可行的解决方法:
注册Gitcafe用来托管一份和Github上一样的博客仓库专门服务国内的索引
配置DNS解析,将国内的线路解析到Gitcafe,国外的线路解析到Github
配置Pelican,支持一键将同一份本地博客仓库同时发布到Github和Gitcafe
一、《Pelican+Github博客搭建及快速进阶》
按照标题链接给出的教程先搭建出一个基于Github托管的博客系统。接下来将说明如何将博客同步到Gitcafe。
二、在Gitcafe创建一个新的项目
***
在Gitcafe首页进行注册并登陆,创建项目的方法与Github类似,不同之处在于gitcafe新建的公开项目名和用户名相同,而不像Githubn那样是<用户名>.github.io。创建完成后,生成的新的项目链接应该类似于:
将本地SSH公钥拷贝到Gitcafe。操作同样与Github类似。由于本地已经为Github生成了一个公钥,这里只用cd进入~/.ssh文件夹查看一个名为
三、将仓库拷贝到Gitcafe
***
进入Pelican的output目录下的本地博客仓库,打开.git/config,修改远程仓库,将 origin 改为 github,并添加 gitcafe:
然后将仓库 push 到 Gitcafe 上(必须使用 gitcafe-pages 分支):
这时登录Gitpage就可以看到博客内容已经被拷贝到gitcafe-pages分支。
四、配置域名
***
登录dnspod,然后添加两条域名解析记录:
在Gitcafe 上“项目管理”中找到“自定义域名/Pages”,添加要绑定的域名,比如我是 hao-jiang.com和www.hao-jiang.com。注意这些域名也就是我们刚刚在dnspod中设置的解析域名。
五、配置Pelican实现同步提交
***
设置一键上传:(如有疑问参见《Pelican+Github博客搭建及快速进阶》第三部分第4点)打开根目录下的Makefile文件,修改以下三个地方:
OUTPUTDIR
publish
github: publish
这样 ,通过
注册Gitcafe用来托管一份和Github上一样的博客仓库专门服务国内的索引
配置DNS解析,将国内的线路解析到Gitcafe,国外的线路解析到Github
配置Pelican,支持一键将同一份本地博客仓库同时发布到Github和Gitcafe
一、《Pelican+Github博客搭建及快速进阶》
按照标题链接给出的教程先搭建出一个基于Github托管的博客系统。接下来将说明如何将博客同步到Gitcafe。
二、在Gitcafe创建一个新的项目
***
在Gitcafe首页进行注册并登陆,创建项目的方法与Github类似,不同之处在于gitcafe新建的公开项目名和用户名相同,而不像Githubn那样是<用户名>.github.io。创建完成后,生成的新的项目链接应该类似于:
https://gitcafe.com/<usrname>/<username>.git。
将本地SSH公钥拷贝到Gitcafe。操作同样与Github类似。由于本地已经为Github生成了一个公钥,这里只用cd进入~/.ssh文件夹查看一个名为
id_rsa.pub文件的内容,类似于如下。我们只拷贝邮箱之前的所有内容到Gitcafe的公钥管理页面。
ssh-rsa AAAAfafjIJGOF+FDA。。(省略)。。Ksap Heriam@users.noreply.github.com
三、将仓库拷贝到Gitcafe
***
进入Pelican的output目录下的本地博客仓库,打开.git/config,修改远程仓库,将 origin 改为 github,并添加 gitcafe:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "github"] url = https://github.com/Heriam/heriam.github.io.git fetch = +refs/heads/*:refs/remotes/github/* [remote "gitcafe"] url = https://gitcafe.com/Heriam/Heriam.git fetch = +refs/heads/*:refs/remotes/gitcafe/* [branch "master"] remote = origin merge = refs/heads/master
然后将仓库 push 到 Gitcafe 上(必须使用 gitcafe-pages 分支):
git push -u gitcafe master:gitcafe-pages
这时登录Gitpage就可以看到博客内容已经被拷贝到gitcafe-pages分支。
四、配置域名
***
登录dnspod,然后添加两条域名解析记录:
@ CNAME 国内 gitcafe.io www CNAME 国内 gitcafe.io
在Gitcafe 上“项目管理”中找到“自定义域名/Pages”,添加要绑定的域名,比如我是 hao-jiang.com和www.hao-jiang.com。注意这些域名也就是我们刚刚在dnspod中设置的解析域名。
五、配置Pelican实现同步提交
***
设置一键上传:(如有疑问参见《Pelican+Github博客搭建及快速进阶》第三部分第4点)打开根目录下的Makefile文件,修改以下三个地方:
OUTPUTDIR
OUTPUTDIR=$(BASEDIR)/output/<username>.github.io #本地博客仓库路径
publish
publish: $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
github: publish
github: publish cd $(OUTPUTDIR) ; git add . ; git commit -am '<添加自己的备注>' ; git push github master:master ; git push gitcafe master:gitcafe-pages
这样 ,通过
make github命令就能一键发布博客更新到Github和Gitcafe了。
相关文章推荐
- nodejs 更新本地 node_modules
- 了解HTML表单之input元素的23种type类型
- JSP点击事件大全
- [CSS] :not Selector
- 网页设计html+css基础知识汇总
- 【js】小数保留n位小数
- dubby带你学java---WeakReference
- js插件开发的一些感想和心得
- [html5]动态多边形flat-surface-shader
- 【jQuery基础学习】09 jQuery与前端(这章很水)
- Node.js重新刷新session过期时间的方法
- Nodejs中session的简单使用及通过session实现身份验证的方法
- 关于JavaScript作用域你想知道的一切
- 分享我对JS插件开发的一些感想和心得
- 你一定会收藏的Nodejs代码片段
- JS获取时间的相关函数及时间戳与时间日期之间的转换
- AngularJs中route的使用方法和配置
- html5 history.pushState
- js的匿名函数
- Node.js刷新session过期时间