❤ hexo主题+Gitee搭建个人博客

❤Hexo的基本使用

常用命令

hexo new '' 新建文章
hexo c&&hexo g&&hexo s  一键三连
hexo d 推送

1. npm install -g hexo 安装hexo
2. hexo init Lourance初始化
3. npm install hexo-cli -g  安装hexo脚手架
5. cd Lourance  进入目录
6. npm install  进一步安装hexo所需文件
7. 启动
	hexo clean   # 清除所有记录 /hexo c
	hexo generate  # 生成静态网页 /hexo g
	hexo server    # 启动服务 /hexo s

其他
ssh-keygen -t rsa -C "2455067339@qq.com" 生成电脑的个人密钥
npm install hexo-deployer-git --save 部署工具的安装


部署前准备添加公钥
1、注册登录码云
2、生成|添加SSH公钥
3、配置 ssh 账户和邮箱
	git config --global user.email *********@qq.com # 设置邮箱
	git config --global user.name '****'   # 设置用户名
4、查看账户和邮箱
	git config --global user.name
	git config --global user.email
5、本地生成ssh公钥
	ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
6、查看 ssh 公钥
	vim ~/.ssh/id_rsa.pub
7、 部署到码云上面
8、 测试  ssh -T git@gitee.com
9、 配置连接 Gitee
10、复制 Gitee上的个人URL ,到 hexo 的配置文件 _config.yml

1. 认识

官网

官网地址:https://hexo.io/zh-cn/
在这里插入图片描述

介绍

Hexo是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。即把用户的markdown文件,按照指定的主题解析成静态网页。

2. 安装

准备环境

准备环境
	1.node 
	hexo 基于 node,所以首先要安装node环境(node尽量18以及以上)
	2.npm
	包管理工具

安装

安装使用hexo之前需要先安装Node.js和Git,当已经安装了Node.js和npm(npm是node.js的包管理工具),可以通过以下命令安装hexo

npm install -g hexo-cli 安装hexo脚手架

安装成功:
在这里插入图片描述

3. 使用

部署发布

hexo init (初始化 hexo,必须是空文件夹)
npm install (工程配置)

浏览器调试
hexo g ()
hexo s (启动hexo的服务)

在这里插入图片描述

到这里你本地已经简单搭建起来了博客

hexo c (清楚缓存)
hexo g 
hexo d (Gitee博客配置好了以后推送到gitee的)
hexo s

发布到gitee上面(废弃)

打开博客文件夹下面的_config.yml 文件
配置自己的个人博客路径
		type: 'git'
		repo: https://gitee.com/xxx/note.git  #替换成你自己仓库的HTTP URL地址
		branch: master
1
2
将生成的网站地址配置到自己的_config.yml文件之中
//  url: https://gitee.com/xxx/note.git

发布到GitHub上面

上传 hexo 程序到 GitHub

npm install hexo-deployer-git --save

部署博客

1、安装自动部署发布工具,不然部署会报错

npm install hexo-deployer-git --save

2、一键三连

  • 一般发布文章或者修改博客后需要这些操作:清除缓存>生成静态文件>启动服务器,测试没问题后再部署
【清除缓存 hexo clean】
【生成静态文件 hexo generate】
【启动服务器 hexo server】
【部署 hexo deploy】
hexo c
hexo g
hexo d
hexo s
// 我们可以写成一条命令
hexo c&&hexo g&&hexo s
$ hexo d

进阶操作部分

1. 如何发表新的文章
1、hexo new "new article"
会在对应的路径下创建一个名为“new article”的markdown文件
只要在这个文件中用markdown语言进行编写文章内容即可,保存后,输入命令


hexo g     //生成静态页面
hexo s    //启动本地服务器进行查看
hexo d   //查看后没有问题即可部署到github上
【自己习惯】
【修改以后个人三连】
hexo g && hexo d 
hexo s 

4. 目录和配置

官方配置地址:https://hexo.io/zh-cn/docs/configuration

.
├── _config.yml 网站的配置信息,您可以在此配置大部分的参数
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

5. 主题安装

下载自己喜欢的主题,可以去 github 下载压缩包然后放到博客项目根目录下的 themes 中。
然后配置 _config.yml

推荐的一些主题

Butterfly简洁而不简单

在这里插入图片描述
地址:
https://github.com/jerryc127/hexo-theme-butterfly

`icarus 主题地址` 

地址:https://gitcode.com/ppoffice/hexo-theme-icarus/overview?utm_source=csdn_github_accelerator&isLogin=1

安装:
npm install hexo-theme-icarus  
hexo config theme icarus

`这里我遇到的问题就是控制台一直报红色输出问题`

所有主题地址:
https://hexo.io/themes/

(1)主题选择历程

1、开始选择的是
hexo主题里面的yilla简洁主题,菜单不明显,放弃

搭建了hexo主题NextT主题

使用主题Butterfly

01下载主题
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/Butterfly

2 修改站点配置文件_config.yml,
	把主题修改为 Butterfly
	theme: Butterfly

为便于后续平滑升级,在source目录下创建_data文件夹,将Themes/Butterfly目录下的 _config.yml复制一份到source/_data目录下,并改名为butterfly.yml

执行以下指令,以查看应用主题后的效果

hexo clean #清除旧的内容
hexo g #生成发布用的静态页面

(2)hexo主题Yilla使用

下载使用

1、Yilla主题下载到theme目录中
git clone https://github.com/litten/hexo-theme-yilia.git
2、Yilla配置主题【找到上一层的_config.yml这个文件】
theme: hexo-theme-yilia
3、Yilla将属性值改为刚刚下载的主题名,将文件进行保存
hexo clean //清除一下缓存
hexo g  //生成静态页面
hexo s //开启本地服务器
4、Yilla给页面设置过多内容时候隐藏一部分
<!-- more -->
5、Yilla文章显示目录

themes/yilia/_config.ym中进行配置 toc: 2即可,它会将你 Markdown 语法的标题,生成目录,目录查看在右下角。

6、Yilla文件配置_config.yml

主题的配置文件。和 Hexo 配置文件不同,主题配置文件修改时会自动更新,无需重启 Hexo Server。

7、Yilla语言配置languages
8、Yillasource文件夹

资源文件夹,除了模板以外的 Asset,例如 CSS、JavaScript 文件等,都应该放在这个文件夹中。文件或文件夹开头名称为 _(下划线线)或隐藏的文件会被忽略。

如果文件可以被渲染的话,会经过解析然后储存到 public 文件夹,否则会直接拷贝到 public 文件夹

9、配置图片资源
  • 添加图片资源文件夹。 路径为 themes/yilia/source/下,可添加一个 assets 文件夹,里面存放图片资源即可
  • 配置文件中直接引用即可。路径为 themes/yilia/_config.yml,找到如下即可
10、文章显示摘要

问题。点击主页时,发现所有文章都是全文显示,不利于查找,可控制显示的字数
解决办法。 在你 MD 格式文章正文插入 <!-- more -->即可,只会显示它之前的,此后的就不显示,点击文章标题,全文阅读才可看到,同时注释掉以下 themes/yilia/_config.yml,重复

# excerpt_link: more
11、增加归档菜单

修改 themes/yilia/_config.yml

menu:
    主页:  /
    归档:  /archives/index.html
12、添加顶部加载条
用编辑器打开 BLOG\themes\yilia\layout\_partial\head.ejs 配置文件。

在这段代码末尾添加
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge" >
<link rel="dns-prefetch" href="<%= config.url %>">
<title><% if (title){ %><%= title %> | <% } %><%= config.title %></title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

<script src="//cdn.bootcss.com/pace/1.0.2/pace.min.js"></script>
  <link href="//cdn.bootcss.com/pace/1.0.2/themes/pink/pace-theme-flash.css" rel="stylesheet">
    <style>
    .pace .pace-progress {
        background: #6d6d6d; /*进度条颜色*/
        height: 2px;
    }
    .pace .pace-progress-inner {
         box-shadow: 0 0 10px #1E92FB, 0 0 5px     #6d6d6d; /*阴影颜色*/
    }
    .pace .pace-activity {
        border-top-color: #6d6d6d;    /*上边框颜色*/
        border-left-color: #6d6d6d;    /*左边框颜色*/
    }
  </style>
19、添加左侧显示文章数
20、添加总文章数
21、鼠标点击小红心
!function(e,t,a){function r(){for(var e=0;e<s.length;e++)s[e].alpha<=0?(t.body.removeChild(s[e].el),s.splice(e,1)):(s[e].y--,s[e].scale+=.004,s[e].alpha-=.013,s[e].el.style.cssText="left:"+s[e].x+"px;top:"+s[e].y+"px;opacity:"+s[e].alpha+";transform:scale("+s[e].scale+","+s[e].scale+") rotate(45deg);background:"+s[e].color+";z-index:99999");requestAnimationFrame(r)}function n(){var t="function"==typeof e.onclick&&e.onclick;e.onclick=function(e){t&&t(),o(e)}}function o(e){var a=t.createElement("div");a.className="heart",s.push({el:a,x:e.clientX-5,y:e.clientY-5,scale:1,alpha:1,color:c()}),t.body.appendChild(a)}function i(e){var a=t.createElement("style");a.type="text/css";try{a.appendChild(t.createTextNode(e))}catch(t){a.styleSheet.cssText=e}t.getElementsByTagName("head")[0].appendChild(a)}function c(){return"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"}var s=[];e.requestAnimationFrame=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)},i(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),n(),r()}(window,document);
配置小红心
hexo/themes/yilia/layout/_partial/footer.ejs
<!--页面点击小红心-->
<script type="text/javascript" src="/love.js"></script>
22、hexo主题-标签页面
23、Hexo yilia 随笔

“随笔” 其实就是文章的一个 tags(标签),如果你想把文章作为随笔的话,请在文章的首部写个 tags 为 “随笔” 的标签。如下图:

24、hexo添加about导航栏
  • 创建用于关于导航栏的网页,通过命令hexo new page "about"创建,即在source下创建about文件夹,该文件夹下新建index.md,根据普通文章正文要求对其书写即可。
  • 接下来,就需要将该新网页绑定在新的导航栏上面。修改 theme/使用主题 目录下对应的**_config.yml**主题配置文件
# Header
	menu:  #站点导航栏,按照如下格式添加: 右侧为public文件夹下的路径,索引至index.md
          #从上至下依次显示在右上角从左至右处
  Home: /	 #主页导航栏
  All-lists: /archives		#所有列表导航栏
  Resume: /Shengjie		#个人简历导航栏
  About: /about			#关于导航栏

在你想插入的位置上插入关于导航栏(支持中文),然后将新创建的/about作为其路径,即可导航至你自定义的index.md

(3)hexo主题NestT使用

下载使用

git clone https://github.com/iissnan/hexo-theme-next themes/next
Next主题美化

1、主题简单配置

Next主题主要分为四种scheme,可以在主题文件的_config.yml文件中进行选择,分别是Muse、Mist、Pisces、Gemini;

下载

git clone https://github.com/iissnan/hexo-theme-next themes/next
我主要选用的是Gemini风格

2、Next常规配置

  • 个人信息配置

在站点的_config.yml文件中进行配置:

title: 陶白&博客
subtitle: 学无止境
description: 路漫漫其修远兮,吾将上下而求索。
keywords: 陶白,北安南栎,博客
author: tbai
language: zh-CN # 主题语言
timezone: Asia/Shanghai #中国的时区,不要乱改城市
  • 头像配置

将头像放置在themes/next/source/images/中,然后在主题中打开_config.yml文件中进行配置:

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: /img/avatar.jpg #将我们的头像图片放置在blog/themes/next/source/images目录下,填写具体地址
  # If true, the avatar would be dispalyed in circle.
  rounded: false #鼠标放在头像上时是否旋转
  opacity: 1 #头像放缩指数
  # If true, the avatar would be rotated with the cursor.
  rotated: true #头像是否设为圆形,否则为矩形
  • 其它常规配置
# Table Of Contents in the Sidebar
toc:
  enable: true #是否自动生成目录
  # Automatically add list number to toc.
  number: false #目录是否自动产生编号
  # If true, all words will placed on next lines if header width longer then sidebar width.
  wrap: false #标题过长是否换行
  # Maximum heading depth of generated toc. You can set it in one post through `toc_max_depth` var.
  max_depth: 6 #最大标题深度
# Sidebar offset from top menubar in pixels (only for Pisces | Gemini).
  offset: 12 #侧边栏相对主菜单像素距离
  # Back to top in sidebar.
  b2t: true #是否提供一键置顶
  # Scroll percent label in b2t button.
  scrollpercent: true #是否显示当前阅读进度
  # Enable sidebar on narrow view (only for Muse | Mist).
  onmobile: false #手机上是否显示侧边栏
  
  • 菜单栏配置

在主题中打开_config.yml文件中进行配置:

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

系统自动帮我们创建了home和archives页面,所以我们只需要使用终端创建tags和categories页面即可

$ cd hexo文件目录
$ hexo new page "tages"
$ hexo new page "categories"

3、添加搜索功能

1、安装 hexo-generator-searchdb 插件

$ cd 文件目录
$ npm install hexo-generator-searchdb --save

2、打开站点配置文件_config.yml,找到Extensions在下面添加:

# 搜索
search:
  path: search.xml
  field: post
  format: html
  limit: 10000

3、打开主题配置文件_config.yml,找到Local search,将enable设置为true。

4、添加分类、标签、关于

1. hexo new page "about"
2. hexo new page "tags"
3. hexo new page "categories"

5、增加categories: 书籍

  • 只要搭建好了categories界面,然后在自己的博客里面增加上面categories即可

6、设置菜单项的显示中文文本

打开 themes/next/languages/zh-Hans.yml 文件,搜索 menu 关键字,修改对应中文或者新增。

7、Hexo NexT主题更改语言

打开站点配置文件:站点根目录/_config.ymlspa

而后搜索找到language属性,属性值配置成zh-Hans,表示中文c
language: zh-Hans

8、 设置头像边框为圆形框

打开位于 themes/next/source/css/_common/components/sidebar/sidebar-author.syl 文件,修改如下:

.site-author-image {
      display: block;
      margin: 0 auto;
      padding: $site-author-image-padding;
      max-width: $site-author-image-width;
      height: $site-author-image-height;
      border: $site-author-image-border-width solid $site-author-image-border-color;
    // 修改头像边框
      border-radius: 50%;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
}

9、hexo之next主题添加分类

编辑新建界面,将页面类型设置为categories,主题将会在这个页面上显示所有的分类:

---
title: categories
date: 2018-03-02 12:33:16
type: "categories"
---
然后在需要的地方添加【categories:分类】就可以

10、 主页文章添加边框阴影效果

打开 themes/next/source/css/_custom/custom.styl ,向里面加代码:

// 主页文章添加阴影效果
.post {
   margin-top: 0px;
   margin-bottom: 60px;
   padding: 25px;
   -webkit-box-shadow: 0 0 5px rgba(202, 203, 203, .5);
   -moz-box-shadow: 0 0 5px rgba(202, 203, 204, .5);
}

11、修改文章间分割线

打开 themes/next/source/css/_common/components/post/post-eof.styl ,修改:

.posts-expand {
  .post-eof {
    display: block;
  //  margin: $post-eof-margin-top auto $post-eof-margin-bottom;  
    width: 0%; //分割线长度
    height: 0px; // 分割线高度
    background: $grey-light;
    text-align: center;
  }
}

12、代码块自定义样式

// Custom styles.
code {
    color: #ff7600;
    background: #fbf7f8;
    margin: 2px;
}
// 边框的自定义样式
.highlight, pre {
    margin: 5px 0;
    padding: 5px;
    border-radius: 3px;
}
.highlight, code, pre {
    border: 1px solid #d6d6d6;
}

Next主题优化

前言

在Hexo的模板中选择了Next主题,看中了Gemini风格。特意修改了一下,以满足使用

找到themes中的next文件夹,进入/source/css/_variables/目录,打开Gemini.styl文件
置$body-bg-color,改变页面背景色。

页面底部主题信息删除

打开themes中的next文件夹,找到_config.yml文件,修改footer下面的配置为false即可

页面顶部黑色线条删除

打开themes中的next文件夹,找到/source/css/_common/components/header/headerband.styl文件,删除background样式即可

可能遇到的问题

环境要求

对于node环境要求
在这里插入图片描述

网速过慢

npm是从国外服务器下载,速度慢可能出现异常,所以我们可以安装cnpm来替换npm

# 终端输入
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
#查看安装版本
$ cnpm -v

安装淘宝镜像文件 【后续补充】

安装淘宝镜像文件 【后续补充】
git config --global user.name "Lourance"
git config --global user.email "2455067339@qq.com"

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。
可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org

本地推送到远程仓库出的问题解决

[remote rejected] master -> master (hook declined) error: failed to push some refs to

解决方法:码云的解决方法 : 设置>多邮箱管理>公开

终端输入“hexo clean”报错,正确做法是:

首先定位到博客文件夹,输入以下命令并回车:
cd /Users/你的用户文件夹名/你的 blog 文件夹名【我的 tbai】
开启 root 权限(超级管理员权限),输入以下命令并回车:
sudo su
最后一步,依次输入 hexo 三连并回车:

$ hexo clean
$ hexo g
$ hexo d

Gitee上出现未可知的违规信息

检查以后发现是文章里面有 &  ,Gitee
// 删除以后再次更新正常

hexo博客使用Next主题,将主题改为子主题Gemini后,用hexo s启动服务器本地查看正常,但hexo d推送至服务器后,服务器端的主题并没有改变。

解决方法
使用命令hexo clean清除缓存后,再重新使用hexo g编译,最后再用hexo d推送即可。

markdown主题图片不显示

问题:改主题为Gemini时,hexo clean,hexo g,hexo d 三个命令完成后主题未改变
解决办法:删除next下的.git文件夹(这好像是个隐藏文件夹),再上传时修改成功。

附:后来我又发现用 hexo s 命令查看网页部署时是成功的,但是 hexo d 部署到GitHub上就不行,后来等一会就行了,可能是有延迟。

我的博客以及相关其他博客

https://ltbai.gitee.io/note/ 我的博客

https://lovelijunyi.gitee.io/
https://sunhwee.com/
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林太白

感谢打赏,你拥有了我VIP权限

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值