本文原文地址:使用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. Hdu1896 Stones(优先队列) 2017-01-17 13:07 40人阅读 评论(0) 收藏

    Stones Time Limit : 5000/3000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submis ...

  2. application cache 应用缓存

    这些应用还是要自己实现一遍,否则真不知道哪里会出问题. 客户端: <!DOCTYPE html> <html manifest = 'demo.appcache'> <h ...

  3. 动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)

    动态载入 DLL 动态载入方式是指在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行过程中根据需要决定应调用哪些函数. 方法是:用 LoadLibrary 函数加载动态链接库到内存,用 Ge ...

  4. TFS Java SDK使用指南

    [2018.3.6 更新] 最新版本的TFS Java SDK(14.123.1)支持Java SDK 1.6版本,可以从Oracle的官方网站(http://www.oracle.com/techn ...

  5. 开源项目之ASP.NET Core + Vue.js 的前后端分离的通用后台管理系统框架

    年前看了这个开源项目感觉很不错,这个小项目对于传统的.net 开发人员,想做技术提升是一个很不错的参考案例. 开源项目演示地址:https://dnczeus.codedefault.com/logi ...

  6. 关于STM32位带操作随笔

    以前在学习STM32时候关注过STM32的位带操作,那时候只是知道位带是啥,用来干嘛用,说句心里话,并没有深入去学习,知其然而不知其所以然.但一直在心中存在疑惑,故今日便仔细看了一下,写下心得供日后参 ...

  7. JS时间戳转时间格式

    //转化为时间格式 function getDate(timestamp) { timestamp = timestamp.replace("/Date(", "&quo ...

  8. Java基础学习篇---------this、object的学习

    一.this的学习方法 1.使用this调用构造方法市一定放在构造方法的首行 2.使用this调用构造方法时一定流出调用的出口 public class MyClass { public MyClas ...

  9. Python中进程和线程的总体区别

    Num01–>线程 线程是操作系统中能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位. 一个线程指的是进程中一个单一顺序的控制流. 一个进程中可以并发多条线程,每条线程并行 ...

  10. 931. Minimum Falling Path Sum

    Given a square array of integers A, we want the minimum sum of a falling path through A. A falling p ...