手把手搭建个人博客系列教程-七
前言
手把手搭建个人博客系列教程-七: 本节主要介绍如何实现魔改菜单栏,夜间霓虹灯,个人卡片渐变色,个人卡片发光,页面样式调节等
参考文档:
环境与工具
- 操作系统:Windows 10
- VSCode编辑器
魔改菜单栏
修改配置文件
在配置文件 custom.css
中添加配置
1 | /* 一级菜单居中 */ |
引入配置文件
在主题配置文件 _config.butterfly.yml
中inject的head部分注入 custom.css
样式文件
1 | inject: |
注意: 之前如果已经引入过 custom.css
就不用再引入了
夜间霓虹灯
实现的原理就是关键帧线性插值,然后一直循环,这里默认是左上角标题、中间标题和副标题,还有文章页头的标题和信息有循环霓虹灯,详见黑夜霓虹灯纯css
修改配置文件
修改 custom.css
样式文件,在其中添加夜间霓虹灯效果的css代码
1 | /* 日间模式不生效 */ |
在主题配置文件中引入
个人卡片渐变色
详见个人卡片渐变色,实现白天个人卡片渐变色背景
修改配置文件
在 custom.css
中添加样式
1 | /* 侧边栏个人信息卡片动态渐变色 */ |
在主题配置文件中将配置文件引入
个人卡片发光
设置个人卡片夜间发光,包含边框动态特效和背景发光等,参考艾恩小灰灰
修改配置文件
在 custom.css
中添加下面的样式配置
1 | /* 夜晚个人信息卡片增加发光外边框 */ |
在主题配置文件中引入
页面样式调节
修改配置文件
在 custom.css
文件中添加下面的配置
1 | :root { |
在主题配置文件中引入
全局吸底aplayer
页面底部音乐播放器,可链接歌手、歌单、搜索等.
开启aplayerInject
在主题配置文件 _config.butterfly.yml
中开启aplayerInject配置项
1 | # Inject the css and script (aplayer/meting) |
aplayer代码插入
在主题配置文件 _config.butterfly.yml
的Insert部分插入以下代码
1 | inject: |
要注意严格缩进
配置项含义
配置项 | 描述 |
---|---|
data-id | song id /playlist id /album id /search keyword |
data-server | 音乐平台: netease ,tencent ,kugou ,xiami ,baidu |
data-type | song ,playlist ,album ,search ,artist |
data-autoplay | true or false ,可选项默认 false |
注意:data-fixed
和 data-mini
两项是为了实现页面切换时歌曲不暂停不切换功能,如果不需要这个功能就直接去掉这两项就行
开启pjax
如果想要在切换页面时音乐不中断,还要在主题配置文件 _config.butterfly.yml
中开启pjax项
1 | pjax: |
音乐页
建立和书写音乐页
通过命令 hexo new page music
创建一个music页面,在页面文件中写入页面HTML,参考korgs大佬的文章
1 | <div id="music-page"> |
配置项含义同上
虽然说支持别的播放器,但是我尝试过QQ音乐,没成功,不知道是哪里没配置好,以后有时间再看看,现在用的是网易云netease,运行正常
添加echarts统计
在博客中可以对博客的文章发布时间、文章分类、文章标签的维度绘制统计图,使用 ECharts 开源可视化库,参考Eurkon大佬的博客
引入echarts.js
在主题配置文件 _config.butterfly.yml
的 inject
配置项的 head
部分引入 echarts.js
文件,此文件是实现echarts图标的依赖文件,例如
1 | inject: |
echarts.js
必须在渲染 echarts
实例的 JavaScript 前引入.
安装插件cheerio
在终端使用npm工具安装cheerio插件
1 | npm install cheerio --save |
插入文章统计代码
插入文章统计代码 charts.js
,在 [Blogroot]\themes\butterfly\scripts\helpers\
路径下新建文件 charts.js
,此文件是用来计算文章统计信息,可以修改其中内容来重新选择图标样式、统计信息等,echarts的配置项使用可查看官方的Echarts配置项文档
在新建的 charts.js
文件中写入下面代码:
1 | const cheerio = require('cheerio') |
注意:如果你的 [Blogroot]\themes\
路径下并没有 butterfly
文件夹,说明当时建立博客后没有将下载的主题文件夹复制到根目录的主题文件夹来,请从 [Blogroot]\node_modules\
路径找到 hexo-theme-butterfly
文件夹复制到 [Blogroot]\themes\
路径下并更名为 butterfly
使用统计图
在普通页面使用
直接在页面文件 index.md
中插入HTML代码,例如想在文章中插入一个文章发布时间折线统计图,就在文章中直接插入HTML代码:
1 | <!-- 文章标签统计图 --> |
效果:
在归档页使用
tips: 归档页、分类页、标签页对应的要配置的文件 archive.pug
、 category.pug
、 tag.pug
在 [Blogroot]\themes\butterfly\layout\
路径下,而总分类页、总标签页对应的要配置的文件 categories.pug
和 tags.pug
在路径 [Blogroot]\themes\butterfly\layout\includes\page
路径下
在归档页使用就是要修改归档页对应的 archive.pug
文件,在 archive.pug
文件的 #archive
后追加HTML代码,例如我的归档页修改后:
1 | extends includes/layout.pug |
这里我把HTML放在了前面是为了让文章数量统计图显示在文章时光轴展示的上方
在分类页使用
在总分类页使用
在总分类页使用就是要修改总分类页对应的 categories.pug
文件,在 categories.pug
文件中追加配置HTML代码,例如配置后:
1 | .category-lists!= list_categories() |
在各分类页使用
在各分类页使用就是要修改子分类页对应的 category.pug
文件,在 category.pug
文件中 #category
项配置HTML代码,例如:
1 | #category |
在标签页使用
在总标签页使用
修改 tags.pug
追加HTML代码,例如修改后:
1 | //- 文字云标签展示 |
在各标签页使用
修改 tag.pug
在 #tag
部分追加HTML代码,例如修改后:
1 | #tag |
适配明暗模式
如果需要适配博客明暗模式更改统计图文字颜色,则创建一个文件专门来控制图表颜色切换,例如: switchPostChart.js
,在其中写入
1 | function switchPostChart() { |
将此文件在主题配置文件 _config.butterfly.yml
中的 inject
的 bottom
部分引入,例如:
1 | bottom: |
相比原作者的代码,我将最后触发颜色切换的部分中定位的触发元素由 mode-button
切换为了 darkmode
,这样做是为了让图表的颜色切换跟随网站右下角的 darkmode
按钮,而不是浏览器的夜间模式,当然你也可以使用浏览器的夜间模式
注意:控制图表颜色切换的js文件要在 inject
的 bottom
部分引入,经过测试在 head
部分引入不能正常执行,通过浏览器控制台追踪可以看到是因为在 head
引入的话执行是在 darkmode
按钮被创建出来之前,导致出现 TypeError: Cannot read properties of null (reading 'insertAdjacentHTML')
错误
节日弹窗与公祭日变灰
节日控制文件
在路径 [BlogRoot]\source\js\
下新建节日控制文件 day.js
,内容如下:
1 | var d = new Date(); |
农历计算文件
部分节日是农历的,因此需要引入一个计算农历的代码,在路径 [BlogRoot]\source\js\
新建文件 lunar.js
,内容如下:
1 | var lunarInfo=[19416,19168,42352,21717,53856,55632,91476,22176,39632,21970,19168,42422,42192,53840,119381,46400,54944,44450,38320,84343,18800,42160,46261,27216,27968,109396,11104,38256,21234,18800,25958,54432,59984,28309,23248,11104,100067,37600,116951,51536,54432,120998,46416,22176,107956,9680,37584,53938,43344,46423,27808,46416,86869,19872,42416,83315,21168,43432,59728,27296,44710,43856,19296,43748,42352,21088,62051,55632,23383,22176,38608,19925,19152,42192,54484,53840,54616,46400,46752,103846,38320,18864,43380,42160,45690,27216,27968,44870,43872,38256,19189,18800,25776,29859,59984,27480,23232,43872,38613,37600,51552,55636,54432,55888,30034,22176,43959,9680,37584,51893,43344,46240,47780,44368,21977,19360,42416,86390,21168,43312,31060,27296,44368,23378,19296,42726,42208,53856,60005,54576,23200,30371,38608,19195,19152,42192,118966,53840,54560,56645,46496,22224,21938,18864,42359,42160,43600,111189,27936,44448,84835,37744,18936,18800,25776,92326,59984,27424,108228,43744,41696,53987,51552,54615,54432,55888,23893,22176,42704,21972,21200,43448,43344,46240,46758,44368,21920,43940,42416,21168,45683,26928,29495,27296,44368,84821,19296,42352,21732,53600,59752,54560,55968,92838,22224,19168,43476,41680,53584,62034,54560],solarMonth=[31,28,31,30,31,30,31,31,30,31,30,31],Gan=["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],Zhi=["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],Animals=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"],solarTerm=["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"],sTermInfo=["9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd0b06bdb0722c965ce1cfcc920f","b027097bd097c36b0b6fc9274c91aa","9778397bd19801ec9210c965cc920e","97b6b97bd19801ec95f8c965cc920f","97bd09801d98082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd197c36c9210c9274c91aa","97b6b97bd19801ec95f8c965cc920e","97bd09801d98082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec95f8c965cc920e","97bcf97c3598082c95f8e1cfcc920f","97bd097bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c3598082c95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf97c359801ec95f8c965cc920f","97bd097bd07f595b0b6fc920fb0722","9778397bd097c36b0b6fc9210c8dc2","9778397bd19801ec9210c9274c920e","97b6b97bd19801ec95f8c965cc920f","97bd07f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c920e","97b6b97bd19801ec95f8c965cc920f","97bd07f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c91aa","97b6b97bd19801ec9210c965cc920e","97bd07f1487f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c965cc920e","97bcf7f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b97bd19801ec9210c9274c920e","97bcf7f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c91aa","97b6b97bd197c36c9210c9274c920e","97bcf7f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c8dc2","9778397bd097c36c9210c9274c920e","97b6b7f0e47f531b0723b0b6fb0722","7f0e37f5307f595b0b0bc920fb0722","7f0e397bd097c36b0b6fc9210c8dc2","9778397bd097c36b0b70c9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e37f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc9210c8dc2","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9274c91aa","97b6b7f0e47f531b0723b0787b0721","7f0e27f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c91aa","97b6b7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","9778397bd097c36b0b6fc9210c8dc2","977837f0e37f149b0723b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f5307f595b0b0bc920fb0722","7f0e397bd097c35b0b6fc9210c8dc2","977837f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0721","7f0e37f1487f595b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc9210c8dc2","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd097c35b0b6fc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0787b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0b0bb0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14998082b0723b06bd","7f07e7f0e37f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e397bd07f595b0b0bc920fb0722","977837f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f1487f595b0b0bb0b6fb0722","7f0e37f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e37f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e37f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f1487f531b0b0bb0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0723b06bd","7f07e7f0e47f149b0723b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14998082b0723b06bd","7f07e7f0e37f14998083b0787b0721","7f0e27f0e47f531b0723b0b6fb0722","7f0e37f0e366aa89801eb072297c35","7ec967f0e37f14898082b0723b02d5","7f07e7f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e36665b66aa89801e9808297c35","665f67f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b0721","7f07e7f0e47f531b0723b0b6fb0722","7f0e36665b66a449801e9808297c35","665f67f0e37f14898082b0723b02d5","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e36665b66a449801e9808297c35","665f67f0e37f14898082b072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e26665b66a449801e9808297c35","665f67f0e37f1489801eb072297c35","7ec967f0e37f14998082b0787b06bd","7f07e7f0e47f531b0723b0b6fb0721","7f0e27f1487f531b0b0bb0b6fb0722"],nStr1=["日","一","二","三","四","五","六","七","八","九","十"],nStr2=["初","十","廿","卅"],nStr3=["正","二","三","四","五","六","七","八","九","十","冬","腊"];function lYearDays(b){var f,c=348;for(f=32768;f>8;f>>=1)c+=lunarInfo[b-1900]&f?1:0;return c+leapDays(b)}function leapMonth(b){return 15&lunarInfo[b-1900]}function leapDays(b){return leapMonth(b)?65536&lunarInfo[b-1900]?30:29:0}function monthDays(b,f){return f>12||f<1?-1:lunarInfo[b-1900]&65536>>f?30:29}function solarDays(b,f){if(f>12||f<1)return-1;var c=f-1;return 1===c?b%4==0&&b%100!=0||b%400==0?29:28:solarMonth[c]}function toGanZhiYear(b){var f=(b-3)%10,c=(b-3)%12;return 0===f&&(f=10),0===c&&(c=12),Gan[f-1]+Zhi[c-1]}function toAstro(b,f){return"魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯".substr(2*b-(f<[20,19,21,21,21,22,23,23,23,23,22,22][b-1]?2:0),2)+"座"}function toGanZhi(b){return Gan[b%10]+Zhi[b%12]}function getTerm(b,f){if(b<1900||b>2100)return-1;if(f<1||f>24)return-1;var c=sTermInfo[b-1900],e=[parseInt("0x"+c.substr(0,5)).toString(),parseInt("0x"+c.substr(5,5)).toString(),parseInt("0x"+c.substr(10,5)).toString(),parseInt("0x"+c.substr(15,5)).toString(),parseInt("0x"+c.substr(20,5)).toString(),parseInt("0x"+c.substr(25,5)).toString()],a=[e[0].substr(0,1),e[0].substr(1,2),e[0].substr(3,1),e[0].substr(4,2),e[1].substr(0,1),e[1].substr(1,2),e[1].substr(3,1),e[1].substr(4,2),e[2].substr(0,1),e[2].substr(1,2),e[2].substr(3,1),e[2].substr(4,2),e[3].substr(0,1),e[3].substr(1,2),e[3].substr(3,1),e[3].substr(4,2),e[4].substr(0,1),e[4].substr(1,2),e[4].substr(3,1),e[4].substr(4,2),e[5].substr(0,1),e[5].substr(1,2),e[5].substr(3,1),e[5].substr(4,2)];return parseInt(a[f-1])}function toChinaMonth(b){if(b>12||b<1)return-1;var f=nStr3[b-1];return f+="月"}function toChinaDay(b){var f;switch(b){case 10:f="初十";break;case 20:f="二十";break;case 30:f="三十";break;default:f=nStr2[Math.floor(b/10)],f+=nStr1[b%10]}return f}function getAnimal(b){return Animals[(b-4)%12]}function solar2lunar(b,f,c){if(b<1900||b>2100)return-1;if(1900===b&&1===f&&c<31)return-1;var e,a,r=null,t=0;b=(r=b?new Date(b,parseInt(f)-1,c):new Date).getFullYear(),f=r.getMonth()+1,c=r.getDate();var d=(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())-Date.UTC(1900,0,31))/864e5;for(e=1900;e<2101&&d>0;e++)d-=t=lYearDays(e);d<0&&(d+=t,e--);var n=new Date,s=!1;n.getFullYear()===b&&n.getMonth()+1===f&&n.getDate()===c&&(s=!0);var u=r.getDay(),o=nStr1[u];0===u&&(u=7);var l=e;a=leapMonth(e);var i=!1;for(e=1;e<13&&d>0;e++)a>0&&e===a+1&&!1===i?(--e,i=!0,t=leapDays(l)):t=monthDays(l,e),!0===i&&e===a+1&&(i=!1),d-=t;0===d&&a>0&&e===a+1&&(i?i=!1:(i=!0,--e)),d<0&&(d+=t,--e);var h=e,D=d+1,g=f-1,v=toGanZhiYear(l),y=getTerm(b,2*f-1),m=getTerm(b,2*f),p=toGanZhi(12*(b-1900)+f+11);c>=y&&(p=toGanZhi(12*(b-1900)+f+12));var M=!1,T=null;y===c&&(M=!0,T=solarTerm[2*f-2]),m===c&&(M=!0,T=solarTerm[2*f-1]);var I=toGanZhi(Date.UTC(b,g,1,0,0,0,0)/864e5+25567+10+c-1),C=toAstro(f,c);return{lYear:l,lMonth:h,lDay:D,Animal:getAnimal(l),IMonthCn:(i?"闰":"")+toChinaMonth(h),IDayCn:toChinaDay(D),cYear:b,cMonth:f,cDay:c,gzYear:v,gzMonth:p,gzDay:I,isToday:s,isLeap:i,nWeek:u,ncWeek:"星期"+o,isTerm:M,Term:T,astro:C}}var calendarFormatter={solar2lunar:function(b,f,c){return solar2lunar(b,f,c)},lunar2solar:function(b,f,c,e){if((e=!!e)&&leapMonth!==f)return-1;if(2100===b&&12===f&&c>1||1900===b&&1===f&&c<31)return-1;var a=monthDays(b,f),r=a;if(e&&(r=leapDays(b,f)),b<1900||b>2100||c>r)return-1;for(var t=0,d=1900;d<b;d++)t+=lYearDays(d);var n=0,s=!1;for(d=1;d<f;d++)n=leapMonth(b),s||n<=d&&n>0&&(t+=leapDays(b),s=!0),t+=monthDays(b,d);e&&(t+=a);var u=Date.UTC(1900,1,30,0,0,0),o=new Date(864e5*(t+c-31)+u);return solar2lunar(o.getUTCFullYear(),o.getUTCMonth()+1,o.getUTCDate())}}; |
引入配置文件
在主题配置文件 _config.butterfly.yml
中引入弹窗以来和两个配置文件,例如:
1 | inject: |
注意顺序不要颠倒
恶搞网站标题
在 [BlogRoot]\source\js
中新建 title.js
文件,写入下面代码:
1 | //动态标题 |
在主题配置文件 _config.butterfly.yml
中引入:
1 | inject: |
替换CDN配置文件
替换CDN配置能提高部分标准静态资源的响应速度
参考教程:
完结撒花
这个系列教程到这里就结束啦,来点感言吧:
- 第一次搭博客,一步步跟着教程来,自己也将搭建历程以博客的形式记录了下来,收获很多,也很有成就感!
- 看过几个官方文档,也参考了几个大佬的博客,先感谢大佬前辈们提供的示范先例和教程。
- 途中也出现了几处bug,自己通过浏览器控制台和VSCode,甚至用过Postman工具一步步调试,目前暂时没有未处理的报错了,博客网站各个功能都能正常运行。
- 提醒一下要自己搭建博客网站的朋友们,调试的过程可能比较费时费事,从我的文章更新日期中就可以看出来中间甚至有次甚至卡了好几天,但是调试代码、定位问题、查找资料、排除错误的过程中能学到的东西才是最多的,只有通过亲自调试才能更好地理解别人代码的结构和含义,也就能试着自己定制博客外观或添加功能了。
- 最后,预祝诸位搭建出自己满意的博客网站,在搭建过程中收获满满🎉!也希望诸位没事能常来我的小窝转转,交流学习,吐槽唠嗑!