推荐阅读

效果预览

这里用 4.5.1 版本跑了【侧边栏公众号】的功能,主题是新拉的,未过多美化,只是为了验证下该功能有没有问题。如果你在使用此功能时遇见了 BUG ,请检查card_wx.pug是否正确引入以及custom.css是否正确引入。

步骤

  1. BlogRoot/themes/butterfly/layout/includes/widget文件夹下新建card_wx.pug文件,
    具体位置如下图:
    将以下代码复制到文件中。
    1
    2
    3
    4
    5
    #card-wechat.card-widget.tzy-right-widget
    #flip-wrapper
    #flip-content
    .face
    .back.face
  2. BlogRoot/themes/butterfly/layout/includes/widget/index.pug中引入上一步中创建的card_wx.pug文件。
    具体位置如下图:
  3. 将以下代码复制到自定义的custom.css中,不会自定义css的请阅读 Hexo + Butterfly 一些常见问题 一文中关于【关于自定义的 js 和 css 文件】部分。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    /* 公众号 Start */

    [data-theme='light'] #aside-content .card-widget#card-wechat {
    background: #49b1f5 !important;
    }

    #aside-content .card-widget#card-wechat {
    background: var(--card-bg);
    display: flex;
    justify-content: center;
    align-content: center;
    padding: 0;
    cursor: pointer !important;
    border: none;
    height: 110px;
    }

    /* 如果你设置了aside 的 mobile 为 false,记得放开下面这段注释;
    如果你设置了aside 的 mobile 为 true ,不需要改动。 */

    /* @media screen and (max-width: 768px) {
    #aside-content .card-widget#card-wechat {
    display: none !important;
    }
    } */

    @media screen and (min-width: 1300px) {
    #aside-content .card-widget {
    margin-top: 1rem;
    }
    }

    #flip-wrapper {
    -webkit-perspective: 1000;
    perspective: 1000;
    position: relative;
    width: 235px;
    height: 110px;
    z-index: 1;
    }

    #flip-wrapper:hover #flip-content {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    }

    #flip-content {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    transition: cubic-bezier(0, 0, 0, 1.29) 0.3s;
    }

    .face {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: url(https://img.zhheo.com/i/2022/08/31/630efc6e3e794.png) center center no-repeat;
    background-size: 100%;
    }

    .back.face {
    display: block;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    box-sizing: border-box;
    background: url(https://bu.dusays.com/2022/10/30/635e9c6a228a3.png) center center no-repeat;
    background-size: 100%;
    }

    /* 公众号 End */
    此段css中,你需要将background: #49b1f5 !important中的#49b1f5换成你自己的主题色,另外还需要将 https://bu.dusays.com/2022/10/30/635e9c6a228a3.png 这个图片中的二维码部分换成你自己公众号的二维码,你可以使用 在线PS图片 工具,将图中的二维码换成你公众号的二维码。
  4. 最后重新编译运行即可看见效果。