概述

本文总结一下 Hexo 搭建博客的主要流程,能够在日后快速恢复博客环境。

Hexo 的官方文档写的已经很全面了,本文仅将一些注意点列出。

安装 Hexo 的文档参考:

前提

安装 Hexo 之前,你的电脑上需要有

  • Node.js
  • Git

如果是 Mac 用户, 您在编译时可能会遇到问题,请先到 App Store 安装 Xcode,Xcode 完成后,启动并进入 Preferences -> Download -> Command Line Tools -> Install 安装命令行工具

安装 Hexo

全局安装 hexo-cli

npm install -g hexo-cli

如果遇到权限的问题,可以使用如下命令:

sudo chown -R $(whoami) /usr/local/lib/node_modules/

设置 /usr/local/lib/node_modules/ 文件夹属于当前用户。

此外,如果你要使用 root 权限安装的话,可以使用 sudo -s 切为 root 用户进行相关操作。这么做的话,会将一些文件夹的默认属组设置为 root 了,不推荐。

npm 权限问题:

建站

hexo init MyBlog
cd MyBlog
npm install

执行完毕之后,博客其实已经 OK 了:

hexo g
hexo s

执行上面命令即可本地预览博客内容了。

部署

官宣-站点配置文件 内容中介绍了很多字段的用途

Hexo 提供快速一键部署,将博客部署到 GIthub Pages。

安装 hexo-deployer-git

$ cd MyBlog
$ npm install hexo-deployer-git --save

修改站点配置文件中的配置:

# npm install hexo-deployer-git --save
deploy:
- type: git
repo: git@github.com:Michael728/michael728.github.io.git
branch: master

执行部署:

hexo d

常用命令

hexo 常用指令

hexo version # 显示hexo版本
hexo new <title> # 创建新文章
hexo g/generate # 生成静态文件
hexo clean # 清除缓存文件和已生成的静态文件(public)
hexo server # 启动本地服务器
hexo d/deploy # 部署网站
hexo list <type> # 列出网站资料

npm 常用指令

npm install 模块名 -g --save # g全局安装 save安装包信息将加入到dependencies(生产阶段的依赖)
npm install gulp@3.9.1 # 指定版本
npm install # 该命令可以根据dependencies配置安装所有的依赖包
npm update [-g] 模块名
npm outdated 模块名 # 检查模块是否过时
npm ls -g # 查看全局安装的模块
npm uninstall 模块名
npm info hexo-cli # 查看hexo-cli模块的信息

Hexo 写作技巧

Note

语法:

{% note [class] [no-icon] %}
这里写你需要写的内容
{% endnote %} // 注意上面的class和no-icon属性是可以选择的
[class] : default | primary | success | info | warning | danger.
[no-icon] : Disable icon in note.

示例:

{% note success no-icon %}
success形式的类别
{% endnote %}

效果:

{% note success no-icon %}

success形式的类别

{% endnote %}

这里使用 no-icon 表示不显示图标,可选,默认会带有图标。

使用主题自带 FontAwesome 图标

源码:

- <i class="fa fa-pencil"></i> 铅笔
- <i class="fa fa-cloud-upload"></i> 上传
- <i class="fa fa-download"></i> 下载

效果:

  • 铅笔
  • 上传
  • 下载

文本居中

源码:

{% cq %}
人生乃是一面镜子,
从镜子里认识自己,
我要称之为头等大事,
也只是我们追求的目的!
{% endcq %}

效果:

{% cq %}

人生乃是一面镜子,

从镜子里认识自己,

我要称之为头等大事,

也只是我们追求的目的!

{% endcq %}

主题自带 label 标签

首先在主题 _config.xml 配置:

# Label tag.
label: true

源码:

{% label primary@primary内容 %}

效果:

{% label primary@primary内容 %}

主题自带 tabs 标签

主题配置文件:

# Tabs tag
tabs:
enable: true
transition:
tabs: true
labels: true
border_radius: 0

源码示例:

{% tabs 选项卡, 2 %}
<!-- tab -->
这是选项卡 1 内容
<!-- endtab -->
<!-- tab -->
这是选项卡 2 内容
<!-- endtab -->
<!-- tab -->
这是选项卡 3** 哇,你找到我了!φ(≧ω≦*)♪~
<!-- endtab -->
{% endtabs %}

效果:

{% tabs 选项卡, 2 %}

这是选项卡 1 内容


这是选项卡 2 内容


这是选项卡 3** 哇,你找到我了!φ(≧ω≦*)♪~

{% endtabs %}

主题自带样式按钮

源码:

{% btn https://www.baidu.com, 点击下载百度, download fa-lg fa-fw %}

效果:

{% btn https://www.baidu.com, 点击下载百度, download fa-lg fa-fw %}

Hexo 其他知识

图床

由于一直使用的是「微博图床」,渣浪微博和简书开启了图片防盗链,请大家在博客中加入以下标签来绕过:

<meta name="referrer" content="never" /> ​​​​

Next 主题只需要在 themes/next/layout/_partials/head/head.swig 中添加上面一行内容即可。

Next 主题

安装 Next

$ cd MyBlog
$ git clone https://github.com/theme-next/hexo-theme-next themes/next

Next 扩展都安装在themes/next/source/lib文件夹下

cd MyBlog
git clone https://github.com/theme-next/hexo-theme-next themes/next

启动 Next 主题

编辑站点配置文件 _config.yml

theme: next # 启用next主题

主题设置

设置语言

站点配置文件:

language: zh-CN # 最新版中,不再使用zh-Hans

设置菜单

编辑主题配置文件:

menu:
home: / || home
#about: /about/ || user
#tags: /tags/ || tags
#categories: /categories/ || th
archives: /archives/ || archive
#schedule: /schedule/ || calendar
#sitemap: /sitemap.xml || sitemap
#commonweal: /404/ || heartbeat

菜单内容的设置格式是:item name: link || icon。其中 `item name 是一个名称,这个名称并不直接显示在页面上,她将用于匹配图标以及翻译。

设置菜单项的显示文本。在第一步中设置的菜单的名称并不直接用于界面上的展示。Hexo 在生成的时候将使用 这个名称查找对应的语言翻译,并提取显示文本。这些翻译文本放置在 NexT 主题目录下的 languages/{language}.yml{language} 为你所使用的语言)。

icon 使用的是 fontawesome 图标,严格区分大小写。

设置头像

将准备好的头像放置在主题目录下的 source/images/ 中。

avatar:
# In theme directory (source/images): /images/avatar.gif
# In site directory (source/uploads): /uploads/avatar.gif
# You can also use other linking images.
url: /images/logo.jpg

百度统计

  1. 登录百度统计, 定位到站点的代码获取页面
  2. 复制 hm.js? 后面那串统计脚本 id,如:
  3. 编辑 主题配置文件, 修改字段 baidu_analytics 字段,值设置成你的百度统计脚本 id

阅读次数

使用 LeanCloud

参考这个 为NexT主题添加文章阅读量统计功能

leancloud_visitors:
enable: true # 启用了 valine,所以这里可以置为 false
app_id: xxx
app_key: xxx

设置 RSS

主题配置文件中,rss 字段设为空,启用,设为 false 则不启用。启用的话,需要安装插键:

npm install hexo-generator-feed --save

添加标签页面

  1. 新建页面 hexo new page tags
  2. 设置页面类型,编辑刚新建的页面,将页面的类型设置为 tags ,主题将自动为这个页面显示标签云
title: 标签
date: 2014-12-22 12:39:04
type: "tags"
---

如果有集成评论服务,页面也会带有评论。 若需要关闭的话,请添加字段 comments 并将值设置为 false,如:

title: 标签
date: 2014-12-22 12:39:04
type: "tags"
comments: false
---
  1. 修改菜单,在菜单中添加链接。编辑 主题配置文件 , 添加 tags 到 menu 中

标签示例:

title: 标签测试文章
tags:
- Testing
- Another Tag

请参阅 Hexo 的分类与标签文档,了解如何为文章添加标签或者分类

补充:

categories:
- Diary
tags:
- PS3
- Games

分类方法的分歧

如果您有过使用WordPress的经验,就很容易误解Hexo的分类方式。WordPress支持对一篇文章设置多个分类,而且这些分类可以是同级的,也可以是父子分类。但是Hexo不支持指定多个同级分类。下面的指定方法:

categories:
- Diary
- Life

会使分类Life成为Diary的子分类,而不是并列分类。因此,有必要为您的文章选择尽可能准确的分类。

并列分类,了解一下:

categories:
- [Linux]
- [Tools]

并列+子分类,再了解一下:

categories:
- [Linux, Hexo]
- [Tools, PHP]

同样的方法,添加分类页面:

$ hexo new page categories

设置字体

设置字体可参考:官宣-字体

设置代码高亮主题

代码高亮预览

# Code Highlight theme
# Available value: normal | night | night eighties | night blue | night bright
# https://github.com/chriskempson/tomorrow-theme
highlight_theme: night eighties

侧边栏社交链接

主题配置文件:

social:
GitHub: https://github.com/Michael728 || github
微博: https://weibo.com/1838446070/profile?topnav=1&wvr=6 || weibo
博客园: https://www.cnblogs.com/michael-xiang/ || globe
知乎: https://www.zhihu.com/people/michaelXoX || globe
Twitter: https://twitter.com/728_michael || twitter

图标名称 是 Font Awesome 图标的名字(不必带 fa- 前缀)。 enable 选项用于控制是否显示图标,你可以设置成 false 来去掉图标

social_icons:
enable: true
icons_only: false
transition: false

开启打赏功能

只需要 主题配置文件 中填入 微信 和 支付宝 收款二维码图片地址 即可开启该功能:

reward_settings:
# If true, reward would be displayed in every article by default.
# You can show or hide reward in a specific article throuth `reward: true | false` in Front-matter.
enable: true
animation: false
comment: 我知道是不会有人点的,但万一有人想不开呢

Hexo 搭建 Blog 精简笔记的更多相关文章

  1. Hexo搭建博客笔记

    Hexo搭建(建议看ppt:https://files.cnblogs.com/files/-SANG/%E4%BD%A0%E7%9A%84%E7%8C%AB.pptx ) 安装Git https:/ ...

  2. 使用github+hexo搭建博客笔记

    听说github上可以搭博客,而且不用自己提供空间和维护,哈哈哈 作为一名程序猿,github搭博客对我有种神奇的吸引力,赶紧动手试一试 关于如何使用hexo搭建博客网上好的教程多如牛毛,而且这篇博客 ...

  3. 2016-3-1 Mac下使用Hexo搭建Blog

      一.前期准备: 1.安装Node(必须):前往Node.js官网:https://nodejs.org/en/download/下载最新版本pkg软件,点击安装即可. 2.安装Git(必须):安装 ...

  4. github pages + hexo 搭建 blog 遇到的问题

    一. ERROR Deployer not found: git $ hexo d ERROR Deployer not found: git npm install --save hexo-depl ...

  5. 使用Hexo搭建专属Blog

    喜欢折腾的自己最开始在博客园有仿写几篇Blog,虽也可以自己改变风格,可是到底不是独立的一块儿地方,要知道独立的才是自己的;有属于自己独立的域名和Blog,真真是一件很爽的存在.在各种大牛的分享下在G ...

  6. 採用Hexo 搭建Team Blog

    採用Hexo 搭建Team Blog 首先你要会使用Git 已经GitHub,然后让我们了解下什么是静态Blog 静态博客是指 不须要数据库驱动,拥有丰富模板,通过模板标记语言生成简单html css ...

  7. Hexo搭建个人blog

    Hexo搭建 现在只想说心累... 前几天看了几个牛人的blog,感觉他们的风格很舒服,然后就发现了Hexo这个好东西!激动的想马上自己也弄一个,昨天晚上开始看资料特别是:潘柏信写了两篇 HEXO搭建 ...

  8. 用hexo搭建自己的blog

    一.工具准备: 1.1 安装node 作用:用来生成静态页面的 到Node.js官网下载相应平台的最新版本,一路安装即可. 1.2 安装Git 作用:把本地的hexo内容提交到github上去. 安装 ...

  9. 利用Github和Hexo搭建独立的个人博客--基础篇

    利用Github和Hexo搭建独立的个人博客--基础篇 摘要:本文主要参考了使用hexo和Github上创建自己的博客.如何搭建一个独立博客--简明Github Pages与Hexo教程和使用GitH ...

随机推荐

  1. 数据库bcp导入导出批处理工具

    应公司策划要求,需要一个数据库按表导入导出的工具配合svn来进行差异匹配,方便策划每天对数据库修改的记录工具,我使用bcp命令实现如下批处理工具,中间踩了不少坑,现保存在这边希望可以帮到需要此工具的同 ...

  2. 洛谷P2679 子串 [noip2015] dp

    正解:dp 解题报告: 感觉是道dp好题啊,所以就写了个题解 代码实现难度低,思维难度大,像我这种思维僵化傻逼选手只想到了爆搜+组合数学... 其实是道很妙的dp题!好趴也没有多妙主要大概是妙在想到了 ...

  3. 地理位置geo处理之mysql函数

    目前越来越多的业务都会基于LBS,附近的人,外卖位置,附近商家等等,现就讨论离我最近这一业务场景的解决方案. 原文:https://www.jianshu.com/p/455d0468f6d4 目前已 ...

  4. Stringbuffer扩容

    public class A { public static void main(String[] args) { StringBuffer ab=new StringBuffer(); String ...

  5. iOS连续上传多张图片

    参考地址:http://www.cocoachina.com/ios/20180730/24366.html 需求是怎样的:for 循环里面.多个网络请求上传图片,每次上传一张,至于为什么每次只上传一 ...

  6. 关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案

    在Ubuntu中,有时候运用sudo  apt-get install 安装软件时,会出现一下的情况 E: Could not get lock /var/lib/dpkg/lock - open ( ...

  7. Spark Core(三)Executor上是如何launch task(转载)

    1. 启动任务 在前面一篇博客中(Driver 启动.分配.调度Task)介绍了Driver是如何调动.启动任务的,Driver向Executor发送了LaunchTask的消息,Executor接收 ...

  8. !! A股历史平均市盈率走势图

    http://value500.com/PE.asp 一. A股历史平均市盈率走势图 *数据来源:上海证券交易所 分享到: 354 - 上海A股 深圳A股更新时间 2017年6月7日 2017年6月7 ...

  9. Object之equals和hashCode

    译者注 :你可能会觉得Java很简单,Object的equals实现也会非常简单,但是事实并不是你想象的这样,耐心的读完本文,你会发现你对Java了解的是如此的少.如果这篇文章是一份Java程序员的入 ...

  10. jQuery delay() 方法

    定义和用法 delay() 方法对队列中的下一项的执行设置延迟. 语法 $(selector).delay(speed,queueName) 参数 描述 speed 可选.规定延迟的速度. 可能的值: ...