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的横向滚动条(滑动条)
Feb 24 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
Oct 03 Javascript
js判断FCKeditor内容是否为空的两种形式
May 14 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
Dec 12 Javascript
javascript 表格内容排序 简单操作示例代码
Jan 03 Javascript
jquery统计用户选中的复选框的个数
Jun 06 Javascript
jQuery中extend函数详解
Feb 13 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
Apr 18 Javascript
Angular实现响应式表单
Aug 04 Javascript
js用类封装pop弹窗组件
Oct 08 Javascript
JavaScript实现矩形块大小任意缩放
Aug 25 Javascript
详解 javascript对象创建模式
Oct 30 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小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
判断脚本加载是否完成的方法
2009/05/26 Javascript
jquery animate 动画效果使用说明
2009/11/04 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
jQuery表单验证插件解析(推荐)
2016/07/21 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
AngularJS实现表单验证功能
2017/01/09 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
[06:11]2014DOTA2国际邀请赛 专访团结一心的VG战队
2014/07/21 DOTA
在Django框架中编写Context处理器的方法
2015/07/20 Python
python3实现UDP协议的服务器和客户端
2017/06/14 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
python让列表倒序输出的实例
2018/06/25 Python
python3实现逐字输出的方法
2019/01/23 Python
python设置环境变量的原因和方法
2019/06/24 Python
python交易记录链的实现过程详解
2019/07/03 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
信用社实习人员自我鉴定
2013/09/20 职场文书
经典大学生求职信范文
2014/01/06 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
高等教育学自荐书范文
2014/02/10 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
个人房屋买卖协议书(范本)
2014/10/04 职场文书
工程质量保证书
2015/05/09 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python