搭建 VuePress 博客,你可能会用到的一些插件

简介: 「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」。

0.png


「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」。


前言


《一篇带你用 VuePress + Github Pages 搭建博客》中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档


为了丰富站点的功能,我们可以直接使用一些现有的插件,本篇我们讲讲一些常用的插件。


1. 公告栏弹窗


插件地址:vuepress-theme-reco.recoluan.com/views/plugi…


安装:


yarn add @vuepress-reco/vuepress-plugin-bulletin-popover -D
复制代码


使用:


plugins: [
  ['@vuepress-reco/vuepress-plugin-bulletin-popover', {
    width: '300px', // 默认 260px
    title: '消息提示',
    body: [
      {
        type: 'title',
        content: '添加冴羽好友入前端交流群',
        style: 'text-aligin: center;'
      },
      {
        type: 'image',
        src: 'https://cdn.jsdelivr.net/gh/mqyqingfeng/picture/IMG_3516.JPG'
      }
    ],
    footer: [
      {
        type: 'button',
        text: '打赏',
        link: '/donate'
      } 
    ]
  }]
]
复制代码


效果截图:


7.png


注意事项:


查看插件源码可以得知,公告栏弹窗是使用 sessionStorage 控制的展示频次,在本地测试时,如果关闭了,可以通过清除 sessionStorage 再次展示出来。


// 所在目录:node_modules/@vuepress-reco/vuepress-plugin-bulletin-popover/bin/Bulletin.vue
mounted () {
    const closeNote = sessionStorage.getItem('closeNote')
    this.visible = closeNote !== 'true'
}
复制代码


2. 代码复制


插件地址:www.npmjs.com/package/vue…


安装:


yarn add vuepress-plugin-nuggets-style-copy -D
复制代码


使用:


plugins: [
  ["vuepress-plugin-nuggets-style-copy", {
      copyText: "复制代码",
      tip: {
          content: "复制成功"
      }
   }]
]
复制代码


效果类似于掘金的代码复制:


8.png


其他样式的代码复制插件还有:


  1. github.com/znicholasbr…
  2. snippetors.github.io/plugins/vue…


3. 添加著作权信息


使用 vuepress-plugin-copyright可以禁用文字复制或者在复制时添加著作权信息。


插件地址:vuepress-community.netlify.app/zh/plugins/…


安装:


yarn add vuepress-plugin-copyright -D
复制代码


使用:


plugins: [
  [
    'copyright',
    {
      authorName: '冴羽', // 选中的文字将无法被复制
      minLength: 30, // 如果长度超过  30 个字符
    },
  ]
]
复制代码


当你复制超过 30 个字符的时候,就会出现:


著作权归冴羽所有。
链接:http://localhost:8080/learn-typescript/handbook/Basic.html
JavaScript 的每个值执行不同的操作时会有不同的行为。这听起来有点抽象,所以让我们举个例子,假设我们有一个名为 message 的变量,试想我们可以做哪些操作: 
复制代码


4. 背景音乐


插件地址:vuepress-theme-reco.recoluan.com/views/plugi…


安装:


yarn add @vuepress-reco/vuepress-plugin-bgm-player -D
复制代码


使用:


plugins: [
  [
    '@vuepress-reco/vuepress-plugin-bgm-player',
    {
      audios: [
        {
          name: 'LOSER',
          artist: '米津玄師',
          url: 'https://www.ytmp3.cn/down/73654.mp3',
          cover: 'https://p1.music.126.net/qTSIZ27qiFvRoKj-P30BiA==/109951165895951287.jpg?param=200y200'
        }
      ] ,
      // 是否默认缩小
      autoShrink: true ,
      // 缩小时缩为哪种模式
      shrinkMode: 'float',
      // 悬浮窗样式
      floatStyle:{ bottom: '10px', 'z-index': '999999' }
    }
  ]
]
复制代码


其他音乐插件:


  1. github.com/moefyit/vue…
  2. juejin.cn/post/704594…


5. 看板娘


插件地址:vuepress-theme-reco.recoluan.com/views/plugi…


安装:


yarn add @vuepress-reco/vuepress-plugin-kan-ban-niang -D
复制代码


使用:


plugins: [
  [
    '@vuepress-reco/vuepress-plugin-kan-ban-niang',
    {
      theme: ['blackCat', 'whiteCat', 'haru1', 'haru2', 'haruto', 'koharu', 'izumi', 'shizuku', 'wanko', 'miku', 'z16']
    }
  ]
]
复制代码


其他看板娘插件:


  1. github.com/yanjun0501/…


6. 修改光标效果


插件地址:github.com/moefyit/vue…


安装:


yarn add vuepress-plugin-cursor-effects -D
复制代码


使用:


plugins: [
  ['cursor-effects', {
    size: 2, // size of the particle, default: 2
    shape: 'star', // ['star' | 'circle'], // shape of the particle, default: 'star'
    zIndex: 999999999, // z-index property of the canvas, default: 999999999
  }]
]
复制代码


7. 动态标题展示


插件地址:github.com/moefyit/vue…


安装:


yarn add vuepress-plugin-dynamic-title -D
复制代码


使用:


plugins: [
  ['dynamic-title', {
     showIcon: 'https://www.typescriptlang.org/favicon-32x32.png?v=8944a05a8b601855de116c8a56d3b3ae',
     showText: '客官欢迎回来~',
     hideIcon: 'https://www.typescriptlang.org/favicon-32x32.png?v=8944a05a8b601855de116c8a56d3b3ae',
     hideText: '客官不要走嘛~',
     recoverTime: 2000,
  }]
]  
复制代码


8. 优化代码展示


插件地址:vuepress-theme-reco.recoluan.com/views/plugi…


安装:


yarn add @vuepress-reco/vuepress-plugin-extract-code -D
复制代码


使用:


plugins: [
    '@vuepress-reco/extract-code'
  ]
复制代码


当你需要使用这种方式展示代码的时候,你需要在 md 文件中添加:


<RecoDemo :collapse="true">
  <template slot="code-bash">
    <<< @/docs/handbook/demo/index.sh
  </template>
  <template slot="code-js">
    <<< @/docs/handbook/demo/index.js
  </template>
  <img src="./demo/index.gif" slot="demo" />
</RecoDemo>
复制代码


其中的@表示当前项目目录的别名,即源码的根目录,而非docs或者 .vuepress


更多插件寻找


  1. github.com/vuepress/aw…


  1. vuepress-community.netlify.app/zh/


  1. vuepress-theme-reco.recoluan.com/views/plugi…


  1. v1.vuepress.vuejs.org/zh/plugin/o…


  1. npm 搜 vuepress-plugin 关键字


  1. github 搜 vuepress-plugin 关键字


系列文章


博客搭建系列是我至今写的唯一一个偏实战的系列教程,预计 20 篇左右,讲解如何使用 VuePress 搭建、优化博客,并部署到 GitHub、Gitee、私有服务器等平台。本篇为第 21 篇,全系列文章地址:github.com/mqyqingfeng…


微信:「mqyqingfeng」,加我进冴羽唯一的读者群。


如果有错误或者不严谨的地方,请务必给予指正,十分感谢。如果喜欢或者有所启发,欢迎 star,对作者也是一种鼓励。



目录
相关文章
|
C语言 Windows
Qt 应用程序打包成安装文件
Qt 应用程序打包成安装文件
362 0
|
定位技术
GEE(CCDC-3)——根据CCDC segment分割后的影像进行地类变化统计和绘制土地覆被变化地图
GEE(CCDC-3)——根据CCDC segment分割后的影像进行地类变化统计和绘制土地覆被变化地图
600 0
echarts修改tooltip默认样式(使用formatter函数拼接加工)
echarts修改tooltip默认样式(使用formatter函数拼接加工)
1246 0
|
JSON JavaScript Linux
【MCP教程系列】Node.js+TypeScript搭建NPX MCP服务并自定义部署至阿里云百炼
本文介绍如何将阿里云百炼的工作流封装成MCP服务并部署,随后引入到智能体中使用。主要步骤包括:1) 封装MCP服务;2) 发布到npm官方平台;3) 在阿里云百炼平台创建自定义MCP服务;4) 在智能体中添加自定义MCP服务。通过这些步骤,用户可以轻松将工作流转化为MCP服务,并在智能体中调用。
3775 0
|
7月前
|
人工智能 自然语言处理 IDE
全球首个产设研一体AI工程师的真实使用报告
本文分享了使用CodeBuddy开发个人博客系统的全过程,涵盖需求分析、设计还原、实时协作、后端集成及部署上线,全面体验其AI辅助开发能力与全栈工具链。
|
JavaScript 定位技术 API
Vue获取照片拍摄的地理位置信息
iPhone屏幕尺寸和开发适配
951 155
|
Python 容器
Python中的实例方法、类方法、静态方法与魔法方法
在Python中,方法的类型决定了其与类、实例的交互方式。本文将详细解析实例方法(Instance Method)、类方法(Class Method)、静态方法(Static Method)的区别,并介绍特殊的魔法方法(Magic Method和私有方法。
344 8
|
消息中间件 Java 数据库
解密Spring Boot:深入理解条件装配与条件注解
Spring Boot中的条件装配与条件注解提供了强大的工具,使得应用程序可以根据不同的条件动态装配Bean,从而实现灵活的配置和管理。通过合理使用这些条件注解,开发者可以根据实际需求动态调整应用的行为,提升代码的可维护性和可扩展性。希望本文能够帮助你深入理解Spring Boot中的条件装配与条件注解,在实际开发中更好地应用这些功能。
370 2
|
存储 缓存 监控
Memcached介绍和详解
Memcached介绍和详解
775 3
|
Linux C++
Linux c/c++之文件类型的判断
这篇文章介绍了在Linux环境下,如何使用C/C++编程通过`stat`系统调用和文件状态位判断一个文件是目录还是普通文件。
298 0
Linux c/c++之文件类型的判断

热门文章

最新文章