vuepress2.x集成评论插件
这是官方文档
这是效果

开通Giscus
Giscus是github的一个功能,用了专门存放评论的功能。需要依托一个仓库。
我这里就拿我这个当前vuepress项目开开通。
Settings>Features>Discussions

获取Giscus信息
进入此网站,获取信息

在你的vuepress项目中启用此插件
yarn add -D vuepress-plugin-comment2@next
my-book/docs/.vuepress/config.js
plugins: [
...
commentPlugin({
provider: "Giscus",
repo: "dshvv/red-treasure-book",
repoId: "MDEwOlJlcG9zaXRvcnk0MDcxNDYxODA=",
category: "Announcements",
categoryId: "DIC_kwDOGESOxM4CPs5U",
})
]
配置和应用主题
此插件需要自己全局注册评论组件 。
推荐将评论组件 () 插入在 组件后。
所以我们需要使用一个主题来完成这些(vuepress2 已经不提供暴漏layout组件了,所以只能如此)
创建一个主题
在my-book/docs/.vuepress下创建如下目录结构
.vuepress
|--index.js
|--layout
|--index.vue
index.js
const { path } = require('@vuepress/utils');
const { defaultTheme } = require("@vuepress/theme-default");
module.exports.commentTheme = options => ({
name: "comment-theme",
// we are extending @vuepress/theme-default
extends: defaultTheme(options),
layouts: {
// we override the default layout to provide comment service
Layout: path.resolve(__dirname,"layout", "index.vue"),
},
});
layout>index.vue
<template>
<ParentLayout>
<template #page-bottom>
<CommentService :darkmode="isDarkMode" />
</template>
</ParentLayout>
</template>
<script setup lang="ts">
import { onBeforeUnmount, onMounted, ref } from "vue";
import ParentLayout from "@vuepress/theme-default/lib/client/layouts/Layout.vue";
const isDarkMode = ref(false);
let observer;
onMounted(() => {
const html = document.querySelector("html") as HTMLElement;
isDarkMode.value = html.classList.contains("dark");
// watch theme change
observer = new MutationObserver(() => {
isDarkMode.value = html.classList.contains("dark");
});
observer.observe(html, {
attributeFilter: ["class"],
attributes: true,
});
});
onBeforeUnmount(() => {
observer.disconnect();
});
</script>
然后应用主题
在my-book/docs/.vuepress/config.js修改主题属性如下
const { commentPlugin } = require("vuepress-plugin-comment2");
const { commentTheme } = require("./theme");
module.exports = {
...
theme: commentTheme({
contributorsText: "作者",
lastUpdatedText: "最后更新",
sidebar,
navbar: [
{
text: "博客",
link: "https://www.cnblogs.com/dshvv",
},
],
}),
plugins: [
...
commentPlugin({
provider: "Giscus",
repo: "dshvv/red-treasure-book",
repoId: "MDEwOlJlcG9zaXRvcnk0MDcxNDYxODA=",
category: "Announcements",
categoryId: "DIC_kwDOGESOxM4CPs5U",
}),
],
};
vuepress2.x集成评论插件的更多相关文章
- 如何通过Gitalk评论插件,5分钟为你的博客快速集成评论功能
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- 10_SpringBoot集成TkMybatis插件
10_SpringBoot集成TkMybatis插件 明天你好向前奔跑 关注 0.5 2018.09.11 11:15 字数 163 阅读 3794评论 0喜欢 3 @Author Jacky Wa ...
- Orchard运用 - 整合多说评论插件
曾经我在一随笔讲述如何整合第三方Disqus评论插件,不过这一插件不是本土,对中国客户毕竟有点别扭.比如这一随笔就提到为啥要选择多说 - 另外一个国内比较知名的评论插件. 今天跟大家分享如何用最简单的 ...
- Orchard运用 - 整合Disqus评论插件
评论对于博客系统那是必须具备的一个功能,Orchard本身也默认实现了评论模块,你可以集成到其他内容,比如博客随笔,不过觉得有点寒碜,样式有点呆板.幸运的是,你可以简单集成第三方评论插件,比如Disq ...
- solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件
昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务:今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索. 在solr服务中集成IKAnalyzer中文分词器的步骤: ...
- 记录一次bug解决过程:eclipse集成lombok插件
一 总结 eclipse集成插件lombok: 启动Spring Boot项目: sublime全局搜索关键字:ctrl + shift + F JDK8中的lambda表达式使用 二 BUG描述:集 ...
- 一个前端引用Facebook评论插件案例
最近公司海外的同事提了一个新的需求:那就是将Facebook的评论系统接入到公司海外网站的资讯详情页. 下面做一个简单的介绍: 首先我们登录到Facebook开发者平台:然后进入评论插件系统(http ...
- Struts2之—集成Json插件实现Ajax
上篇博客介绍了Struts2中自己定义结果集实现Ajax,也分析了它的缺点:这样自己定义的结果集,写死了,不能做到client须要什么数据就传什么数据:Struts2之-自己定义结果集实现aja ...
- sublime 集成git插件,及git常用命令
以前用了很久的totoiseSVN,显然不够高大上,开发界的版本装x利器还得是git.然而git的命令行对没怎么用过linux的人可能觉得还不如用gitGUI,可是当你知道sublime可以集成git ...
- 号外号外!解决github+hexo+yilia评论插件的问题!!!
先走一波效果图! 本人网站--http://www.wenzheng.club/ ps:效果还是不错的,支持QQ微信登录,支持表情,甚至gif动图评论! 插件采用韩国服务器的来必力评论插件--h ...
随机推荐
- Unity/Auto Layout -- 理解Layout Elements(布局元素)
- DAY3--launch文件编写
1.launch启动文件简介 到目前为止,每当我们需要运行一个ROS节点或工具时,都需要打开一个新的终端运行一个命令.当系统中的节点数量不断增加时,"每个节点一个终端"的模式会变得 ...
- 使用XML的方式编写:@Aspect运用
例子. 接口 public interface Calculator { // 加 public int add(int i, int j); // 减 public int sub(int i, i ...
- Navicat Premium 16激活教程(NavicatCracker)
1.安装Navicat Premium 16 (注意版本,这里以此版本为例):并下载激活工具 1.1.Navicat Premium 下载路径: http://www.navicat.com.cn/d ...
- Spring Bean的声明方式
一.环境说明 项目结构 StudentService package com.cookie.service; /** * @author cxq * @version 1.0 * @date 2020 ...
- 面试的信心来源于过硬的基础 viewport、跨域、 渲染优化、数组乱序、盒子垂直水平居中、meta、消除transition闪屏、JS 判断设备来源
原文:面试的信心来源于过硬的基础 在过去的一年很多人不满于公司没有福利.人际关系不好相处.没有发展前途的境遇等等,想着在开年来换一份工作来重新开始自己,那么 你 准备好了吗? 下面是本人整理的一份面试 ...
- 基于SaaS纯BS架构的全院级PACS系统
2014年曾经做过一版简单的Dicom Web Viewer,之前的Web版本由于技术和功能的极限性,仅能简单的运用于临床阅片和患者的电子胶片使用,无法普及到放射和超声等影像科室.影像科 ...
- JSP (一) -- 初识JSP
目录 概念 作用 JSP开发 创建JSP JSP编写Java代码 访问JSP JSP与Servlet JSP实现原理 概念 JSP (Java SErver Pages),简化Servlet设计,在H ...
- Java 集合删除重复元素、删除指定元素
目录 List删除指定元素 List删除指定元素 ArrayList的删除元素方法public boolean remove(Object o)只能删除第一次出现的情况,如果想要删除集合中全部位置出现 ...
- <HarmonyOS第一课12>Web组件和WebView #鸿蒙课程##鸿蒙生态#
课程介绍 <HarmonyOS第一课:Web组件和WebView>是一门专为HarmonyOS开发者设计的课程,旨在掌握如何在应用中集成Web内容.课程首先介绍了基于Web技术的Web组件 ...