本文原文地址:使用Pelican在Github(国外线路访问)和Coding(国内线路访问)同步托管博客

介绍: Github Pages 禁用了百度爬虫,因此百度搜索引擎经常抓取不到在Github上托管的博客链接。本文介绍一种可行的解决方法:

  • 注册Coding用来托管一份和Github上一样的博客仓库专门服务国内的索引
  • 配置DNS解析,将国内的线路解析到Coding,国外的线路解析到Github
  • 配置Pelican,支持一键将同一份本地博客仓库同时发布到Github和Coding


一、《Pelican+Github博客搭建详细教程》


按照标题链接给出的教程先搭建出一个基于Github托管的博客系统。接下来将说明如何将博客同步到Coding。


二、在Coding创建一个新的项目


  1. Coding首页进行注册并登陆,创建项目的方法与Github类似,不同之处在于coding新建的公开项目名和用户名相同,而不像Github那样是<用户名>.github.io。创建完成后,生成的新的项目链接应该类似于:https://coding.net/<usrname>/<username>.git
  2. 将本地SSH公钥拷贝到coding。操作同样与Github类似。由于本地已经为Github生成了一个公钥,这里只用cd进入~/.ssh文件夹查看一个名为id_rsa.pub文件的内容,类似于如下。我们只拷贝邮箱之前的所有内容到coding的公钥管理页面。
ssh-rsa AAAAfafjIJGOF+FDA。。(省略)。。Ksap Heriam@users.noreply.github.com

三、将仓库拷贝到Coding


  1. 进入Pelican的output目录下的本地博客仓库,打开.git/config,修改远程仓库,将 origin 改为 github,并添加 coding:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "github"]
url = git@github.com:Heriam/heriam.github.io.git
fetch = +refs/heads/*:refs/remotes/github/*
[remote "coding"]
url = git@git.coding.net:Heriam/heriam.git
fetch = +refs/heads/*:refs/remotes/coding/*
[branch "master"]
remote = origin
merge = refs/heads/master
  1. 然后将仓库 push 到 Coding上,在Coding新建一个 coding-pages 分支:
git push -u coding master:coding-pages
  1. 这时登录Coding就可以看到博客内容已经被拷贝到coding-pages分支。

四、配置域名


  1. 登录到网站的域名解析管理页面(我用的是DNSPOD,后来转向Cloudxns),然后添加两条域名解析记录:
@       CNAME  国内  coding.me
www CNAME 国内 coding.me
  1. 在Coding 上“项目管理”中找到“自定义域名/Pages”,添加要绑定的域名,比如我是 jiang-hao.comwww.jiang-hao.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 coding master:coding-pages

这样 ,通过`make github`命令就能一键发布博客更新到Github和Coding了。

使用Pelican在Github(国外线路访问)和Coding(国内线路访问)同步托管博客的更多相关文章

  1. MAC下利用Github 、hexo、 多说、百度统计 建立个人博客指南

    1.前期准备: (1)注册github账号 (2)安装xcode (3)安装node.js 2.创建repository: (1)开个github的个人主页,点击创建仓库按钮 New reposito ...

  2. 如何在github上搭建一个免费的 无限流量的静态网页博客Github pages

    前言: 看到很多相关的教程,但是在实际操作的时候还是遇见了不少问题,这里记录分享一下我的操作流程.免费空间用过很多,博客也用过一些,听说了github后就想试着玩一下这个静态库,感觉挺不错的,操作也比 ...

  3. 不再忍受龟速 Github,你也可以试试在云开发上部署个人博客!

    Hexo 是被大家广泛使用的静态博客系统, 除了在 Github Pages 部署以外,现在你有了一个新的选择,那就是使用云开发静态网站功能来部署啦! 云开发(CloudBase)是一款云端一体化的产 ...

  4. 托管博客到coding或者github

    1. 部署网站到github的pages服务 参考: <在Github上面搭建Hexo博客(一):部署到Github> <Hexo搭建独立博客,托管到Github和Coding上教程 ...

  5. Pelican+Github博客搭建详细教程

    操作系统:Mac OS / Linux 工具集: 1.Pelican--基于Python的静态网页生成器 2.马克飞象--Evernote出的Markdown文本编辑器 3.GoDaddy--域名供应 ...

  6. Gridea+GitHub搭建个人博客

    某日闲余时间看到一篇介绍Gridea博客平台的文章,大概看了一下觉得此平台还不错,随即自己进入Gridea官网瞅了瞅.哇,这搭建过程也太简单了吧,比Hexo博客搭建要容易很多,而且还有后台管理客户端, ...

  7. 可能是最详细的 Hexo + GitHub Pages 搭建博客的教程

    前言:博主目前大三,Web 前端爱好者.写博客的好处,不是为了写而写,而是一个记录思想的过程.不要考虑它能带给你什么,而是你自己从中收获了什么. 最近刚好有空,于是就参照网上的各种教程,搭建了一个博客 ...

  8. Hexo + GitHub Pages搭建博客

    搭建 Node.js 环境 为什么要搭建 Node.js 环境? – 因为 Hexo 博客系统是基于 Node.js 编写的 Node.js 是一个基于 Chrome V8 引擎的 JavaScrip ...

  9. 基于 Hexo + GitHub Pages 搭建个人博客(三)

    一.添加扫描二维码关注功能 打开 themes 目录下的 next 主题配置文件,找到 Wechat Subscriber 标签,将该标签下的配置改成如下形式: # Wechat Subscriber ...

随机推荐

  1. POJ3026 Borg Maze 2017-04-21 16:02 50人阅读 评论(0) 收藏

    Borg Maze Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14165   Accepted: 4619 Descri ...

  2. 快速排序—三路快排 vs 双基准

    快速排序被公认为是本世纪最重要的算法之一,这已经不是什么新闻了.对很多语言来说是实际系统排序,包括在Java中的Arrays.sort. 那么快速排序有什么新进展呢? 好吧,就像我刚才提到的那样(Ja ...

  3. springmvc 开涛 拦截器

    拦截器有三个方法:preHandle, postHandle, afterCompletion ***-servlet.xml <bean name="/test" clas ...

  4. Spring 注入集合类型

    定义了一个类: @Service public class StringTest implements CachedRowSet,SortedSet<String>,Cloneable @ ...

  5. C# Socket 实现WebSocket服务器端

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...

  6. sql添加字段说明

    1,sql字段说明 添加 exec sp_addextendedproperty  N'MS_Description', N'主键', N'user', N'dbo', N'table', N'Fre ...

  7. C# Lock锁(个人随记)

    先看看为什么要用锁 需求:多线程处理值的加减   static int NoLockData = 0; public static void NoLockNormalTest(int threadIn ...

  8. c# 输入姓名直到输入的是quit时,停止输入然后显示出输入的姓名个数及姓名

    1.输入姓名直到输入的是quit时(不区分大小写),停止输入然后显示出输入的姓名个数及姓名: 要求结果如下图所示: class Program { static void Main(string[] ...

  9. 异常测试之Socket网络异常

    本文由作者张雨授权网易云社区发布. 前言 不知道大家在测试的过程中有没有发现关于异常测试这样一个特点: 无论是分散在功能测试中的异常用例还是规模相对较大的专项异常测试中,异常测试的用例占比虽然不大但是 ...

  10. session和cookie的异同

    Cookie是服务器发给客户端的一小段文本,保存在浏览器所在客户端的内存和磁盘上.服务器可以从客户端读出这些cookie.通过cookie,客户端可以和服务器端建立起一种联系,也就是说,Cookie是 ...