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提交表单 Form.js官方插件介绍
Mar 01 Javascript
JQuery限制复选框checkbox可选中个数的方法
Apr 20 Javascript
JS实现3D图片旋转展示效果代码
Sep 22 Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 Javascript
js实现类bootstrap模态框动画
Feb 07 Javascript
jQuery设计思想
Mar 07 Javascript
详解vue2.0组件通信各种情况总结与实例分析
Mar 22 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
jQuery实现页码跳转式动态数据分页
Dec 31 jQuery
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
Sep 24 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
Jul 13 Javascript
vue-路由精讲 二级路由和三级路由的作用
Aug 06 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文章按日期(月日)SQL归档语句
2012/11/29 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
鼠标图片振动代码
2006/07/06 Javascript
可实现多表单提交的javascript函数
2007/08/01 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
基于Vue实现拖拽功能
2020/07/29 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
layui实现数据分页功能
2019/07/27 Javascript
Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
2019/10/21 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
python将unicode转为str的方法
2017/06/21 Python
python实现定时提取实时日志程序
2018/06/22 Python
python 不以科学计数法输出的方法
2018/07/16 Python
python自动化生成IOS的图标
2018/11/13 Python
Python实现不规则图形填充的思路
2020/02/02 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
购房意向书
2014/04/01 职场文书
团日活动总结报告
2014/06/25 职场文书
七一建党日演讲稿
2014/09/05 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
挂职个人工作总结
2015/03/05 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python