Hexo+Gitee搭建个人博客

(一)前言

  • beacuse(事出有因):

    很久之前就知道Hexo搭建个人博客,但由于惰性,一直没有行动,在此之前一直用的是博客园。

  • but(但是):

    今天打开博客园,发现网站进行整改,导致之前的博客无法查看,也无法发布新博客。

  • so(因此):

    本着自己动手,丰衣足食的原则,废话不多说,开始搭建自己专属的个人博客网站。

  • why(为什么选择Hexo+Gitee):

    • Hexo官方网站提供详细的中文文档,可以帮助我们快速搭建个人博客。

    • GitHub的镜像在国外,访问速度会受到限制,当然也可以通过CDN加速,这里使用Gitee就不用担心限速问题了。

(二)前期准备

2.1 注册Gitee账号并创建一个仓库

这里建议仓库的名称跟Gitee账号的用户名一致,这样后面生成的网站地址就没有二级目录,要短一些。

2.2 开启Gitee Page服务

服务 - Git Pages - 提交实名认证信息(之前是不需要实名认证,后面需要实名认证,大约一个工作日)

开启后如下图所示可以看到生成的网站地址:

2.3 安装node.js

官网:https://nodejs.org/en/

Node.js 的版本不低于 8.10,这里建议使用 Node.js 10.0 及以上版本。

下载完安装即可(安装很简单Next --> Next就可以):

检查node.js是否安装成功,win+r打开cmd命令行界面,分别输入node -vnpm -v

C:\Users\DELL>node -v
v15.12.0 C:\Users\DELL>npm -v
7.6.3

由于npm默认的镜像是在国外,速度慢且可能出现异常,所以我们需要更换源镜像,这里替换成淘宝镜像:

  • 查看镜像源:npm get registry

    C:\Users\DELL>npm get registry
    https://registry.npm.taobao.org/
  • 修改镜像源:npm config set registry https://registry.npm.taobao.org

    C:\Users\DELL>npm config set registry https://registry.npm.taobao.org
    
    C:\Users\DELL>npm get registry
    https://registry.npm.taobao.org/

2.4 安装Git

官网地址:http://git-scm.com/

2.5 安装Hexo

所有必备的应用程序安装完成后,即可使用npm命令安装Hexo:npm install -g hexo-cli

C:\Users\DELL>npm install -g hexo-cli

added 66 packages in 3s

2.6 建站

在电脑中创建一个文件夹用来存放博客,如:F:\blog 之后的命令行操作都在这个文件夹的目录下进行。

生成默认博客:hexo init

F:\blog>hexo init
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
[32mINFO [39m Install dependencies
INFO Start blogging with Hexo!

目录结构:

本地启动:hexo s

F:\blog>hexo s
INFO Validating config
INFO Start processing
INFO Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.

打开浏览器输入:http://localhost:4000,看到如下画面说明建站成功:

(三)提交到Gitee上

打开根目录/blog下的_config.yml文件

修改以下代码:

deploy:
type: git
repo: https://gitee.com/caihesheng/caihesheng.git #将地址换成自己的地址
branch: master

安装部署插件:

F:\blog>npm install hexo-deployer-git --save

added 7 packages in 1s

清理缓存:hexo clean

生成静态文件:hexo g

F:\blog>hexo g
INFO Validating config
INFO Start processing
INFO Files loaded in 108 ms
...
INFO Generated: js/jquery-3.4.1.min.js
INFO Generated: css/fonts/fontawesome-webfont.svg
INFO 17 files generated in 627 ms

推送到Gitee:hexo d Gitee的用户名/邮箱 密码

F:\blog>hexo d ********* *************
INFO Validating config
INFO Deploying: git
...
Branch 'master' set up to track remote branch 'master' from 'https://gitee.com/caihesheng/caihesheng.git'.
[32mINFO [39m Deploy done: [35mgit[39m

打开Gitee仓库,可以看到我们推送成功的静态文件的目录结构:

再次修改根目录下的_config.yml文件:

# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://caihesheng.gitee.io # 修改成自己的Gitee Page的地址
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks

更新Gitee Pages,每次修改博客内容后都需要做以下操作:

  • hexo clean

  • hexo g/hexo d -g/hexo deploy -g

  • hexo d

  • 更新Gitee Pages服务

打开浏览器输入地址:https://caihesheng.gitee.io/,看到如下画面,说明提交成功:

(四)装修博客

4.1 下载主题

这里使用到了前面安装的git命令,通过命令来克隆主题文件。

切换到themes目录,右键单击,选择Git Bash Here:

输入命令:git clone https://gitee.com/yafine66/hexo-theme-matery.git

$ git clone https://gitee.com/yafine66/hexo-theme-matery.git
Cloning into 'hexo-theme-matery'...
remote: Enumerating objects: 4860, done.
remote: Counting objects: 100% (4860/4860), done.
remote: Compressing objects: 100% (2021/2021), done.
remote: Total 4860 (delta 3200), reused 4179 (delta 2775), pack-reused 0
Receiving objects: 100% (4860/4860), 14.50 MiB | 1.51 MiB/s, done.
Resolving deltas: 100% (3200/3200), done.

4.2 切换主题

  • 修改根目录下的 _config.ymltheme 的值:theme: hexo-theme-matery

  • 修改两个 per_page 的分页条数值为 6 的倍数,如:1218 等,这样文章列表在各个屏幕下都能较好的显示。

  • 中文用户,建议修改 language 的值为 zh-CN

4.3 新建菜单页

分类categories页、标签tags页、关于我about页(这里演示categories,其他类似创建):

categories 页是用来展示所有分类的页面,如果 source 目录下还没有 categories/index.md 文件,那么就需要新建一个,命令如下:

hexo new page "categories"

编辑你刚刚新建的页面文件 /source/categories/index.md,至少需要以下内容:

---
title: categories
date: 2018-09-30 17:25:30
type: "categories"
layout: "categories"
---

4.4 其他样式配置

更多样式的配置在\hexo-theme-matery\_config.yml中修改。

(五)新建文章

输入命令:hexo new '文章名'

F:\blog>hexo new 'Hexo+Gitee搭建个人博客'
INFO Validating config
INFO Created: F:\blog\source\_posts\Hexo-Gitee搭建个人博客.md

Front-matter 选项中的所有内容均为非必填的。但仍然建议至少填写 titledate 的值。

配置选项 默认值 描述
title Markdown 的文件标题 文章标题
date 文件创建时的日期时间 发布时间,应保证全局唯一
author _config.yml 中的 author 文章作者
img featureImages 中的某个值 文章特征图
top true 文章是否置顶,值为 true,则会作为首页推荐文章
cover false 是否需要加入到首页轮播封面中
coverImg 该文章在首页轮播封面需要显示的图片路径,如果没有,则默认使用文章的特色图片
password 文章阅读密码,该值必须是用 SHA256 加密后的密码,防止被他人识破。
toc true 是否开启 TOC,可以针对某篇文章单独关闭 TOC 的功能。
mathjax false 是否开启数学公式支持
summary 文章卡片摘要显示的文字,如果无值程序会自动截取文章的部分内容作为摘要
categories 文章分类,建议一篇文章一个分类
tags 文章标签,一篇文章可以多个标签

(六)自定义连接

Hexo默认文章链接生成规则是按照年、月、日、标题来生成的。一旦文章标题或者发布时间被修改,URL 就会发生变化,之前文章地址也会变成404,而且URL层级很深,不利于分享和搜索引擎收录。

  • 安装插件:npm install hexo-abbrlink --save

    F:\blog>npm install hexo-abbrlink --save
    
    added 5 packages in 2s
  • 修改配置

    修改博客根目录配置文件 _config.yml 的 permalink:

    permalink: p/:abbrlink.html
    abbrlink:
    alg: crc32 #算法: crc16(default) and crc32
    rep: hex #进制: dec(default) and hex

(七)参考

Hexo+Gitee搭建个人博客的更多相关文章

  1. 《Hexo+github搭建个人博客》

    <Hexo+github搭建个人博客> 文/冯皓林 完稿:2016.4.22-2016.4.23 注意:本节教程只针对Windows用户.本教程由无人赞助,赞助写出. <Hexo+g ...

  2. 使用Node.js+Hexo+Github搭建个人博客(续)

    一.写在前面 在我的上一篇博客<使用Nodejs+Hexo+Github搭建个人博客>中,已经介绍了如何使用 Hexo 在 Github Pages 上搭建一个简单的个人博客.该篇博文将在 ...

  3. Hexo&Github-Pages搭建个人博客

    some基础知识 hexo hexo是一款基于Node.js的静态博客框架 github-pages说明 github有两种主页,一种是github-page(个人主页),一种是项目主页,本教程针对个 ...

  4. Mac上基于hexo+GitHub搭建个人博客(一)

    原文地址: http://fanjiajia.cn/2018/11/23/Mac%E4%B8%8A%E5%9F%BA%E4%BA%8Ehexo+GitHub%E6%90%AD%E5%BB%BA%E4% ...

  5. 如何用hexo+github搭建个人博客

    搭建环境 1.安装 Node.js: https://nodejs.org/en/ windows下点击链接,下载安装即可;Linux下更加简单,在终端下输入sudo apt-get install ...

  6. Ubuntu+Hexo+Github搭建个人博客

    Ubuntu+Hexo+Github搭建个人博客 目录 目录 目录 1. 简介 环境 2. Git安装及配置 2.1 安装Git 2.2 创建Git仓库 2.3 配置git仓库 2.4 添加公钥 3. ...

  7. 基于 Hexo 从零开始搭建个人博客(二)

    阅读本篇前,请先配置好相应的环境,请仔细阅读教程 基于 Hexo 从零开始搭建个人博客(一). 原文链接:基于 Hexo 从零开始搭建个人博客(二) 前言 博客搭建过程遇到任何问题,优先在本页面搜索, ...

  8. 基于 Hexo 从零开始搭建个人博客(五)

    阅读本篇前,请先阅读前几篇文章: 基于 Hexo 从零开始搭建个人博客(一) 基于 Hexo 从零开始搭建个人博客(二) 基于 Hexo 从零开始搭建个人博客(三) 基于 Hexo 从零开始搭建个人博 ...

  9. 【原】Github+Hexo+NextT搭建个人博客

    摘要 GitHub 是一个开源项目的托管网站,相信很多人都听过.在上面有很多高质量的项目代码,我们也可以把自己的项目代码托管到GitHub,与朋友们共享交流.GitHub Pages 是Github为 ...

  10. hexo+github搭建个人博客

    最近用hexo+github搭建了自己的个人博客-https://liuyfl.github.io,其中碰到了一些问题,记录下来,以便查阅. hexo+github在win7环境下搭建个人博客:hex ...

随机推荐

  1. Mysql表读写、索引等操作的sql语句效率优化问题

    上次我们说到mysql的一些sql查询方面的优化,包括查看explain执行计划,分析索引等等.今天我们分享一些 分析mysql表读写.索引等等操作的sql语句. 闲话不多说,直接上代码: 反映表的读 ...

  2. letcode-括号生成

    递归大法,空间换时间 就是记录左右括号数,一旦右括号数大于左括号数,退出. 当左右括号数相等,且等于n则为合法解. 使用char数组取代StringBuilder可以减少内存使用,这样每次进行回溯时不 ...

  3. [BUUCTF][Web][极客大挑战 2019]Havefun 1

    打开靶机的URL,看到一个页面 右键查看源代码,看到有用信息 <html> ... <!-- $cat=$_GET['cat']; echo $cat; if($cat=='dog' ...

  4. 2021-07-01 原生js获取文件数据

    原理 手动用js创建一个type为file的DOM元素. 在读取到数据后,清空手动创建的DOM元素.返回得到的Promise类型的文件数据files. const getFilesPromise = ...

  5. 麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法

    前言   中文输入法,QtCreator中无法输入中文也是ubuntu中一个常规问题,在麒麟系统中也此问题,要解决此问题,主要是安装和使用Fcitx输入法.  本文章最终结果是失败的,但是读者的系统未 ...

  6. Jetpack Compose(2) —— 入门实践

    一.项目中使用 Jetpack Compose 从此节开始,为方便起见,如无特殊说明,Compose 均指代 Jetpack Compose. 开发工具: Android Studio 1.1 创建支 ...

  7. Elasticsearch系列之-linux.docker安装和基础操作及在Django中集成

    elasticsearch Elasticsearch是一个基于Lucene的搜索服务器,也是属于NoSQL阵营的数据库.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口提供 ...

  8. 【华为机试ACM基础#02】从单向链表中删除指定值的节点、输出单向链表中倒数第k个节点(熟悉链表的输入方式)

    从单向链表中删除指定值的节点 输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针. 链表的值不能重复. 构造过程,例如输入一行数据为: 6 2 1 2 ...

  9. 【Azure 事件中心】关闭或开启Azure Event Hub SDK中的日志输出

    问题描述 使用Azure Event Hub的Java SDK 作为消费端消费消息,集成在项目中后,发现大量日志产生,并且都是Debug 级别日志,如何来关闭这部分日志输出呢? import com. ...

  10. Java 手动抛异常

    1 package com.bytezero.throwable; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 impor ...