--- title: 使用Hexo搭建个人博客 abbrlink: 332630035 date: 2024-02-29 15:10:58 tags: categories: 技术随笔 keywords: description: cover: --- > 我之前的博客网站都是在自己的NAS中放的,使用CND使得可以使用80和443端口访问家里NAS的博客,但是因为DDNS更换IP不及时的缘故,每天要断开几分钟,家里偶尔又会停电,导致百度和Google的收录效果奇差。无奈只得放弃在NAS放置个人博客。 > 不在NAS中放置博客后,我最终采用了使用纯静态网页Hexo的方式,并且将静态网也放在了OSS中,本篇主要介绍Hexo个人博客的搭建,OSS的设置放在下一篇。 # 搭建Hexo 需要安装nodejs,到nodejs[官方网站](https://nodejs.org/en/download/current)下载最新的node并安装。 随后打开命令提示符,找到合适的位置依次输入如下命令: ``` npm config set registry https://registry.npmmirror.com/ npm install -g hexo ``` 随后创建`个人博客`文件夹并进入文件夹 ```bash mkdir 个人博客 cd 个人博客 hexo init hexo server ``` 不出意外的话,此时我们就可以使用localhost:4000来访问博客了。 # 安装主题 Hexo默认的主题并不一定符合我们的审美,在这里推荐下[butterfly](https://github.com/jerryc127/hexo-theme-butterfly)主题,也是我目前在用的 如图,从butterfly[github地址](https://github.com/jerryc127/hexo-theme-butterfly/releases)下载主题后,解压并改名为butterfly后放在themes文件夹下。 随后修改根目录的_config.yml文件,将theme改为butterfly: ```yaml theme: butterfly ``` 然后使用命令安装插件 ``` npm install hexo-renderer-pug hexo-renderer-stylus --save ``` 为了后续升级方便,我们在 hexo 的根目录创建一个文件 _config.butterfly.yml,并把butterfly目录的 _config.yml 所有内容复制到 _config.butterfly.yml 去。 # 网站配置 这里只给出一些基础的配置。 ## 网站名称等配置 根据博客信息自行修改,其中url必须为博客所对应域名。 ```yaml # Site title: 牧尘的NAS小站 subtitle: '最好用的NAS使用技巧' description: 'NAS折腾不完全指南,定期分享一些好玩的东西,不定期记录生活。' keywords: author: 牧尘 language: zh-CN timezone: '' # URL ## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project' url: https://www.dreamlyn.cn ``` ## 配置文章链接 不修此配置博客也能正常使用,但当文章名为中文时,链接中容易出现中文,不利于百度收录 首先我们安装 hexo-abbrlink 插件 ``` npm install hexo-abbrlink --save ``` 随后修改配置 ```yaml permalink: :abbrlink.html permalink_defaults: abbrlink: alg: crc32 #support crc16(default) and crc32 rep: dec #support dec(default) and hex 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 ``` ## 添加分类和标签中英文映射。 如果我们的分类或者标签中使用了中文,那么在网页中可能会出现中文url,不利于seo,在此我们进行映射 ``` # Category & Tag default_category: uncategorized category_map: Linux基础: linux 网络基础: network NAS基础: nasbase NAS服务: nasservice 技术随笔: other tag_map: Linux基础: linux 网络: network NAS技术: nas 反向代理: rproxy 影音系统: video ``` ## 新建分类页 1. `前往 Hexo 博客的根目录` 2. 输入 hexo new page categories 3. 你会找到 source/categories/index.md 这个文件 4. 修改这个文件,添加 type: "categories" ``` --- title: 分类 date: 2018-01-05 00:00:00 type: "categories" --- ``` ## 新建分类页 1. 前往 Hexo 博客的根目录 2. 输入 `hexo new page tags` 3. 你会找到 source/tags/index.md 这个文件 4. 修改这个文件,添加 type: "tags" ``` --- title: 标签 date: 2018-01-05 00:00:00 type: "tags" orderby: random order: 1 --- ``` ## 新建友情链接页面 1. 前往 Hexo 博客的根目录 2. 输入 `hexo new page link` 3. 你会找到 source/link/index.md 这个文件 4. 修改这个文件,添加 type: "link" ``` --- title: 友情链接 date: 2022-02-22 10:34:50 type: 'link' random: true --- # 申请格式 >< 博客名称 + 博客地址 + 博客Logo + 博客简介 > >博客名称: >博客地址: >博客Logo: >博客简介: >(在评论中留言即可) ``` > 关于Hexo的配置还有很多,本文无法全部列出,其余配置请参照butterfy提供的中文文档,小伙伴们有哪些配置不清楚的可以在评论区留言。 # 其他常用插件 ## 添加sitemap 安装依赖 ```bash λ cnpm install hexo-generator-sitemap --save #sitemap.xml适合提交给谷歌搜素引擎 λ cnpm install hexo-generator-baidu-sitemap --save #baidusitemap.xml适合提交百度搜索引擎 ``` 然后在Hexo配置文件_config.yml中添加以下代码 ```yaml # google 百度收录 sitemap: path: sitemap.xml baidusitemap: path: baidusitemap.xml ``` ## 百度主动推送 安装依赖 ```bash λ cnpm install hexo-baidu-url-submit --save ``` 然后在Hexo配置文件_config.yml中添加以下代码 ```yaml baidu_url_submit: count: 3 ## 比如3,代表提交最新的三个链接 host: www.dreamlyn.cn ## 在百度站长平台中注册的域名 token: your_token ## 请注意这是您的秘钥, 请不要发布在公众仓库里! path: baidu_urls.txt ## 文本文档的地址, 新链接会保存在此文本文档里 ``` ### 生成订阅 安装依赖 ```bash λ cnpm install hexo-generator-feed --save ``` 然后在Hexo配置文件_config.yml中添加以下代码 ```yaml #RSS 订阅 feed: type: atom path: atom.xml limit: 20 hub: ```