hexo搭建个人博客

前期准备:

Node.js环境
Git

配置Node.js环境

下载地址

windows installer 32-bit

windows installer 64-bit

安装过程就不多说了,网上很多,所有的安装最好在没有中文的目录下。

安装成功测试

node -v

npm -v

配置Git环境

下载地址

Git-2.6.3-64-bit.exe

默认安装就可以了,所有的安装最好在没有中文的目录下。

安装成功测试

git –version

ok,前期准备就到这里吧!!!

具体可以参照:使用Github Pages搭建独立博客

配置GitHub

注册账号
创建代码库,如果你注册的账户是dropsec,

那么代码库名字是dropsec.github.io

开启gh-pages,15分钟后,能正常访问dropsec.github.io

测试,本机是否连接成功

命令:ssh -T git@github.com
结果:You’ve successfully authenticated

配置HEXO

npm install hexo-cli -g
npm install hexo --save
hexo测试
hexo -v
hexo init//hexo初始化
npm install//安装npm
hexo g//编译
hexo s//本地启动服务
npm install hexo-deployer-git --save
INFO  Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
浏览器正常访问,本地博客搭建测试成功
hexo d//上传到我们的github上

中期修改

修改全局配置文件

_config.yml文件

网站
参数    描述
title    网站标题
subtitle    网站副标题
description    网站描述
author    您的名字
language    网站使用的语言
timezone    网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC 。
网址
参数    描述    默认值
url    网址    
root    网站根目录    
permalink    文章的 永久链接 格式    :year/:month/:day/:title/
permalink_default    永久链接中各部分的默认值    
如果您的网站存放在子目录中,例如 http://yoursite.com/blog,则请将您的 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/。
目录
参数    描述    默认值
source_dir    资源文件夹,这个文件夹用来存放内容。    source
public_dir    公共文件夹,这个文件夹用于存放生成的站点文件。    public
tag_dir    标签文件夹    tags
archive_dir    归档文件夹    archives
category_dir    分类文件夹    categories
code_dir    Include code 文件夹    `downloads/code
i18n_dir    国际化(i18n)文件夹    :lang
skip_render    跳过指定文件的渲染,您可使用 glob 表达式来匹配路径。    
文章
参数    描述    默认值
new_post_name    新文章的文件名称    :title.md
default_layout    预设布局    post
auto_spacing    在中文和英文之间加入空格    false
titlecase    把标题转换为 title case    false
external_link    在新标签中打开链接    true
filename_case    把文件名称转换为 (1) 小写或 (2) 大写    0
render_drafts    显示草稿    false
post_asset_folder    启动 Asset 文件夹    false
relative_link    把链接改为与根目录的相对位址    false
future    显示未来的文章    true
highlight    代码块的设置    
分类 & 标签
参数    描述    默认值
default_category    默认分类    uncategorized
category_map    分类别名    
tag_map    标签别名    
日期 / 时间格式
Hexo 使用 Moment.js 来解析和显示时间。

参数    描述    默认值
date_format    日期格式    MMM D YYYY
time_format    时间格式    H:mm:ss
分页
参数    描述    默认值
per_page    每页显示的文章量 (0 = 关闭分页功能)    10
pagination_dir    分页目录    page
扩展
参数    描述
theme    当前主题名称。值为false时禁用主题
deploy    部署部分的设置

配置Deployment

输入身份验证信息

git config --global user.name "yourname"
git config --global user.email "youremail"

同时,修改_config.yml,找到Deployment

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

上传测试,这个时候你就可以访问你刚传上去的数据啦!!!6不6

添加新文章

在hexo目录下,/source/_posts,执行命令hexo new “hello_world.md”
就能够创建一个文件啦,在文件头中可以添加标签等东西。

---
title: hello world
date: 2015-05-13 12:46:38
tags: [标签]
categories: [fenlei]
---

然后hexo g -d传上去就可以用啦!!!服不服,嘻嘻。

更换主题

可以通过hexo,查找自己喜欢的主题,然后下载下来

git clone https://github.com/xxx/xx.git themes/xxx

修改全局变量的配置文件_config.xml

修改为:themes:xxx

然后hexo g -d上传就可以看到新的主题应用上了。

添加新的模块

1,添加数据文件

在Hexo根目录中的source目录中创建_data目录,然后在_data目录中新建links.yml文件,内容如下:

lazy0: http://www.cnblogs.com/lazy0

2,添加主题布局文件

将友情链接放到右侧的sidebar中,于是需要在主题目录下的layout/_widget中添加文件links.ejs

<% if (site.data.links){ %>
  <div class="widget-wrap">
    <h3 class="widget-title"><%= __('links') %></h3>
    <div class="widget">
      <ul class="entry">
        <% for (var i in site.data.links){ %>
          <li class='link'><a href='<%- site.data.links[i] %>'><%= i %></a></li>
        <% } %>
      </ul>
    </div>
  </div>
<% } %>

其中的site.data.links就是上面创建的links.yml数据文件所对应的对象。

3,填写配置文件

这里使用的是Hexo-theme-light_cn主题,在主题目录下的_config.yml文件中widgets下添加上links就OK了

widgets:
- category
- tag
- tagcloud
- archive
- recent_posts
- links

然后重新上传

hexo g -d 

最后修改

修改域名

刚开始的时候,我们的默认域名是dropsec.github.io

在/public,目录下创建一个文件CNAME,没有后缀,内容为你要解析成的地址,

比如:“lyx.dropsec.xyz”,保存

要记得,这个域名是在其他地址解析的,不是说,直接用的。

自定义页面

执行new page命令

hexo new page "about"

在hexo\source\下会生成about目录,里面有个index.md,直接编辑就可以了,然后在主题的_config.yml中将其配置显示出来。
上述步骤,也可以手工生成,在hexo\source\下手工新建about和index.md也是完全等价的。

搭建过程中遇到的问题

ERROR: Repository not found.

原因:没有修改好_congfig.yml,或者没有正常连接自己的.io

fatal: Unable to create ‘e:/代码/xuanwo.github.io/.deploy_git/.git/index.lock’:

原因:把生成的.git删除掉,删除掉.deplay,重新git init

ERROR: no found git

原因:没有初始化git,初始化一下就可以了

推荐链接:hexo你的博客

就到这吧!!!

感谢团长,感谢老毕的帮助!!!!!