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 相关文章推荐
jQuery源码分析-03构造jQuery对象-工具函数
Nov 14 Javascript
php结合imgareaselect实现图片裁剪
Jul 05 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
Dec 09 Javascript
BootStrap组件之进度条的基本用法
Jan 19 Javascript
详解angularjs popup-table 弹出框表格指令
Sep 20 Javascript
vue2.0 常用的 UI 库实例讲解
Dec 12 Javascript
JavaScript中的E-mail 地址格式验证
Mar 28 Javascript
解决Mac安装thrift因bison报错的问题
May 17 Javascript
angular 实时监听input框value值的变化触发函数方法
Aug 31 Javascript
微信小程序版本自动更新的方法
Jun 14 Javascript
Vue实现点击导航栏当前标签后变色功能
Aug 19 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
Oct 29 Javascript
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
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
web打印小结
2017/01/11 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
[51:10]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
pandas使用之宽表变窄表的实现
2020/04/12 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
校长寄语大全
2014/04/09 职场文书
高二学生评语大全
2014/04/25 职场文书
安全演讲稿大全
2014/05/09 职场文书
导师推荐信范文
2014/05/09 职场文书
小学运动会口号
2014/06/07 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
拖欠货款起诉状
2015/05/20 职场文书
国庆节新闻稿
2015/07/17 职场文书
导游词之丹东鸭绿江
2019/10/24 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server