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 相关文章推荐
javascript 模拟点击广告
Jan 02 Javascript
JS获取浏览器版本及名称实现函数
Apr 02 Javascript
javascript数字时钟示例分享
Apr 23 Javascript
js判断游览器类型及版本号的代码
May 11 Javascript
jQuery无刷新切换主题皮肤实例讲解
Oct 21 Javascript
javascript倒计时效果实现
Nov 12 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
javaScript基础详解
Jan 19 Javascript
走进javascript——不起眼的基础,值和分号
Feb 24 Javascript
bootstrap fileinput组件整合Springmvc上传图片到本地磁盘
May 11 Javascript
JavaScript变量提升和严格模式实例分析
Jan 27 Javascript
JS实现音量控制拖动
Jan 15 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
php实现简单的MVC框架实例
2015/09/23 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
项目实践之javascript技巧
2007/12/06 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
jquery中的事件处理详细介绍
2013/06/24 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
2013/08/19 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
node.js中的事件处理机制详解
2016/11/26 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
Vue Element使用icon图标教程详解(第三方)
2018/02/07 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
python中返回矩阵的行列方法
2018/04/04 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
django 取消csrf限制的实例
2020/03/13 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
班主任工作年限证明
2014/01/12 职场文书
中学生自我评价范文
2014/02/08 职场文书
2014年妇女工作总结
2014/12/06 职场文书
农贸批发市场管理制度
2015/08/07 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
利用JavaScript写一个简单计算器
2021/11/27 Javascript