Vue press 支持图片放大功能的实例代码


Posted in Javascript onNovember 09, 2018

介绍

VuePress 由两部分组成:一个以 Vue 驱动的主题系统的简约静态网站生成工具,和一个为编写技术文档而优化的默认主题。它是为了支持 Vue 子项目的文档需求而创建的。

由 VuePress 生成的每个页面,都具有相应的预渲染静态 HTML,它们能提供出色的加载性能,并且对 SEO 友好。然而,页面加载之后,Vue 就会将这些静态内容,接管为完整的单页面应用程序(SPA)。当用户在浏览站点时,可以按需加载其他页面。

前两天接触到了 Vuepress ,颜值很高,界面简洁,容易上手。于是打算把博客从 hexo 迁移过去。

但是发现图片是不能点击的。 Markdown 在渲染的时候连 a 标签都没有添加,不仅不能直接点,也不能放大。然而我的博客中是有很多大图的,所以这个功能是刚需。

我试了下最新版本 1.x alpha 还是没有这个功能。所以直接自己动手了。

由于我并不熟悉 vue ,所以从源代码上改比较困难。

最后我使用了 fancybox 库,并开发了一个辅助 VSCode 插件。

引入 fancybox

.vuepress/config.js 文件的 head 标签中可以直接添加 fancybox 的 cdn,由于它依赖 jquery,所以还要引入 jquery。

module.exports = {
 head: [
  // add jquert and fancybox
  ['script', { src: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.slim.min.js' }],
  ['script', { src: 'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.2/jquery.fancybox.min.js' }],
  ['link', { rel: 'stylesheet', type: 'text/css', href: 'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.2/jquery.fancybox.min.css' }]
 ],
 themeConfig: {
  // your config
 }
}

然后修改图片的 markdown

![xx](sss)

将上面的这种格式修改为下面这种,手动添加 a 标签、 data-fancybox 和 href 属性即可。

<a data-fancybox title="xx" href="sss" rel="external nofollow" >![xx](sss)</a>

但是这样手动添加太麻烦了,并且想取消掉也不方便。

所以我写了一个 VSCode 插件,来批量格式化。

VScode 商店搜索 vuepress-img-format 安装即可。

Vue press 支持图片放大功能的实例代码

调用命令 img format 可以格式化当前文档的所有图片,img reset format 可以重置格式化,效果如下:

Vue press 支持图片放大功能的实例代码

当然也可以使用内置的快捷键:

快捷键 格式化 重置格式化
Windows/Linux Ctrl + Shift +8 Ctrl + Shift + 8
Mac Cmd + Shift + 8 Cmd + Shift + 9

格式完了之后就可以点击放大图片了。

Vue press 支持图片放大功能的实例代码

总结

以上所述是小编给大家介绍的Vue press 支持图片放大功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
页面回到顶部的三种实现(锚标记,js)
Oct 01 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 Javascript
js实现按Ctrl+Enter发送效果
Sep 18 Javascript
JQuery中$.each 和$(selector).each()的区别详解
Mar 13 Javascript
用JavaScript实现对话框的教程
Jun 04 Javascript
Javascript实现字数统计
Jul 03 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
Sep 20 Javascript
js实现图片360度旋转
Jan 22 Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 Javascript
Bootstrap栅格系统的使用详解
Oct 30 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
Sep 21 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
KOA+egg.js集成kafka消息队列的示例
Nov 09 #Javascript
详解关于element el-button使用$attrs的一个注意要点
Nov 09 #Javascript
webpack4.x CommonJS模块化浅析
Nov 09 #Javascript
angular4笔记系列之内置指令小结
Nov 09 #Javascript
node版本管理工具n包使用教程详解
Nov 09 #Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
Nov 08 #Javascript
vue.js层叠轮播效果的实例代码
Nov 08 #Javascript
You might like
php生成固定长度纯数字编码的方法
2015/07/09 PHP
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
JavaScript获取当前日期是星期几的方法
2015/04/06 Javascript
readonly和disabled属性的区别
2015/07/26 Javascript
jQuery实现的经典滑动门效果
2015/09/22 Javascript
React 子组件向父组件传值的方法
2017/07/24 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
webpack中如何使用雪碧图的示例代码
2018/11/11 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
js实现小星星游戏
2020/03/23 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
python字符类型的一些方法小结
2016/05/16 Python
Python计时相关操作详解【time,datetime】
2017/05/26 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
Django 实现下载文件功能的示例
2018/03/06 Python
在python中pandas读文件,有中文字符的方法
2018/12/12 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
安装docker-compose的两种最简方法
2019/07/30 Python
django 数据库连接模块解析及简单长连接改造方法
2019/08/29 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
Pycharm无法打开双击没反应的问题及解决方案
2020/08/17 Python
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
澳大利亚最受欢迎的女士度假服装:Kabana Shop
2020/10/10 全球购物
物理教育专业毕业生推荐信
2013/11/03 职场文书
辩论赛主持词
2014/03/18 职场文书
公司应聘求职信
2014/06/21 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
2015迎新晚会活动总结
2015/07/16 职场文书
《观察物体》教学反思
2016/02/17 职场文书
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android