Hexo博客平台搭建

2018-11-26  本文已影响0人  小生很忙

摘要: 进入计算机行业已经好几年了,这么多年的摸爬滚打,我终于意识到了一个血的教训:好记性不如烂键盘!当我们遇到问题并解决问题之后,我们应该及时的把我们处理问题的过程记录下来,一来可以防止我们在此遇到同样的问题时又要重复造轮子,二来可以为遇到同样问题的小伙伴提供经验,所以对于我们来说有一个属于自己的博客尤为重要。本文记录的是搭建hexo个人博客平台过程中遇到的一些问题和心得,希望能对小伙伴们有所启发。

avatar

文章概览

HEXO简介

Hexo是一个基于node.js开发的快速、简洁且高效的静态博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
hexo具有以下这些特性:

静态博客系统与动态博客系统

一个网站最基础的部分就是网页,如果想从HTML页面写起,显然成本太高,好在大牛们已经做好了博客生成器来解决网页编写的问题。一般来说,博客生成器分为动态和静态两种。其中,动态博客生成器典型代表有:WordPress、FarBox、Ghost等,静态的博客生成器典型代表有:Hexo、Jekyll、Octopress、Hugo等。关于动态和静态的区别主要有以下几点:

基本流程

  这里我大致叙述一下搭建hexo博客系统的大致流程。我们首先要搭建hexo博客系统的开发环境,这里我主要讲解windows环境下的安装配置,其他系统的安装配置可以参考官方文档

安装git
安装node.js
执行命令 npm install -g hexo-cli(安装hexo命令行工具)
执行命令 hexo init [文件夹名]
进入刚才初始化的文件夹,执行命令 npm install 即创建了一个原始的hexo博客系统
执行命令 hexo g 生成站点文件
执行命令 hexo d 把博客部署到站点

运行机制

  首先我们来分析一下hexo文件夹的结构

  为了搞清楚hexo的运行机制,我们有必要了解一下hexo的模板引擎(hexo使用的模板引擎是ejs编写的),模板引擎的作用就是将界面与数据分离最简单的原理是将模板内容中指定的地方替换成数据,实现业务代码与逻辑代码分离。我们可以注意到,在hexo中,source文件夹和themes文件夹是同级的,我们可以将source文件夹理解为数据库,而主题文件夹相当于界面,当执行hexo g命令时,就相当于将数据嵌入到界面中,生成静态文件public。
  具体来说在hexo中,从markdown文件到生成html的过程中大致经历了两次渲染的过程:

  1. 通过解析markdown文件,并结合站点配置文件和source目录下的相关文件,生成相应的数据对象
  2. 将生成的数据对象嵌入到themes主题中的渲染引擎生成站点文件
    [图片上传失败...(image-3210a5-1543192261908)]

HEXO NEXT主题美化

  基于hexo博客系统的主题有很多,你可以在这里找到你喜欢的主题。我的博客采用的是next主题,我个人觉得next主题看上去简洁大方,用起来很舒服。这里我不会详细的介绍next主题的配置过程,我会分享一些我在配置过程中遇到的一些问题。

HEXO部署到GITHUB

  在对主题修改完成之后,下一步的工作就是将hexo部署到github pages。在部署之前,需要做好一些准备工作,具体的操作过程可以参考这篇博客

  1. 注册github账号,添加ssh key
  2. 在github中新建仓库,仓库名为:username.github.io
  3. 修改站点配置文件的deploy选项
  4. 执行命令hexo deploy

  在这些操作过程中我们需要注意一些问题:

    hexo generate  
    cp -R public/* chaoge123456.github.io  
    cd chaoge123456.github.io  
    git add .  
    git commit -m “update”  
    git push origin master  

每次提交更新时只需要在根目录下执行命令:./deploy.sh即可

提交搜索引擎

  部署完成之后,现在我们可以通过浏览器访问到我们的博客,但是还有一件非常重要的事我们需要去完成。虽然我们可以通过浏览器访问到我们的博客,但是我们无法通过搜索引擎搜索到我们的博客,所以我们需要将我们的博客地址提交给搜索引擎。这时我们需要注意,github屏蔽了百度搜索引擎的爬虫,这也就意味着通过百度是无法搜索到我们在github上的博客(googl不存在这样的问题)。所以为了在国内也能访问到我们的博客,我们需要将我们的博客托管到国内的类似于github的平台——coding(coding的博客地址和github的博客地址不一样,所以接下来我们需要做的是将github的博客地址提交给google,将coding的地址提交给百度)。部署到coding的流程跟github类似,为了将站点同时更新到coding和github,我们需要在站点配置文件下的deploy选项的repo同时添加github和coding的远程仓库

    deploy:  
      type: git  
      repo:  
        github: git@github.com:chaoge123456/chaoge123456.github.io.git  
        coding: git@git.coding.net:chao3236gmailco/chao3236gmailco.git  
      branch: master  

提交谷歌搜索引擎

Google搜索引擎提交入口

提交百度搜索引擎

百度搜索引擎入口
  将站点地址提交给搜索引擎的步骤也比较简单,具体操作可以参考这篇博文
,这个过程中需要注意的问题是:

总结

  HEXO+GITHUB+CODING博客搭建大概就是这些流程,希望大家看了我的博客会有所收获。这是我博客上的第一篇博文,确实不容易,希望以后能好好坚持下去吧。好了,夜已深了,晚安世界!

上一篇 下一篇

猜你喜欢

热点阅读