开发背景:年后回来公司业务不忙,闲暇时间了解一下node的使用场景,一篇文章吸引了我15个Nodejs应用场景,然后就被这个hexo框架吸引了,说时迟,那时快,赶紧动手搭建起来,网上找了好多资料一天时间才搭建完成,我的博客地址:博客,记录一下过程,以便以后学习。


开始搭建

学习新框架的一般步骤:

  • 中文文档撸一遍,跟着做(Hexo中文文档),一般都会有各种问题出现,当然直接成功的也有,很不幸,我就是出现问题的那一类,没关系,出现问题,解决问题的过程,才能学到更多东西;
  • 上网找一些hexo使用的教程,继续弄;
  • 这个时候要是再有问题就是很难解决的有针对性的问题了,继续上网找相关的解决办法;
  • 网上资源真的很多,很好用,只要想学没有找不到的东西,哈哈哈...

一、安装

前提:
既然是node框架,肯定前提是你已经安装过Node.js(下载地址),另外还需要你安装Git(下载地址);
如果你已经成功安装了上述程序后,接下来就是hexo的安装:

$ npm install -g hexo-cli

安装完成以后,需要初始化一下项目,执行下列命令:

$ hexo init
$ npm install

完成以后,项目大概目录就是这样的:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes

_config.yml
网站的配置信息,可以在此配置大部分的参数。后面发布到github上面时,有用到这个文件;

package.json
应用程序的信息。


文件的其他部分的详细解释请看文档,此处只是记录一下搭建以及发布的过程,具体写文章的步骤,先不进行过多说明;


接下来可以在本地启服务来查看一下项目的初始状态:

$ npm install hexo-server --save
$ hexo server

效果大概就是下面的样子:

我稍微修改了一下文字配置,可能你的会跟我的有点不一样,项目能启动就是成功了;


二、发布到github并设置成个人博客

1、github上新建一个仓库


登录自己的github后,在界面右上角用户信息点击左边的加号,新建一个repository:

然后给新建的仓库起个名字,注意:这个名字必须跟用户名一致,github才会默认设置成用户的博客:

项目建好以后,就是一些信息的设置:


设置页面里面有分支选项,如果有master分支,会默认成博客的首选代码;


2、将本地搭建好的hexo发布到github上:
将本地代码上传到github上的方法有很多:
可以用Github Desktop,简单直观,但是需要把之前我们搭建好的项目生成的文件放到GitHub Desktop指定的位置,再上传,感觉不那么智能,还有点麻烦,所以我选择planB,耶!我可真是个小机灵鬼...


下面是在项目中生成静态文件的命令:

$ hexo generate

简写,结果是一样的

$ hexo g

执行完以上代码,会在项目的根目录下生成public文件夹,选择planA的童鞋就可以将里面的所有文件用GitHub Desktop上传到github上了;


而另外一种,就是在当前项目直接远程连接自己的github上传文件,这会涉及到SSH(关于SSH是什么,网上有很多详细说明,可以自己查找学习)

安装插件:

npm install hexo-deployer-git --save

修改网站配置文件_config.yml,添加deploy信息:

deploy:
type: git
repo: git@github.com:wjlilh/wjlilh.github.io.git
branch: master

上面的repo的配置信息,替换成自己的项目名字


生成SSH key:

按照网上的教程生成ssh key的时候是直接ssh-add,但是失败了,调查问题,发现原因是因为,我是第一次使用ssh-agent代理,第一次需要首先执行以下命令,以后就不需要了(具体原来请参考此处链接):

$ ssh-agent bash

以上命令回车,启动进程,后再输入命令:

$ ssh-add ~/.ssh/id_rsa

按照提示操作输入密码,

这样就在c盘对应位置生成了ssh-key;

配置github账户的ssh-key
打开id_rsa.pub文件将一整串公钥拷贝下来

进入你的github账户设置,在ssh and GPG keys中新增一个ssh key,如下

title随意,key填id_rsa.pub文件中内容,保存即可;


验证是否连接成功:

$ ssh -T git@github.com

出现下面的语句说明你的ssh key已经配置好了

Hi wispyoureyes! You've successfully authenticated, but GitHub does not provide shell access.

ok,到了这一步,本地跟远程github的连接已经建立,在项目中,直接生成静态文件,上传就可以了:

$ hexo clean  //清除缓存文件db.json和已生成的静态文件public
$ hexo g //生成网站静态文件到默认设置的public文件夹
$ hexo d //部署网站到设定的仓库

这样就完成了个人博客的github部署,直接打开过程中设置的地址就可以查看了,我的是:https://wjlilh.github.io/

使用Hexo框架搭建博客,并部署到github上的更多相关文章

  1. 基于Hexo搭建博客并部署到Github Pages

    基于Hexo搭建博客并部署到Github Pages 之前在简书上写东西,觉得自己还是太浮躁.本来打算用Flask自己写一个,以为是微框架就比较简单,naive.HTML.CSS.JS等都要学啊,我几 ...

  2. Note | 用Hugo搭建博客并部署到GitHub Pages

    目录 1. 本地搭建 1.1 安装Hugo 1.2 创建站点 1.3 新建页面和文章 1.4 使用主题 1.5 修改配置文件 1.6 预览 2. 部署 之前担心过现有博客平台(如博客园,CSDN)突然 ...

  3. 搭建hexo博客并部署到github上

    hexo是由Node.js驱动的一款快速.简单且功能强大的博客框架,支持多线程,数百篇文章只需几秒即可生成.支持markdown编写文章,可以方便的生成静态网页托管在github上. 感觉不错. 前端 ...

  4. 史上最详细“截图”搭建Hexo博客并部署到Github

    http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...

  5. Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages

    之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...

  6. Termux搭建hexo博客并部署到GitHub

    Termux搭建hexo博客并部署到GitHub 安装 termux-change-repo apt update apt install git && nodejs &&am ...

  7. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  8. 在Windows下使用Hexo+GithubPage搭建博客的过程

    1.安装Node.js 下载地址:传送门 去 node.js 官网下载相应版本,进行安装即可. 可以通过node -v的命令来测试NodeJS是否安装成功 2.安装Git 下载地址:传送门 去 Git ...

  9. Hexo快速搭建博客

    1. 准备工作 ~ 安装node.js -> npm -> hexo-cli ~ 安装git -> 版本控制工具 2. 更换npm(nodejs package manager)源 ...

随机推荐

  1. 1065 A+B and C (64bit) (20分)(水)

    Given three integers A, B and C in [−], you are supposed to tell whether A+B>C. Input Specificati ...

  2. c期末笔记(3)

    参数于模运算 1.实参与形参易错点 实参与形参之间是值传递. 实参&形参 实参可以是:常量,表达式或者变量 形参只能是变量 指针和指针变量 1.指针的定义 指针的定义形式:int*p = &a ...

  3. 给定一个整数数组 nums 和一个目标值 target,求nums和为target的两个数的下表

    这个是来自力扣上的一道c++算法题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案 ...

  4. MTK Android 预置APK

    [FAQ03038] 如何预置APK [DESCRIPTION]1, 如何将带源码的 APK 预置进系统?2, 如何将无源码的APK预置进系统?3, 如何预制APK使得用户可以卸载?4, 如何使得用户 ...

  5. 这可能是 Github 上最全面的 Flutter 教程

    引语 晚上好,我是猫咪,我的公众号「程序媛猫咪」会推荐 GitHub 上好玩的项目,挖掘开源的价值,欢迎关注我. 刚下班到家,金三银四,虽然今天行情尤其地不好,但身边的同事也是走了一波,不免会受到影响 ...

  6. Python常见数据结构-推导式

    推导式是一种重要的Python特性,是一种简单精炼创建Python数据结构的方式. 列表推导式,详细参考https://www.jianshu.com/p/0a269715a742 基本格式为:[表达 ...

  7. 04 jmeter使用方式3种

    1.手工添加配置元件编写 2.jmeter+badboy 工具录制---不建议使用 3.设置代理服务器(jmeter添加‘非测试元件-http代理服务器’,再添加一个线程组用来保留代理抓取的url,设 ...

  8. 多线程高并发编程(3) -- ReentrantLock源码分析AQS

    背景: AbstractQueuedSynchronizer(AQS) public abstract class AbstractQueuedSynchronizer extends Abstrac ...

  9. 这本最适合夯实基础的经典 Java 书籍,可能80% 的 Java 程序员没有认真看过!

    公众号[程序员书单]出品,转载请注明出处 作者:黄小斜 今天要给大家带来的一本书,是大名鼎鼎的head first系列丛书的一本<head first Java>相信很多学习Java的朋友 ...

  10. 也谈如何实现bind、apply、call

    也谈如何实现bind.apply.call 我们知道,JavaScript的bind.apply.call是三个非常重要的方法.bind可以返回固定this.固定参数的函数包装:apply和call可 ...