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控制display属性为none或block
Mar 31 Javascript
js获取select默认选中的Option并不是当前选中值
May 07 Javascript
javascript中的this详解
Dec 08 Javascript
JQuery工具函数汇总
Jun 15 Javascript
动态加载jQuery的方法
Jun 16 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
基于MVC方式实现三级联动(JavaScript)
Jan 23 Javascript
深入浅出理解JavaScript高级定时器原理与用法
Aug 02 Javascript
微信小程序文章详情页跳转案例详解
Jul 09 Javascript
js实现图片上传即时显示效果
Sep 30 Javascript
vue+canvas实现移动端手写签名
May 21 Javascript
Vue中插槽slot的使用方法与应用场景详析
Jun 08 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环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
php minixml详解
2008/07/19 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
PHP goto语句用法实例
2019/08/06 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
提高网站信任度的技巧
2008/10/17 Javascript
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
JS交换变量的方法
2015/01/21 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
小程序点击图片实现自动播放视频
2020/05/29 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
学习python的几条建议分享
2013/02/10 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
2016/05/17 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
Python中异常重试的解决方案详解
2017/05/05 Python
解决安装python库时windows error5 报错的问题
2018/10/21 Python
python画图常规设置方式
2020/03/05 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
美国网上花店:JustFlowers
2017/02/12 全球购物
正规的求职信范文分享
2013/12/11 职场文书
财务出纳岗位职责
2014/02/03 职场文书
德语专业求职信
2014/03/12 职场文书
校园公益广告语
2014/03/13 职场文书
幼儿园小班评语
2014/04/18 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
饭店服务员岗位职责
2015/02/09 职场文书
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android