前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hexo添加当前访客信息

Hexo添加当前访客信息

作者头像
花猪
发布2023-03-01 10:35:28
6480
发布2023-03-01 10:35:28
举报

前言

年前有一位小伙伴给我提供了一个API(在此表示感谢),希望实现当前访客功能,具体效果如下:

注:本篇修改基于 Butterfly 4.2.2


操作

  1. \themes\butterfly\layout\includes\widget目录下新建card_visitor.pug文件,并写入如下代码:
代码语言:javascript
复制
if theme.aside.card_visitor.enable
  .card-widget.card-visitor
    .card-content
      .item-headline
        i.fas.fa-user
        span 当前访客
      #visitor-container
        .visitor

2. 在\themes\butterfly\layout\includes\widget\index.pug文件中page项添加如下代码:

代码语言:javascript
复制
!=partial('includes/widget/card_visitor', {}, {cache: true})

3. 在\themes\butterfly\source\js目录下新建visitor.js文件,并写入如下代码:

代码语言:javascript
复制
fetch('https://api.gmit.vip/Api/UserInfo').then(data=>data.json()).then(data=>{
    let html = '<style>.visitor_location{color:#cb4c46;font-weight:bold;}.visitor_ip{color:#2d80c2;font-weight:bold;}</style>'
    html += '<div class="visitor">'
    html += '欢迎来自 ' + '<span class="visitor_location">' + data.data.location + '</span>' + ' 的小伙伴!'
    html += '</br>'
    html += '访问IP:' + '<span class="visitor_ip">' + data.data.ip + '</span>'
    html += '</div>'
    document.getElementById('visitor-container').innerHTML = html
}).catch(function(error) {
    console.log(error);
});

4. 并在主题配置文件_config.butterfly.ymlbottom处引入该文件:

代码语言:javascript
复制
inject:
  bottom:
    - <script src="/js/visitor.js"></script>

5. 在主题配置文件_config.butterfly.ymlaside处添加如下配置:

代码语言:javascript
复制
aside:
    card_visitor:
    enable: true
    sort_order: # Don't modify the setting unless you know how it works

可以在配置文件中选择开启或关闭

重新部署,即可看到效果。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档