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 相关文章推荐
extjs grid设置某列背景颜色和字体颜色的方法
Sep 03 Javascript
jQuery中has()方法用法实例
Jan 06 Javascript
JavaScript实现MIPS乘法模拟的方法
Apr 17 Javascript
JS实现的通用表单验证插件完整实例
Aug 20 Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
Sep 29 Javascript
JSON与JS对象的区别与对比
Mar 01 Javascript
详解使用vuex进行菜单管理
Dec 21 Javascript
Openlayers实现测量功能
Sep 25 Javascript
javascript中导出与导入实现模块化管理教程
Dec 03 Javascript
浅谈JS的原型和原型链
Jun 04 Javascript
vue实现拖拽交换位置
Apr 07 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设计模式之命令模式的深入解析
2013/06/13 PHP
CodeIgniter生成网站sitemap地图的方法
2013/11/13 PHP
ThinkPHP入口文件设置及相关注意事项分析
2014/12/05 PHP
PHP面向对象之后期静态绑定功能介绍
2015/05/18 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
2018/08/17 PHP
jquery 图片预加载 自动等比例缩放插件
2008/12/25 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
p5.js实现斐波那契螺旋的示例代码
2018/03/22 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
初步认识Python中的列表与位运算符
2015/10/12 Python
Python计算两个日期相差天数的方法示例
2017/05/23 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
python3中property使用方法详解
2019/04/23 Python
python图形绘制奥运五环实例讲解
2019/09/14 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
python属于解释语言吗
2020/06/11 Python
详细分析Python collections工具库
2020/07/16 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
陈欧的广告词
2014/03/18 职场文书
实践单位评语
2014/04/26 职场文书
银行进社区活动总结
2014/07/07 职场文书
党员民主生活会对照检查材料思想汇报
2014/09/28 职场文书
工作态度检讨书范文
2015/05/06 职场文书
刑事上诉状范文
2015/05/22 职场文书
红色经典观后感
2015/06/18 职场文书
素质教育学习心得体会
2016/01/19 职场文书
python 远程执行命令的详细代码
2022/02/15 Python