跳到主要内容

hexo配置

参考--Butterfly

图标库

Butterfly 支持的 font-awesome v5图标。

如下

social:
fab fa-github: https://github.com/alsritter || GitHub
fab fa-git-square: https://gitee.com/alsritter || gitee
fas fa-envelope: mailto:alsritter1@gmail.com || Email

常用命令

hexo n "我的博客" == hexo new "我的博客" #新建文章
hexo p == hexo publish
hexo g == hexo generate#生成
hexo s == hexo server #启动服务预览
hexo d == hexo deploy#部署

RSS 订阅

参考资料 如何用RSS订阅?

RSS 是什么?

RSS 即 Really Simple Syndication “简易信息聚合”

我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,RSS 就是这样一个订阅的方式。很多网站上看到 RSS 的入口,点进去以后总是显示一堆的 XML 代码,我们来看看怎么使用这个功能。在本次的学习过后你将学会使用 RSS 来订阅别人的网站,而且你还能学会给不能用 RSS 网站的创建订阅,比如学校的教务网站发布重要的通知、新闻通知、公司网站通知、包括好看的电视剧更新就都能被你订阅了。

给博客添加 RSS

参考资料 为hexo博客添加RSS订阅功能

先安装依赖 hexo-generator-feed

npm install hexo-generator-feed --save

在根 _config.yml 文件添加

feed:
type: atom
path: atom.xml
limit: 20
hub:
content:
content_limit:
content_limit_delim: ' '

再在 Butterfly 的 butterfly.yml 里 social 加上

social:
fab fa-github: https://github.com/alsritter || GitHub
fab fa-git-square: https://gitee.com/alsritter || gitee
fas fa-envelope: mailto:alsritter1@gmail.com || Email
fas fa-rss-square: /atom.xml || RSS

参数的含义:

  • type: RSS的类型(atom/rss2)
  • path: 文件路径,默认是atom.xml/rss2.xml
  • limit: 展示文章的数量,使用0或则false代表展示全部
  • hub:
  • content: 在 RSS 文件中是否包含内容,有3个值 true/false 默认不填为 false
  • content_limit: 指定内容的长度作为摘要,仅仅在上面content设置为false和没有自定义的描述出现
  • content_limit_delim: 上面截取描述的分隔符,截取内容是以指定的这个分隔符作为截取结束的标志。在达到规定的内容长度之前最后出现的这个分隔符之前的内容,防止从中间截断。

制作 RSS

RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。例如给 B站某位 Up 主制作 RSS

百度 google 推送

参考资料 博客SEO优化

查看百度是否收录可以在百度搜索引擎中输入 site:你的域名 查看

验证网站时需要添加文件,直接丢到主题的 source 文件夹根目录下,对应的就是 public 根目录

然后修改博客配置文件 在根目录配置文件中修改 url 为你的站点地址

注:这里插入一个知识,为博客文章添加一个永久链接

Hexo 在生成博客文章链接时,默认是按照年、月、日、标题格式来生成的,可以在站点配置文件中指定 new_post_name 的值。默认是:year/:month/:day/:title 这样的格式。如果你的标题是中文的话,你的URL链接就会包含中文,生成的链接如下

https://alsritter.icu/2020/10/28/TCP%E5%8D%8F%E8%AE%AE/

如果修改了该文章的标题,那这个 url 就是失效了。为了给每一篇文章来上一个属于自己的链接,可以使用 hexo-abbrlink 插件为每篇文章设置一个专属的链接

npm install hexo-abbrlink --save

修改根目录的 _config.yml

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://alsritter.icu/
root: /
permalink: posts/:abbrlink/ # :year/:month/:day/:title/ # 这个是指导航到文章的链接(这几个属性对应文章头部信息)
# abbrlink config
abbrlink:
alg: crc32 #算法: crc16(default) and crc32
rep: hex #进制: dec(default) and hex
# 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

注意:生成前要使用 hexo clean 清除缓存,否则会显示 undefined

生成网站地图(就是方便爬虫的一个导航工具)

先安装插件

npm install hexo-generator-sitemap --save     
npm install hexo-generator-baidu-sitemap --save

执行完之后就会在网站根目录生成 sitemap.xml 文件和 baidusitemap.xml 文件

然后我们就可以将我们生成的 sitemap 文件提交给百度,还是在百度站长平台,找到链接提交,这里我们可以看到有两种提交方式,自动提交和手动提交,自动提交又分为主动推送、自动推送和 sitemap

这里主要讲主动推送

安装插件 hexo-baidu-url-submit

npm install hexo-baidu-url-submit --save

使用说明 Hexo 插件之百度主动提交链接

在根目录 _config.yml 中添加如下代码

baidu_url_submit:
count: 100 # 提交最新的一个链接
host: alsritter.icu # 在百度站长平台中注册的域名
token: your_token # 请可以在百度站长提交里找到:https://ziyuan.baidu.com/linksubmit/index
path: baidu_urls.txt # 文本文档的地址, 新链接会保存在此文本文档里

然后修改下提交

deploy:
- type: git # 这里不需要碰,这是用来提交到远程仓库的
repo: # 远程仓库地址
branch: master

- type: baidu_url_submitter

然后在主题配置文件上加入

#百度推送(butterfly 已经有这个选项了,直接打开就行)
baidu_push:
enable: true

这样执行 hexo deploy 的时候,新的链接就会被推送了

谷歌的推送

登陆到 谷歌站长管理平台

添加 sitemap : 进入 Google Search Console - 抓取 - 站点地图,点击「添加 / 测试站点地图」, 输入你的博客网址。若无报错则站点地图提交成功 提交 robots.txt:

robots.txt 是一种存放于网站根目录下的 ASCII 编码的文本文件,它的作用是告诉搜索引擎此网站中哪些内容是可以被爬取的,哪些是禁止爬取的。robots.txt 放在博客目录下的 source 文件夹中,博客生成后在站点目录 /public/ 下。

# hexo robots.txt
User-agent: *
Allow: /

# 可选
###########################
Allow: /archives/
Allow: /categories/
Allow: /about/

Disallow: /vendors/
Disallow: /js/
Disallow: /css/
Disallow: /fonts/
Disallow: /vendors/
Disallow: /fancybox/
###########################

Sitemap: https://alsritter.icu/sitemap.xml
Sitemap: https://alsritter.icu/baidusitemap.xml

顶部栏配置参考

---
title:
date:
updated:
tags:
categories:
keywords:
description:
top_img:
comments:
cover:
toc:
toc_number:
auto_open:
copyright:
mathjax:
katex:
aplayer:
highlight_shrink:
---
寫法解釋
title【必需】文章標題
date【必需】文章創建日期
updated【可選】文章更新日期
tags【可選】文章標籤
categories【可選】文章分類
keywords【可選】文章關鍵字
description【可選】文章描述
top_img【可選】文章頂部圖片
cover【可選】文章縮略圖(如果沒有設置top_img,文章頁頂部將顯示縮略圖,可設為false/圖片地址/留空)
comments【可選】顯示文章評論模塊(默認 true)
toc【可選】顯示文章TOC(默認為設置中toc的enable配置)
toc_number【可選】顯示toc_number(默認為設置中toc的number配置)
auto_open【可選】是否自動打開TOC(默認為設置中toc的auto_open配置)
copyright【可選】顯示文章版權模塊(默認為設置中post_copyright的enable配置)
mathjax【可選】顯示mathjax(當設置mathjax的per_page: false時,才需要配置,默認 false)
katex【可選】顯示katex(當設置katex的per_page: false時,才需要配置,默認 false)
aplayer【可選】在需要的頁面加載aplayer的js和css,請參考文章下面的音樂 配置
highlight_shrink【可選】配置代碼框是否展開(true/false)(默認為設置中highlight_shrink的配置)

使用到的图片

树林

Nu9RF10b227e7e40a172f2.jpg bg1

Nu9goRd0418f4f797e067a.jpg bg1

NuPfKO3a459cbe03e42c6a.jpg bg1

NuP226fffc2f68d4d4f977.jpg bg1

NuPsa97d97dc08e104bc8c.jpg bg1

NuPRxKf3431c1db89569d2.jpg bg1

NuPrVJ5bde3ba628c1c2c3.jpg bg1

NuPcP1ef9e5d148f1ed290.jpg bg1

NuPy5R258044e9361b8fb8.jpg bg1

NuPg8xbcaf9ac2939edc73.jpg bg1

Snipaste_2021-02-08_19-29-56.png bg1

杂图

bg1 bg1 bg1 bg1