Hexo 是一个基于 Node.js 快速、简洁且高效的博客框架,可以将 Markdown 文件快速的生成静态网页,托管在 GitHub Pages 上。

由于原来博客的主机费用问题,我没有办法再在那个主机上面再进行博客的更新,实在是太贵了,对于我来说。所以就在GitHub上面开始建站,使用Hexo来搭载我的博客。Hexo和WordPress有很大的不同,个人觉得Hexo更加方便快捷,没有WorldPress那么臃肿和繁琐,不需要主机空间,不需要数据库。所有的数据都是保存成html静态的页面。而且可以放在GitHub上面挂载,自己只需要购买一个域名就可以了,甚至连域名都不需要购买,用GitHub自己提供的域名也是不错的——XXX.github.io。

安装 git

打开 Git Bash(路径:C:\Program Files\Git\git-bash.exe),输入:git --version,出现版本号则说明安装成功。

安装 Node.js

百度Node.js然后到官网上面下载安装就好

安装完之后,打开 Git Bash,输入:npm -v

同样的,出现版本号则说明安装成功。

安装 Hexo 框架

在 Git Bash 中输入: npm install -g hexo-cli

安装大约需要5分钟左右(需要使用梯子)

创建 Hexo 项目

  • 创建本地项目文件夹

    假设我要创建一个名为 hexo 的项目,项目目录就放在:E:\workspace 目录下,所以我们在 E:\workspace 目录下创建一个 hexo 目录。现在这个项目的全路径是:E:\workspace\hexo

  • 打开 Git Bash

  • 进入该目录: cd e:\workspace\hexo

  • 然后执行 hexo init

  • 最后执行 npm install

  • 安装完成后 E:\workspace\hexo 中应该有这几个文件 node_modules scaffolds source themes _config.yml package.json

  • 启动服务 hexo server

  • 在浏览器中访问: http://localhost:4000/ 即可看到 Hexo 页面。

修改deploy

这里需要在 GitHub 上面申请一个Git Pages。

接下来打开根目录 hexo_config.yml,找到最下面的deploy。

这是我的deploy,你只需把我的用户名改为你的即可:

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

更换主题

Hexo自带的主题真的感觉很一般,在 Hexo 社区中有很多优秀的主题可以选择,知乎中有很多的推荐。

我使用的是一个名为 NexT 的主题,这个主题提供的文档很全面,对新人很友好。下面以这个主题为例,优化我的博客。

安装主题

让 Git Bash 保持在 E:\workspace\hexo 目录下,然后输入命令:git clone https://github.com/iissnan/hexo-theme-next themes/next

启用主题

打开根目录下的 _config.yml (这个文件主要是用于站点全局的配置),找到 theme 字段,并且将值改成 next。注意,theme:next之间是有一个空格的。即 theme: next

验证主题

验证之前, 我们使用 hexo clean 来清除 Hexo 的缓存。

首先启动 Hexo 本地站点,并开启调试模式(即加上 --debug),整个命令是 hexo s --debug

当命令行提示出:INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.

此时就可以使用浏览器访问 http://localhost:4000,检查站点是否正确运行。

主题设定

上传本地项目

首先要生成自己git本地的私钥和公钥,并将公钥放到自己的 GitHub 上面。

要把本地的静态博客同步到 Github,我们还需要先安装两个跟部署相关的 hexo 插件:

继续在 Git Bash 中输入:

cnpm install hexo -server --save

cnpm install hexo-deployer-git --save

  • 打开 Git Bash
  • cd e:\workspace\hexo
  • hexo clean //清除项目缓存
  • hexo g // hexo generate的缩写
  • hexo s // hexo server的缩写
  • hexo d // hexo deploy的缩写

更多的命令可以参考 Hexo 的官方文档 https://hexo.io/zh-cn/docs/

域名绑定

首先我们要一个 CNAME 文件,把该文件放在 e:\workspace\hexo\source 目录下,以后一些需要放在根目录的资源文件都可以放这里。在GitHub页面也可以建立这个文件。然后在文件里输入你要绑定的域名,比如说 romition.com

接着我们要到DNSPOD或者万网上面设置域名解析。

设置 CNAME 为自己github上面的地址 比如 XXXXXX.github.io. 注意这里最后面有个点

设置 A 为 103.245.222.133

404、关于我、标签

在新的站点搭建好后,很多主题都是不提供 404、关于我、标签 这三项内容的,是需要我们自己加入的。

在项目根目录下 (e:\workspace\hexo) 下启动 Git Bash 。

新增一个 404 页面:hexo new page 404

新增一个 关于我 页面:hexo new page about

新增一个 标签 页面:hexo new page tags

插件

和 WordPress 一样,Hexo 也是有很多插件可以使用的。

插件官网:https://hexo.io/plugins/

安装插件:npm install 插件名 --save

卸载插件:npm uninstall 插件名

更新插件和博客框架(需要在根目录下):npm update

几个常用的插件:

支持RSS:npm install hexo-generator-feed --save

生成站点地图:npm install hexo-generator-sitemap --save

生成百度站点地图:npm install hexo-generator-baidu-sitemap --save

HTML 压缩:npm install hexo-html-minifier --save

其他

搜索引擎通过一种程序 robot(又称spider),自动访问互联网上的网页并获取网页信息。我们可以在博客中创建一个纯文本文件 robots.txt,在这个文件中声明该网站中不想被 robot 访问的部分,这样,博客的部分内容就可以不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。

在根目录(e:\workspace\hexo\source) 目录下,新增一个 robot.txt 文件。

robot.txt 文件内容:

User-Agent: *
Allow: /
Disallow: /background
Disallow: /css
Disallow: /img
Disallow: /js
Sitemap: http://romition.com/sitemap.xml
Sitemap: http://romition.com/baidusitemap.xml

结束语

在搭建过程中可能会遇到各种各样的问题,那么 Google 会是最好的老师。这次写的很简单,在以后我我会逐步完善。

    /**
* Created by ManaStuDent on 2016/3/20.
*/
public class Hexo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

本文由个人 hexo 博客 co2fe.com 迁移

date: 2016-03-20 09:46:33

Hexo建站过程总结的更多相关文章

  1. Githun&HEXO建站小记

    title: 建站小记 date: 2018-03-04 11:10:54 updated: 2018-03-06 12:00:00 tags: [hexo,next,建站,学习,前端技术,折腾,博客 ...

  2. FarBox的建站过程

    FarBox的建站过程 本文转自:http://mosir.org/html/y2012/How-to-build-your-website-by-farbox.html 作者: mosir 时间:  ...

  3. SEO 建站过程复盘

    今天在A5看到一篇关于一个牛站的复盘,整个建站过程值得借鉴. https://www.admin5.com/article/20200218/943930.shtml

  4. Python+Flask+MysqL的web技术建站过程

    1.个人学期总结 时间过得飞快,转眼间2017年就要过去.这一年,我学习JSP和Python,哪一门都像一样新的东西,之前从来没有学习过. 这里我就用我学习过的Python和大家分享一下,我是怎么从一 ...

  5. 《Dotnet9》建站-记录建站过程中使用的一些网址

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  6. Drupal建站过程思考——不识庐山真面目,只缘身在此山中

    使用drupal与没有使用drupal,在网站的设计过程上本质是一样的!所以,我们在使用drupal建一个新网站时,要时刻联想自己在没有drupal时是如何设计开发的. 不使用drupal时,我们通常 ...

  7. hexo 建站参考

    1. hexo 官网 2. 主题 AD:https://godbmw.com/ 前期尝试了两天都是看主题,还有编辑主题,最终选择这个主题是因为两点 主题layout是 ejs 学习node时候了解过  ...

  8. window下Jekyll建站过程

    > 前言 最近决定要写一个博客,先后注册了博客园和CSND的博客,但是他们的界面主题都不是很符合自己的要求,还没有足够个性化的发挥空间,遂决定自己建一个博客. 网上找了一下教程,感觉都不太详细, ...

  9. hexo建站报错解决记录

    安装某主题依赖 nodejieba 库,该库又依赖 windows-build-tools 和 node-gyp git bash shell 下 cnpm install -g windows-bu ...

随机推荐

  1. est6 -- Object.is()、Object.assign()、Object.defineProperty()、Symbol、Proxy

    Object.is()用来比较两个值是否严格相等.它与严格比较运算符(===)的行为基本一致,不同之处只有两个:一是+0不等于-0,二是NaN等于自身. + === - //true NaN === ...

  2. HDU 4349 Xiao Ming's Hope 找规律

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4349 Xiao Ming's Hope Time Limit: 2000/1000 MS (Java/ ...

  3. SRM1154--Topcoder初体验

    SRM 711 DIV2 <br > 在frank_c1的帮助下,辣鸡Xiejiadong也开始做Topcoder辣...... <br > 这算是一次Topcoder的初体验 ...

  4. ie下li标签中span加float:right不换行问题解决方案

    在IE6,IE7下使用标签时,在加入右浮动样式(float:right)后,会换行的bug解决方案:bug案例:新闻列表中,为使时间右对齐,加右浮动产生换行 <ul> <li> ...

  5. windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error

    windows下配置redis集群,启动节点报错:createing server TCP listening socket *:7000:listen:Unknown error 学习了:https ...

  6. [Algorithms] Sort an Array with a Nested for Loop using Insertion Sort in JavaScript

    nsertion sort is another sorting algorithm that closely resembles how we might sort items in the phy ...

  7. POJ2386 Lake Counting 【DFS】

    Lake Counting Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 20782   Accepted: 10473 D ...

  8. C中的预编译编译链接

        http://ke.qq.com/webcourse/index.html#course_id=67888&term_id=100058920&taid=13934591901 ...

  9. rf-demos (request)

    *** Settings *** Library RequestsLibrary Library Collections Library XML *** Test Cases *** case1 Cr ...

  10. Ejb in action(六)——拦截器

    Ejb拦截器可以监听程序中的一个或全部方法.与Struts2中拦截器同名,并且他们都可以实现切面式服务.同一时候也与Spring中的AOP技术类似. 不同的是struts2的拦截器的实现原理是一层一层 ...