用hexo打造属于自己的静态博客

来源:互联网 发布:销售数据分析指标 编辑:程序博客网 时间:2024/06/03 15:38

环境简介

win7
node.js/npm
git


在Github上创建仓库

建立与用户名对应的仓库:用户名.github.io


安装配置

1、全局安装 hexo

> npm install hexo-cli -g

2、初始化 hexo,比如到 D:\node\workspace\ 目录下运行如下初始化命令

> hexo init meegle.github.io

3、配置博客
配置文件: ./_config.yml ,主要配置项如下:
(1)站点相关

# Sitetitle: MGsubtitle: Meegledescription: 匍匐前进只为登峰造极.author: Meeglelanguage: zh-Hans # 根据使用的主题进行调整timezone:

(2)博客地址

# URLurl: http://www.meegle.cn

(3)部署

# Deploymentdeploy:    type: git    repo: git@github.com:meegle/meegle.github.io.git    branch: master

4、主题
(1)安装

> cd themes> git clone https://github.com/iissnan/hexo-theme-next.git next# 创建next主题的本地副本

(2)配置

配置文件: ./themes/next/_config.yml ,传送门
配置项目中需要采用的主题:

# Extensions## Themes: http://hexo.io/themes/theme: next

5、写文章

> hexo new "My new Post"INFO Created: D:\node\workspace\meegle.github.io\source\_posts\My-New-Post.md

然后就可以用一个支持 markdown 语法的编辑器来写这篇文章了。


本地预览

> npm install> npm install hexo-deployer-git --save> hexo serverINFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.

然后在本地浏览器上访问 http://localhost:4000 查看效果。


部署上线

> hexo g # (或者 hexo generate), 在 ./public 目录下生成静态文件> hexo d # (或者 hexo deploy), 部署到远程仓库

绑定域名

1、配置域名指向

到域名服务商那边配置域名的 CNAME 解析,当然也可以配置 A 记录:

添加如下两条记录:

主机名类型地址@CNAME(别名指向)meegle.github.io.*CNAME(别名指向)meegle.github.io.

2、到 github/meegle.github.io 仓库下创建 CNAME ,内容为 www.meegle.cn

至此,用 http://www.meegle.cn 访问,即可看到效果;


后续说明

1、若部署到远程仓库失败或提示.ssh配置出错等,可以直接在 ./.deploy_git/ 目录下用 TortoiseGit 客户端手动配置:

2、Markdown 原生不支持 table,那怎么办呢?
在编辑.md文章时插入 table 的 html 语法,注意要清除换行,否则会多出很多<br>,例如本文的表格代码如下:

<table><thead><tr><th>主机名</th><th>类型</th><th>地址</th></tr></thead><tbody><tr><td>@</td><td>CNAME(别名指向)</td><td>meegle.github.io.</td></tr><tr><td>*</td><td>CNAME(别名指向)</td><td>meegle.github.io.</td></tr></tbody></table>

3、npm install时提示 node 不是内部或外部命令!

确认环境变量配置无误后,怀疑是否 node 下无法正常解析系统 path 。

于是写了个package.json,用来打印出 node 环境下的 path:

{    "name": "my-test",    "version": "0.1.0",    "description": "a test",    "author": "meegle <meegle@aliyun.com>",    "scripts": {        "install": "path"    },    "main": "index.js",    "license": "ISC"}

运行结果如下:

通过在 stackoverflow 上检索关键字 nvinitdll 获得如下原因分析及解决方法:

Ok, so I solved this by cleaning the nvidia drivers and then installing the newest one for Optimus (260.99). The problem then went away.

通过安装最新版本的 NVIDIA 驱动使问题得以解决;

正常环境下的输出:

4、在hexo deploy时出现如下错误提示:

解决方法:
此时进入.deploy_git目录下,更新远程库到本地(虽然没有什么改动被更新到本地),然后再次进行hexo deploy即可,至于为什么会出现这种情况,还有待考究;

0 0