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 tools之tabs 选项卡/页签
Jul 25 Javascript
15 个 JavaScript Web UI 库
May 19 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
Nov 19 Javascript
javascript中验证大写字母、数字和中文
Jan 15 Javascript
javascript弹出窗口实现代码
Nov 12 Javascript
js实现瀑布流的三种方式比较
Jun 28 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
Jan 26 Javascript
基于滚动条位置判断的简单实例
Dec 14 Javascript
vue实现购物车小案例
Sep 27 Javascript
微信小程序仿通讯录功能
Apr 09 Javascript
Electron整合React使用搭建开发环境的步骤详解
Jun 07 Javascript
vue项目中使用多选框的实例代码
Jul 22 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采用curl实现伪造IP来源的方法
2014/11/21 PHP
PHP网络操作函数汇总
2015/05/18 PHP
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
javascript时间函数大全
2014/06/30 Javascript
轮播图组件js代码
2016/08/08 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
2017/01/04 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
vue底部加载更多的实例代码
2018/06/29 Javascript
微信小程序实现下拉菜单切换效果
2020/03/30 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
python获取标准北京时间的方法
2015/03/24 Python
Python的迭代器和生成器
2015/07/29 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
python关于变量名的基础知识点
2020/03/03 Python
Python configparser模块操作代码实例
2020/06/08 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
高中课程设置方案
2014/05/28 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
2016消防宣传标语口号
2015/12/26 职场文书
Golang中异常处理机制详解
2021/06/08 Golang
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL