教程:基于Butterfly主题的模拟电子钟侧边栏小部件1.0
序言:效果展示
模拟时钟小部件主要包含:
日期(年、月、日、星期)
天气(天气图标、温度)
湿度(百分比)
空气质量(US AQI)
时间(当地时间、AM/PM)
预览地址:https://zfe.space
步骤 1:编写小部件代码
在”\themes\butterfly\layout\includes\widget”文件下复制某个 PUG,重命名为”card_clock.pug”
打开该文件,删除原有代码,将以下代码粘贴进去。注意 PUG 的空格敏感。
步骤 2:将小部件植入侧边栏
打开”\themes\butterfly\layout\includes\widget”路径下的”index.pug”
将 card_clock 代码添加至 card_author 代码块后。添加后的代码如下:
打开”\themes\butterfly"路径下的”_config.yml”
搜索到”aside:”设置处
添加 clock 开关代码:
步骤 3:编写 CSS 代码
在 hexo 根目录”source”文件夹下新建”css”文件夹,在”\source\css”路径下新建”clock.css”
在”clock.css”中添加以下内容:
1 | padding-left: 15px; |
}
.fa-calendar{padding-right:5px
}
.card-background {
margin:15px;
border-radius: 8px;
background-color: rgb(236, 236, 236);
box-shadow: inset 3px 3px 18px 0px rgba(50,50,50, 0.4);
z-index: 2;
}
font-family: ‘UnidreamLED’; /a name to be used later/
src: url(‘/fonts/UnidreamLED.ttf’); /URL to font/
}
.rounded-icon
{-webkit-filter: brightness(0%)!important;
filter: brightness(0%)!important;}
.itemAirvisualWidget {
float: left;
display: inline-flex;
/_ height: 45px; _/
margin-left: auto;
margin-right: auto;
/_ padding: 10px 5px; _/
line-height: 1;
vertical-align: top;
}
.legendAirvisualWidget-wMDTkfQskKdxAnaMm{display:none}
.wrapperAirvisualWidget-wMDTkfQskKdxAnaMm, .wrapperAirvisualWidget-wMDTkfQskKdxAnaMm:hover, .wrapperAirvisualWidget-wMDTkfQskKdxAnaMm:focus {
background-color: #ffffff00 !important;
box-shadow: 0px 0px 0px 0px #000000 !important;
}
.legendAirvisualWidget-cGKu6MDNNcf5rC7A7{display:none}
.wrapperAirvisualWidget-cGKu6MDNNcf5rC7A7, .wrapperAirvisualWidget-cGKu6MDNNcf5rC7A7:hover, .wrapperAirvisualWidget-cGKu6MDNNcf5rC7A7:focus {
background-color: #ffffff00 !important;
box-shadow: 0px 0px 0px 0px #000000 !important;
}
.dividerAirvisualWidget{display: inline-flex!important;
width: 8%!important;
height: auto!important;
border-left: 1px solid #ffffff00!important;}
.itemAirvisualWidget .rounded-icon {
width: 14px!important;
height: 14px!important;
}
.monoline {
font-size: 100%!important;
margin-top: 0px!important;
height:12px!important;
}
.AirvisualWidgetItemText {
width: 40px!important;
font-family: ‘UnidreamLED’!important;
}
.itemAirvisualWidget {
padding: 0px 0px!important;
}
.bodyAirvisualWidget {
display: inline-flex;
height: 12px !important;
}
.itemAirvisualWidget {
1 | height: 12px!important; |
}
.card-weather{width:50%;float:left;margin-block-start: -0.4em;}
.date {width:50%;float:left}
.time{width:90%;}
.daylight{width:12%;float:right;font-family: ‘UnidreamLED’; color:black; }
.card-aqi{clear: both;
width: 20%;
float: left;
margin-top: 0px;
margin-left: 0px;}
.AirvisualWidgetItemText strong {
font-size: 100%!important;
}
1 |
|
步骤 6:接入 CSS 与 JS
打开”\themes\butterfly"路径下的”_config.yml”
搜索到”inject:”设置处
添加以下代码:
bottom:
-
-
-
-
-
-
1 | <p>PS:因https://www.airvisual.com访问较慢,该网站数据中的温度中的“°”的字体缺失,所以延时执行了一个jquary脚本替换文本。</p> |
.card-aqi(name=’airvisual_widget’, key=’cGKu6MDNNcf5rC7A7’) // AQI 的 API KEY
.card-weather(name=’airvisual_widget’, key=’wMDTkfQskKdxAnaMm’) // 天气图标、温度、湿度(百分比)的 API KEY
1 | ```css |
总结
本人能力有限,若大佬们有新的改进方法可以与我邮件联系499984532@qq.com。