Windows下Typora的图片问题

血红的双手。 提交于 2020-01-22 15:24:34

原文地址

感谢大佬的插件

Typora是一款不错的本地Markdown编辑器,但是其中的图片问题也很明显,它本身是一款文字编辑器,不具有显示图片的功能。其中图片的显示是通过导入图片的地址来引用显示,默认插入其中的图片会保存在本地Typora安装目录下,这就造成了在把.md文件发送给其他人或者复制的方式复制到博客编辑器的时候,图片将无法显示。对于这个问题,如果是Mac用户有一款非常好用的插件 iPic ,使用方式可以参考Markdown实用技巧-编辑器(Typora),但是,对于Windows用户,就没有那么好的支持了,在寻找解决方案的时候发现有推荐 MPic 工具的,有推荐PicGo工具的,还有其他一些,但是我发现这些都是异步工具,需要把图片复制进其中,工具会上传图片到设置的图床,生成图片链接,然后把链接复制到Typora完成图片插入。总之,虽然解决了问题,但还是很麻烦,效率薛微低。在漫长的解决方案寻找过程中,终于在知乎上发现了一款不错的, Windows版的Typora有没有支持图床的插件? - thobian的回答 - 知乎 ,这是一位大佬自己写的插件 typora-plugins-win-img ,支持把插入Typora文档中的图片自动上传到指定的图床服务器,并自动修改文档内的链接,这样即使发送给其他人或者复制到博客编辑器,只要在有网的情况下,都能浏览图片。效果如下

截止到我写博客时,这款插件已经支持上传到GitHub、自建服务器、腾讯云、阿里云、七牛云。这里我写一些我上传配置上传腾讯云的经过。首先需要申请腾讯云的对象存储(COS),腾讯云会为新开通标准存储的个人用户提供6个月的50G的免费存储空间,6个月之后的收费可以参见 产品定价,这里还有几个计费实例参考。

而且,腾讯云的对象存储还可以通过客户端进行访问,也可以像PicGo等工具那样通过客户端上传图片生成链接再进行插入,参见COSBrowser 简介

创建存储桶

对象存储->存储桶列表创建存储桶

注意访问权限一项要设置为 共有读私有写(如果你想要通过分享或者博客的方式让其他人可见的话)

  • 防盗链设置

设置成功后会进入 配置管理 页面,往下翻一翻会有一个防盗链设置

当关闭防盗链时,如果别人获得了你的图片链接,就可以直接粘贴在自己的文章里使用,这是占用你的云流量, 要开启的话,就点击开启,然后添加好你的博客链接。

创建子用户(可选操作)

这是插件作者的推荐操作

为了你腾讯云的安全,强烈建议你为这个操作添加一个单独的子账号,并只开启API访问权限
添加子账号:https://console.cloud.tencent.com/cam
更多关于腾讯云子账号(CAM)说明:https://cloud.tencent.com/document/product/598/13665

进入添加子账号网址,新建用户

自定义创建

可访问资源并接收消息,下一步

注意在访问方式中勾选编程访问,下一步

为用户配置访问策略,为了方便我为这个子用户配置了对象存储的所有权限。下一步

完成

插件的下载与配置

插件在这里

直接Download,解压后是这样

plugins复制到 你的Typora\resources\app 下,然后修改该目录下的window.html, 随便用一款文字编辑器即可,甚至记事本也可以。在其中搜索(Ctrl+F可调出搜索功能)<script src="./app/window/frame.js" defer="defer"></script> 在其后面追加: <script src="./plugins/image/upload.js" defer="defer"></script>

配置upload.js文件,在刚复制的plugins下,进入到plugins/image,配置upload.js文件,直接到达底部的$.image.init();一行,用以下部分替换之,

//为了你腾讯云的安全,强烈建议你为这个操作添加一个单独的子账号,并只开启API访问权限
//添加子账号:https://console.cloud.tencent.com/cam
//更多关于腾讯云子账号(CAM)说明:https://cloud.tencent.com/document/product/598/13665
$.image.init({
    target:'tencent',
    tencent : {
        Bucket: 'bucket-name',  // 对象存储->存储桶列表(存储桶名称就是Bucket)
        SecretId: 'SecretId',   // 访问控制->用户->用户列表->用户详情->API密钥 下查看
        SecretKey: 'SecretKey', // 访问控制->用户->用户列表->用户详情->API密钥 下查看
        Region: 'Region',       // 对象存储->存储桶列表(所属地域中的英文就是Region)
        folder: 'typora',       // 可以把上传的图片都放到这个指定的文件夹下
    },
});

然后按照注释部分的提示,配置Bucket、SecretId、SecretKey、Region、folder变量。

成功

重启Typora,成功

在我这里还有一个小问题是,图片上传成功后不能立即进行 右键->缩放图片,这样引用地址就又变成了本地地址。在进行几次其他操作后(文档内其他地方的点击,编辑),在缩放图片就没有上述问题了,这个也就不是问题了,只需在文档编辑结束之后再调整图片大小就行了。

致谢

再次对插件作者表示感谢,大佬的插件跟我的版本不适配,还专门要了我的版本进行插件调整,感谢感谢

参考文献

https://github.com/Thobian/typora-plugins-win-img/blob/master/README.md

开始使用腾讯云图床

相关文献

windows下typora图床(附带阿里云教程)(私以为其中setting部分的配置是不必要的)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!