我的博客搭建过程和使用
我的博客搭建过程和使用
搭建过程
基础Hexo搭建方法
-
安装 Node.js与git
Node.js 是一个开源的、跨平台的 JavaScript 运行环境
-
安装 Hexo和butterfly
1
2
3
4
5
6
7
8
9
10npm config set registry https://registry.npmmirror.com
npm install hexo-cli -g
cd 你要创建站点的目录
hexo init blog
cd blog
npm install
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly #主题要在theme里,可以魔改
npm install hexo-renderer-pug hexo-renderer-stylus --save # pug以及stylus的渲染器
npm i hexo-theme-butterfly #在博客的文件夹下 -
创建一个github的page,需要创建“用户名.github.io”仓库,具体搜一下
这个github page只用于保存生成好的html文件,并不保存博客的原始文件,所以还是创建了一个远程仓库用于保存博客原始文件
1
2
3
4
5# 然后改一下config.yml
deploy:
type: git
repository: git@github.com:outbreak-sen/outbreak-sen.github.io.git
branch: main
使用butterfly主题
1 | git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly |
修改配置文件 config.yml 中的 theme 项为 butterfly,之后也不要编辑config文件了,测试不好使,只编辑_configbutterfly.yml!!!!!
然后就可以编辑config文件进行美化,这边对config文件进行了注释,然后方便改动
目录说明
博客的文件目录和说明如下
- img: 作用未知,往里面存图片没有用啊
- node_modules:nodejs的插件安装位置
- public:编译好的网页将保存在此处,每次hexo clean的时候只更新这里
- scaffolds:保存博客的不同layout,比如post,draft,page的layout,还有其他的layout比如categories,tags是默认的
- source:博客
- _data:
- _post:这里面是重要的博客单页,每个博客都有标题和兴趣tag,在生成的时候自动分类,不用自己分类到文件夹
- _about:这里就是一个page的index.md,page的layout是"about",里面是自己的介绍
- archives:按照时间轴进行分类,这里就是一个page的index.md,page的layout是"archives",不用管,有这个就可以看到分类页
- categories:按照分类进行分类,这里就是一个page的index.md,page的layout是"categories"
- tags:按照兴趣进行分类,这里就是一个page的index.md,page的layout是"tags"
- shuoshuo:需要创建一个对应名称为shuoshuo的tag,然后就可以在此处看到
- 这里的每个文件夹本身是不编译的,但是如果在config文件中编写同名目录则网页出现对应目录链接,然后点击进链接首先出现的是该目录下的index.md。如果要创建一个图库,则index里编写图如何摆放即可,如果创建一个tegs分类,则index里把type改为tags则自动进入一个按照tag分类的界面。关于笔者,即about页面,其实也是一个page,然后设置好layout为about
- themes:
- butterfly:里面的img目录为主页,人像等配置的默认目录
图片修改
图片在/themes/butterfly/source/img
更改,如果想要纯透明的,可以用png格式的图片,将jpg格式的图片转换为png格式的图片,然后在图片编辑软件中将透明度调成0.0~0.9之间,然后保存为png格式的图片。
如何优雅插入博客图片
有两类图需要插入,一种是博客搭建使用的图片,比如个人头像,背景图像等,另一种是博客中需要插入的图。
对于第一种,可以创建一个img目录直接插入图像,知否不会改动。或者直接插入到/themes/butterfly/source/img这个目录下,这样编写的路径比较好看但是因为这样插入的是theme文件夹,破坏了原先的主题文件夹,所以我不喜欢。(站点根目录是站点目录的source文件夹里)
对于第二种,优雅的方法是为每一个文章创建一个资源文件夹,将图片保存其中
- 在博客根目录打开
_config.yml
文件做如下修改:yaml post_asset_folder: true
- 然后使用
hexo n text
命令后创建一个使用post布局名为text的文章,你将发现hexo在\source\_post
文件夹下创建了一个\text
文件夹以及同名的.md
文件: - 使用Typora编辑器,可以在编辑器的文件/偏好设置/图像中进行如下设置:插入图片时:选择复制到制定路径:./${filename}/
目录和类型
每个博客有两个属性,tag指的是内容涉及的话题,categories是指post的分类
-
博客顶部的Front-matter是保存文章信息的地方,里面写明了文章创建的时间,标签,名字,也可以加入,分类,更改日期,评论系统是否开启等
-
在scaffolds目录下有多个layout文件,默认为draft.md, page.md,post.md三个,对应创建博客时候的layout,也对应每个创建的md博客顶部的layout。
-
所谓page,就是点击一个单页,比如点击categories的时候出现的index.md就是一个page,点击图库出现的收藏了一堆图片的单页就是page
-
使用
draft
布局建立的文章,其博客文章md
源码位于source/_drafts
路径下,hexo generate
不会将其编译到public
目录下,所以hexo deploy
也不会将其部署发布到博客网站上。Hexo提供了一个预览的方法,就是:1
2hexo s --draft
hexo publish aaa #将aaa.md的草稿发布为博客,其中aaa是文章名,不包含.md后缀,该命令的原理也不过是将文章从/source/_drafts移动到/source/_posts而已
-
-
# 目录图案 menu: 主页: / || fas fa-home 博文 || fa fa-graduation-cap: 分类: /categories/ || fa fa-archive 时间轴: /archives/ || fa fa-folder-open 生活 || fas fa-list: 学习笔记: /shuoshuo/ || fa fa-comments-o 相册: /photos/ || fa fa-camera-retro 影视鉴赏: /movies/ || fas fa-video 关于笔者: /about/ || fas fa-heart # 菜单项后面的 fas fa-home、fa fa-graduation-cap 等是 Font Awesome 图标 的类名,用于在菜单项旁边显示对应的图标。https://fontawesome.com/icons # 在 Butterfly 主题的 _config.yml 中,确保以下配置为 true # fas fa-home:表示一个“家”图标,通常用于“主页”菜单项。 # fa fa-graduation-cap:表示一个“毕业帽”图标,通常用于“博文”或“文章”相关的菜单项。 # fas fa-list:表示一个“列表”图标,通常用于“生活”或“分类”菜单项。 # fas fa-heart:表示一个“心形”图标,通常用于“关于笔者”或“喜欢”菜单项。 # fas:表示 Solid 风格(实心图标)。 # far:表示 Regular 风格(空心图标)。 # fab:表示 Brand 风格(品牌图标,如 GitHub、Twitter 等)。
-
Front-matter示例如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17---
title: Hexo 博客配置指南
date: 2023-10-01 14:00:00
tags:
- Hexo
- Butterfly
categories:
- 技术
cover: /img/hexo-cover.jpg
top_img: /img/hexo-top.jpg
description: 本文介绍了如何配置 Hexo 和 Butterfly 主题。
---
## 引言
Hexo 是一个快速、简洁且高效的博客框架...
## 正文
...
使用方法
1 | hexo new "My New Post" #创建一个post类型(layout默认为post)的md文档 |
config文件的示例
1 | title: This is a 部落格 of outbreak_sen |