博客搭建(7.1):上期问题的部分解答


博客搭建(7.1):上期问题的部分解答

求助问题

求助一下大佬们,下面这些问题我好久都解决不了。。好多涉及到模版文件的修改

1.我创建了一个页面想要修改主页的模版,仅展示指定type的文件,然后该type类型的文件不在首页展示,但是会导致分页会出错
2.使用encrypt插件后,文章的目录需要刷新后再能正确显示,这个也好像需要改模版,这个怎么改
3.使用插件加密怎么改文件使得多标签密码均可解密(还有这个标签排布顺序是怎么订的,有时候莫名其妙会变)
4.看板娘的完善(怎么添加到本地模型,声音等以及刷新问题)
5.matery主题怎么添加vx的联系方式(部分解决)
6.评论系统的QQ等的提示怎么设置(部分解决)
7.代码块显示问题(折行或者滚动显示怎么设置,然后样式怎么设置)

解答

5.添加vx联系方式(只悬浮显示微信号)

在该目录下D:\Blog\themes\matery\layout\_partial找到social-link.ejs文件
加入下列代码

<% if (theme.socialLink.wechat) { %>
    <a href="javascript:;" class="tooltipped" target="_blank" data-tooltip="微信号: <%= theme.socialLink.wechat %>"  data-position="top"   data-delay="50">
        <i class="fab fa-weixin"></i>
    </a>
<% } %>

然后打开根目录下的主题配置文件
在sociallink部分加入 wechat: yonghengDcheng #你自己的微信号

6.waline添加QQ提醒

注:与waline官方文档的配置不同,官方的文档不知道有什么问题(猜测是环境变量的命名问题),网上找到了一个其他的配置教程参考,但是有些也有问题,原文章在这儿配置参考
1.QQ 通知使用了 Qmsg 酱 提供的服务
进入网站注册自己账号Qmsg官网
2.进入管理台台添加所要使用的机器人QQ(正常是秒通过,不成功可换个机器人或者多试几次)

然后添加接收消息的QQ号
3.进入配置好waline的vercel仓库,点击repository,进入github仓库

4.点击index.cjs文件并编辑,修改为以下内容后提交即可

const Application = require('@waline/vercel');
const axios = require('axios');

// 自定义环境变量
const MY_EV_VAR = {
  // QMsg酱的key
  qMsgKey: "",
  // 作者邮箱
  authorEmail: "",
  // 网站名称
  siteName: "你的博客名称",
  // 网站地址
  siteURL: "你的博客地址",
  // QMsg酱消息发送接口地址
  qMsgApi: "https://qmsg.zendee.cn/send",
}

module.exports = Application({
  // 违禁词
  forbiddenWords: ['习近平', '毛泽东'],
  plugins: [],
  // 评论发布后执行的操作,参数1:评论,参数2:回复评论的父级评论
  // 使用async的方法,方法体内调用方法一定配合await使用
  async postSave(comment, pComment) {
    // 如果不是博主本人发的才通知
    if (comment.mail != MY_EV_VAR.authorEmail) {
      
      // 使用axios发送post请求
      const formData = new URLSearchParams(); // 转载数据
      // 将要发送的信息格式化好后装载到POST参数中
if (pComment == undefined) {
        formData.append('msg', `💬 ${MY_EV_VAR.siteName} 有新评论啦\n${comment.nick} 说:\n${comment.comment}`);
      } else {
        formData.append('msg', `💬 ${MY_EV_VAR.siteName} 有新评论啦\n${comment.nick} 回复 ${pComment.nick} 的内容:\n${pComment.comment}\n说:\n${comment.comment}`);
      }
      // 给QMsg发送请求
      await axios.post(`${MY_EV_VAR.qMsgApi}/${MY_EV_VAR.qMsgKey}`, formData);
    };
  },
});

5.完成然后测试,正常输入消息之后立刻会收到机器人的消息
正常效果如下面这样


如果没有收到消息,需要检查是哪一步出错
waline配置问题:正常输入消息,可以在waline管理页面看到消息,未收到消息则是waline基本的评论系统没弄好
机器人问题:浏览器输入https://qmsg.zendee.cn/send/您的KEY?msg=消息测试,如果没收到消息则是机器人问题
连接问题:前两个都未发现问题,但是未在Qmsg网页收到消息,则需要检查环境变量是否修改正常

7.代码块的显示修改

增加滚动条,修改背景色和字体颜色,适配黑夜模式(提供示例,后续个人修改仿照即可)

在该目录下D:\Blog\themes\matery\layout\_partial找到codeblock.ejs文件,定位到code部分

pre部分修改为下面的代码

pre {
    padding: 2rem 1rem 1rem 3rem !important;
    border-radius: 0.35rem;
    tab-size: 4;
    background: transparent !important; /* 移除白底 */
    border: 1px solid #e1e1e1 !important; /* 浅灰色边框 */
    border-radius: 0 0 4px 4px !important;
    white-space: pre !important; /* 禁止换行 */
    overflow-x: auto !important; /* 水平滚动 */
}

增加下面代码

pre code {
    color: #333 !important;           /* 白天模式黑色字体 */
    background: transparent !important; /* 透明背景(保持不变) */
}
  
  /* ===== 新增夜间模式 ===== */
body.DarkMode pre code {
    color: #eee !important;           /* 夜间模式浅色字体 */
}

文章作者: 永恒D程
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 永恒D程 !
评论
  目录