Skip to content

让你的博客一起过年

发表于
更新于
字数总计
阅读量

马上就要过年了,看着我这毫无生气的博客,感觉有点亏待它。博客过年,马上安排! 本博客基于 hexo 和主题 Butterfly 修改。

先上预览图

images

images

修改Butterfly配置文件

修改文件 _config.butterfly.yml 修改主页图片

yml
index_img: /img/banner/lantern_banner.png
default_top_img: /img/banner/lantern_banner.png

修改背景色

yml
background: '#fff6f6'

修改主题色

yml
theme_color:
  enable: true
  main: '#ff0000'
  paginator: '#ff0000'
  button_hover: '#fb5050'
  text_selection: '#fb5050'
  toc_color: '#fb5050'
  blockquote_padding_color: '#ff0000'
  blockquote_background_color: '#ff0000'
  scrollbar_color: '#ff0000'

修改配置之外的颜色

souce 文件夹下新建文件夹 css,然后新建css文件 myTheme.css。此文件主要是对主题配置之外的颜色做处理。 文件内容如下:

css
@charset 'utf-8';

:root {
  /* --main-color: #1e9fff; */
  --main-color: #ff0000;
  --main-color-hover: #fb5050;
  --main: var(--btn-bg);
  --button_hover: var(--text-bg-hover);
  --box-shadow-color: rgba(7, 17, 27, 0.05);
  --hr-border: var(--main-color);
  --hr-before-color: var(--main-color);
  --card-box-shadow: 0 3px 8px 6px var(--box-shadow-color);
  --box-shadow-color: rgba(255, 0, 0, 0.05);
  --card-hover-box-shadow: 0 3px 8px 6px rgba(255, 0, 0, 0.09);
  --global-bg: #fff6f6;
  /* code */
  --hl-bg: #fff2f2;
  --hltools-bg: #ffd4d4;
}
/*封面遮罩层*/
#page-header:not(.not-top-img):before {
  /* background-color: rgba(0,0,0,0.3); */
  background-color: rgba(255, 0, 0, 0.3);
}
/* 公告 */
#aside-content .card-info .card-info-social-icons i {
  color: var(--main-color);
}
#aside-content .card-info .card-info-social-icons i:hover {
  color: var(--main-color-hover);
}
#aside-content .fa-solid,
#aside-content .fas {
  color: var(--main-color);
}
/* -------------- code -------------- */
#article-container a {
  color: var(--main-color);
}
/* -------------- 评论 -------------- */
#post-comment .comment-head #comment-switch .switch-btn {
  background: var(--main-color);
}
#post-comment .comment-head #comment-switch .first-comment {
  color: var(--main-color);
}
.comment-headline > .fas {
  color: var(--main-color);
}
.vpower > a {
  color: var(--main-color) !important;
}

如果有其他遗漏的样式,可自行添加。 然后在配置文件 _config.butterfly.yml 里引入此css。

yml
inject:
  head:
    - <link rel="stylesheet" href="/css/myTheme.css">

新增摇曳的灯笼

新建 plug

BlogRoot/node_modules/hexo-theme-butterfly/layout/includes 文件夹下新建 lantern.pug,文件内容如下:

yml
.lantern-box
.lantern
.lantern-line
.lantern-main
.lantern-rect
.lantern-text='欢'
.lantern-tassel.lantern-tassel-top
.lantern-tassel-bottom
.lantern-tassel-middle
.lantern-box.lantern-box1
.lantern
.lantern-line
.lantern-main
.lantern-rect
.lantern-text='度'
.lantern-tassel.lantern-tassel-top
.lantern-tassel-bottom
.lantern-tassel-middle
.lantern-box.lantern-box2
.lantern
.lantern-line
.lantern-main
.lantern-rect
.lantern-text='春'
.lantern-tassel.lantern-tassel-top
.lantern-tassel-bottom
.lantern-tassel-middle
.lantern-box.lantern-box3
.lantern
.lantern-line
.lantern-main
.lantern-rect
.lantern-text='节'
.lantern-tassel.lantern-tassel-top
.lantern-tassel-bottom
.lantern-tassel-middle

引入 plug

BlogRoot/node_modules/hexo-theme-butterfly/layout/includes/layout.pug 中引入 lantern.pug。 如下图: image

新增 css

直接在之前新建的 myTheme 文件里最后新增灯笼的样式代码,如下:

css
/* --- 过年灯笼 --- */
:root {
  --lantern-bg: rgba(255, 0, 0, 0.8);
  --lantern-text-color: #ffc14e;
  --lantern-line-color: #ffa500;
}
.lantern-box {
  position: fixed;
  top: -10px;
  left: 0px;
  max-width: 200px;
  z-index: 1999;
}

.lantern-box1 {
  top: -20px;
  left: 80px;
}

.lantern-box2 {
  top: 0px;
  left: 160px;
}

.lantern-box3 {
  top: -10px;
  left: 240px;
}

.lantern-box1 .lantern,
.lantern-box3 .lantern {
  animation: swing 5s infinite ease-in-out;
  animation: swing 5s infinite ease-in-out;
  box-shadow: -5px 5px 30px 4px rgba(252, 144, 61, 1);
}

.lantern {
  position: relative;
  width: 120px;
  height: 90px;
  margin: 50px;
  background: var(--lantern-bg);
  border-radius: 50% 50%;
  transform-origin: 50% -100px;
  animation: swing 3s infinite ease-in-out;
  animation: swing 3s infinite ease-in-out;
  box-shadow: -5px 5px 50px 4px rgba(250, 108, 0, 1);
}

.lantern-main {
  width: 95px;
  height: 90px;
  margin: 12px 8px 8px 10px;
  border-radius: 50% 50%;
  border: 2px solid var(--lantern-line-color);
}

.lantern-rect {
  width: 45px;
  height: 90px;
  background: #d8000f;
  background: rgba(216, 0, 15, 0.1);
  margin: -4px 8px 8px 26px;
  border-radius: 50% 50%;
  border: 2px solid var(--lantern-line-color);
}

.lantern-line {
  position: absolute;
  top: -60px;
  left: 60px;
  width: 2px;
  height: 60px;
  background: var(--lantern-line-color);
}

.lantern-tassel-top {
  position: relative;
  width: 5px;
  height: 20px;
  margin: -5px 0 0 59px;
  animation: swing 4s infinite ease-in-out;
  transform-origin: 50% -45px;
  background: var(--lantern-line-color);
  border-radius: 0 0 5px 5px;
}

.lantern-tassel-middle {
  position: absolute;
  top: 14px;
  left: -2px;
  width: 10px;
  height: 10px;
  background: #dc8f03;
  border-radius: 50%;
}

.lantern-tassel-bottom {
  position: absolute;
  top: 18px;
  left: -2px;
  width: 10px;
  height: 35px;
  background: var(--lantern-line-color);
  border-radius: 0 0 0 5px;
}

.lantern:before {
  position: absolute;
  top: -7px;
  left: 29px;
  height: 12px;
  width: 60px;
  content: ' ';
  display: block;
  z-index: 1999;
  border-radius: 5px 5px 0 0;
  border: solid 1px #dc8f03;
  background: var(--lantern-line-color);
  background: linear-gradient(to right, #ffa500, #ffc14e, #ffa500, #ffc14e, #ffa500);
}

.lantern:after {
  position: absolute;
  bottom: -7px;
  left: 10px;
  height: 12px;
  width: 60px;
  content: ' ';
  display: block;
  margin-left: 20px;
  border-radius: 0 0 5px 5px;
  border: solid 1px #dc8f03;
  background: var(--lantern-line-color);
  background: linear-gradient(to right, #ffa500, #ffc14e, #ffa500, #ffc14e, #ffa500);
}

.lantern-text {
  font-family:
    华文行楷,
    楷体,
    Arial,
    Lucida Grande,
    Tahoma,
    sans-serif;
  font-size: 2.8rem;
  color: var(--lantern-text-color);
  font-weight: bold;
  line-height: 90px;
  text-align: center;
}

.night .lantern-text,
.night .lantern-box {
  background: transparent !important;
}

@keyframes swing {
  0% {
    transform: rotate(-10deg);
  }

  50% {
    transform: rotate(10deg);
  }

  100% {
    transform: rotate(-10deg);
  }
}

@-moz-keyframes swing {
  0% {
    -moz-transform: rotate(-10deg);
  }

  50% {
    -moz-transform: rotate(10deg);
  }

  100% {
    -moz-transform: rotate(-10deg);
  }
}

@-webkit-keyframes swing {
  0% {
    -webkit-transform: rotate(-10deg);
  }

  50% {
    -webkit-transform: rotate(10deg);
  }

  100% {
    -webkit-transform: rotate(-10deg);
  }
}

然后重启预览重新发布即可。

提示:如果发布后样式未生效,记得先 hexo clean,然后再发布

和博客一起过年,祝大家新年快乐!