使用Pelican在Github(国外线路访问)和Coding(国内线路访问)同步托管博客
本文原文地址:https://jiang-hao.com/articles/2018/frontend-使用Pelican在Github和Coding同步托管博客.html
介绍: Github Pages 禁用了百度爬虫,因此百度搜索引擎经常抓取不到在Github上托管的博客链接。本文介绍一种可行的解决方法:
- 注册Coding用来托管一份和Github上一样的博客仓库专门服务国内的索引
- 配置DNS解析,将国内的线路解析到Coding,国外的线路解析到Github
- 配置Pelican,支持一键将同一份本地博客仓库同时发布到Github和Coding
一、《Pelican+Github博客搭建详细教程》
按照标题链接给出的教程先搭建出一个基于Github托管的博客系统。接下来将说明如何将博客同步到Coding。
二、在Coding创建一个新的项目
- 在Coding首页进行注册并登陆,创建项目的方法与Github类似,不同之处在于coding新建的公开项目名和用户名相同,而不像Github那样是<用户名>.github.io。创建完成后,生成的新的项目链接应该类似于:
https://coding.net/<usrname>/<username>.git
。 - 将本地SSH公钥拷贝到coding。操作同样与Github类似。由于本地已经为Github生成了一个公钥,这里只用cd进入~/.ssh文件夹查看一个名为
id_rsa.pub
文件的内容,类似于如下。我们只拷贝邮箱之前的所有内容到coding的公钥管理页面。
ssh-rsa AAAAfafjIJGOF+FDA。。(省略)。。Ksap Heriam@users.noreply.github.com
三、将仓库拷贝到Coding
- 进入Pelican的output目录下的本地博客仓库,打开.git/config,修改远程仓库,将 origin 改为 github,并添加 coding:
[core]repositoryformatversion = 0filemode = truebare = falselogallrefupdates = trueignorecase = trueprecomposeunicode = true
[remote "github"]url = git@github.com:Heriam/heriam.github.io.gitfetch = +refs/heads/*:refs/remotes/github/*
[remote "coding"]url = git@git.coding.net:Heriam/heriam.gitfetch = +refs/heads/*:refs/remotes/coding/*
[branch "master"]remote = originmerge = refs/heads/master
- 然后将仓库 push 到 Coding上,在Coding新建一个 coding-pages 分支:
git push -u coding master:coding-pages
- 这时登录Coding就可以看到博客内容已经被拷贝到coding-pages分支。
四、配置域名
- 登录到网站的域名解析管理页面(我用的是DNSPOD,后来转向Cloudxns),然后添加两条域名解析记录:
@ CNAME 国内 coding.me
www CNAME 国内 coding.me
- 在Coding 上“项目管理”中找到“自定义域名/Pages”,添加要绑定的域名,比如我是 jiang-hao.com和www.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: publishcd $(OUTPUTDIR) ; git add . ; git commit -am '<添加自己的备注>' ; git push github master:master ; git push coding master:coding-pages
这样 ,通过`make github`命令就能一键发布博客更新到Github和Coding了。
使用Pelican在Github(国外线路访问)和Coding(国内线路访问)同步托管博客相关推荐
- GitHub Pages + Hexo + NexT + Typora + WhatsNote打造完美个人知识共享博客
GitHub Pages + Hexo + NexT + Typora + WhatsNote打造完美个人知识共享博客 一.目标 二.理念 三.准备工作 1. 工具 2. 过程 四.实现过程 1. 搭 ...
- 用js实现导航栏shoufang效果_【读者投稿】用Github+docsify,我花了半天就搭好了个人博客...
前言 "作为一个真正的码农,不能没有自己的个人博客",这是我说的.惭愧的是,入行两年多了都没搞起来,这让我一度怀疑自己是个假程序员.昨天终于克服了心里的"犹豫" ...
- 如何在github上搭建一个免费的 无限流量的静态网页博客Github pages
前言: 看到很多相关的教程,但是在实际操作的时候还是遇见了不少问题,这里记录分享一下我的操作流程.免费空间用过很多,博客也用过一些,听说了github后就想试着玩一下这个静态库,感觉挺不错的,操作也比 ...
- GitHub下载 无法分配请求的地址_Hexo+Github--搭建个人博客(一)准备工作amp;amp;环境搭建
前段时间空闲就自己搭建了个博客,以后也会将博客在博客园和个人博客网站上两边同时同步,今天将我搭建博客的一些步骤和过程写下来,搭建博客的过程和步骤是参考网上其他博主的一些做法,在这里综合起来做个总结分享 ...
- GitHub 优秀的 Android 开源项目 淘宝技术牛p博客整理开发中最常用的GitHub上 优秀的 Android 开源项目整理(精品)...
原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...
- 不花钱不费力,Hexo + GitHub 五分钟教你免费搭一个高逼格技术博客
引言 作为程序员拥有一个属于自己的个人技术博客,绝对是百利无一害的事,不仅方便出门装b,面试时亮出博客地址也会让面试官对你的好感度倍增.经常能在很多大佬的技术文章的文末,看到这样一句话: " ...
- Github 标星 13K+!这可能是最好的 Java 博客系统
点击上方"后端技术精选",选择"置顶公众号" 技术文章第一时间送达! 来源:GitHub https://github.com/halo-dev/halo Ha ...
- Win XP文件夹拒绝访问的解决方法 - 年轻无极限 - 51CTO技术博客
来源:http://young.blog.51cto.com/222808/41372/#559183-hi-1-11702-08c6f377f6137365c84b0ba509679545 转载于: ...
- php只能小程序访问,百度智能小程序支付 - 冯奎博客 — 再牛逼的梦想,也抵不住你傻逼似的坚持。 — Fengkui Blog...
之前写了百度小程序,时间长怕忘记,写篇文章记录一下. (当前文章已更新建议阅读:百度智能小程序支付(新)) 百度小程序支付文档: https://dianshang.baidu.com/platfor ...
最新文章
- 近期活动盘点:知识智能高峰论坛暨“知识智能联合研究中心”年度报告会、新时代的医学影像及心脑血管成像的应用思享会...
- node web模块 (服务器端和客户端)
- P1338 末日的传说
- AndroidStudio 集成环信的一个坑
- Training—Managing Audio Playback
- 面向对象VS面向过程
- InfoPath的常见问题---连接外部数据源提示
- 服务器无法继续该事务 3400000006 错误原因--JAVA调用SQLSERVER存储过程时过程发生异常内部事务未
- Netty工作笔记0004---BIO简介,介绍说明
- 《手把手教你》系列基础篇之4-python+ selenium自动化测试-xpath使用(详细教程)
- leetcode 374. Guess Number Higher or Lower 、375. Guess Number Higher or Lower II
- Linq to xml:检索
- xx闪购——顶部的菜单栏
- Python实现B样条代码
- 计算机图形学画简单图形,计算机图形学 基本图形绘制 Koch雪花绘制
- iOS 音乐 播放器 声音
- ONF推新版Atrium 获得OpenDaylight支持
- char *s[]与char s[][]
- Java中阻塞队列类型介绍
- 使用Python将MQTT传感器数据记录到SQL数据库