Github Page

github page是由用户编写的托管在github上的静态网页,为了搭建一个个人博客,我们可以租用一个云服务器然后部署我们的博客项目,常见的比如wordpress,像wp这样的博客系统需要用到服务器后台的数据库,所以是动态的,github page相对于云服务器来说,不能提供数据库服务,所以资源都是静态存放在github上的,但是是免费的,而且速度也还可以,相对来说很稳定。

Hexo

什么是Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。简单来说Hexo就是一款适合用在github page的博客框架。

安装步骤

Git

Git是分布式版本控制系统,我们需要用git上传我们的博客代码。

Nodejs

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,Hexo基于Nodejs

npm

NPM是随同NodeJS一起安装的包管理工具,用来下载别人编写的第三方包。

换源

因为nodejs是国外的技术,所以下载速度在次元壁的限制下会很慢所以我们可以换成国内的淘宝镜像

npm config set registry https://registry.npm.taobao.org

查看是否换源成功

npm config get registry

Hexo

新建文件夹用于存放博客文件,然后cd到该目录。

npm install -g hexo-cli

安装完后用hexo -v 查看版本确保安装成功,之后初始化

hexo init myblog #myblog是自己取的名字随你

进入myblog,安装依赖

npm install

打开myblog文件夹目录结构如下

  • node_modules: 依赖
  • scaffolds:生成文章的一些模板
  • source:用来存放你的文章
  • themes:主题
  • public:运行之后会生成,博客的静态文件
  • 以及一些配置文件
hexo g  # Generate static files
hexo server



打开hexo服务在浏览器打开http://localhost:4000就能看到博客了



创建新仓库 命名为用户名+.github.io例如ljshllw.github.io

创建ssh

git config --global user.name "yourname"
git config --global user.email "youremail"
ssh-keygen -t rsa -C "youremail"

回车直到结束,ssh,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub

登陆github找到setting添加SSH key 将刚才生成的id_rsa.pub(文件所在地址生成在ssh-keygen命令的时候有显示查看gitbash记录即可得知)文件里的内容粘上去



gitbash中输入如下命令查看是否成功

ssh -T git@github.com

关联

修改_config.yml(你的博客目录下)文件,下拉到底部

deploy:
type: git
repo: https://github.com/name/name.github.io.git #name为你的github名称
branch: master

安装deploy-git

npm install hexo-deployer-git --save

Hexo素质三连完成发布

hexo clean    # 清理
hexo generate # 生成
hexo deploy # 部署

绑定域名

买域名

国内的可以去阿里云旗下万网买,缺点是需要认证,国外的话可以去GoDaddy买,不用实名认证,前提是不部署在国内厂商的云服务器,政策要求都需要认证(十分之坑),.top是新出的中国顶级域名价格也很便宜买个玩玩也不错。我这里是在阿里云买的,因为方便,bearw.top <熊网?熊王> ,买了很久了忘了价估计也就是20块钱一年,长度短有意义的域名肯定相对就比较贵成千上万的我只敢看看,长度很长的个位数就能拿下。

解析

我这里用阿里云的做演示,登陆阿里云控制台,选择域名选项,添加两条CNAME解析

github设置

登陆github选择gitpage仓库,选择settings,下滑找到Github PagesCustom domain里填入你的域名,然后点击Save,稍等一会就好了,之后会默认转成HTTPSSSL证书来自Let's Encrypt

个性化

Hexo 支持主题设置,可以自己选择安装主题,可以配置的选项也很多,对于新手很友好,熟悉前端的小胖友们更是可以自行定制属于自己的博客。

bearw.top点我!

也是因为今天突然想起来之前买了域名还没用,就起兴弄个这个玩玩,顺便分享给大家,如果有兴趣可以自行摸索。

Github pages博客搭建与域名绑定的更多相关文章

  1. github文件上传及github pages博客搭建教程

    一.与github建立连接 1.安装node.js和git 2.桌面新建文件夹[github],右键“git bash here” 3.注册github账号,新建仓库“new repository”, ...

  2. 一站式搭建 GitHub Pages 博客 (一)

    本文将详细讲解如何快速搭建 GitHub Pages 博客页面 关于博客主题,博客信息更改,上传文章等将会在 一站式搭建 GitHub Pages 博客 (二) 中进行详细讲解 准备阶段 注册 Git ...

  3. GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...

  4. 使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源(二)

    之前写过一篇 使用 jsDelivr 免费加速 GitHub Pages 博客的静态资源,在那之后,又陆续想到并实施了几点利用 jsDelivr 进一步加速静态资源加载的措施,新起一篇作为记录和分享. ...

  5. Hexo+Github个人博客搭建 | 实战经验分享

    概述 第一次尝试搭建属于自己的博客,并且成功了,非常开心. 很久之前就想搭建一个博客,可是也一直没有行动,最近在逛B站的时候发现一个up主(CodeSheep)的一个视频 <手把手教你从0开始搭 ...

  6. Github相册博客搭建

    前一段时间我看见一个问答,大概意思就是程序员都是怎么用自己的专业技能逗女朋友或表白的. 看了很多,有写定时关机脚本恶搞的,也有简单写个html展示的,其中最著名的就是几年前有个人写了个网页记录他们在一 ...

  7. github page博客里添加多说评论插件

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 由于现在我这个博客原来用的是DISQUS评论插件,那全是全球 ...

  8. github个人博客绑定单独阿里域名指南

    详情:http://www.liu12fei08fei.top/ github个人博客绑定单独阿里域名指南 起源 禁止微信重拍版 给github pages绑定域名 获取github pages的ip ...

  9. 利用GitHub Pages + jekyll快速搭建个人博客

    前言 想搭建自己博客很久了(虽然搭了也不见得能产出多频繁). 最初萌生想写自己博客的想法,想象中,是自己一行一行码出来的成品,对众多快速构建+模板式搭建不屑一顾,也是那段时间给闲的,从前后端选型.数据 ...

随机推荐

  1. 【Java 其他】Java opencv配置及测试

    毕竟研究生做cv,所以这里还是测试一下java上使用opencv,参考 这里 import org.opencv.core.Core; import org.opencv.core.CvType; i ...

  2. Android 编译笔记20191205

    gradle下载很慢 解决问题的方法如下: 使用文件管理器 打开用户主目录 windows平台: c:\Users\用户名\.gradle macos平台: /Users/用户名/.gradle li ...

  3. php结合Redis实现100万用户投票项目,并实时查看到投票情况的案例

    场景:某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况 这个场景可以使用redis+mysql冷热数据交换来解决. 何为冷热数 ...

  4. boost smart pointer

    1. boost::scoped_ptr is a smart pointer that is the sole owner of a dynamically allocated object and ...

  5. POJ 2955 Brackets (区间dp入门)

    Description We give the following inductive definition of a “regular brackets” sequence: the empty s ...

  6. Android学习拾遗

    1. java中的flush()作用:强制将输出流缓冲区的数据送出. 2. 文件存储: 存储到内部:另外使用一个class实现,最开始初始化用了this,后来放在这里不合适,改成了带参数的构造方法. ...

  7. 团队冲刺DAY7

    团队冲刺DAY7 今天是2019.6.2,交项目的最后一天. 今天的任务是将之前写好的服务器和加解密算法以及图形界面有机结合在一起. 早上8:00,坐在电脑前,一脸懵,因为图形界面不是很懂,所以不知道 ...

  8. leetcode上回溯法的使用

    17 93 131 46(全排列) class Solution { public: vector<vector<int>> permute(vector<int> ...

  9. python count()函数

    Python 元组 count() 方法用于统计某个元素在元祖,列表,字符串中出现的次数.可选参数为在字符串搜索的开始与结束位置. 参数 sub -- 搜索的子字符串 start -- 字符串开始搜索 ...

  10. linux搭建集群

    磁盘分布 /boot 系统启动时需要的内存(200m) / 系统的可用磁盘大小(10240m) swap 交换内存 建议和内存一致(200m) 名字统一设置: 虚拟机名字 计算机名字 网络中的名字 默 ...