VS code配置markdown遇到的问题总结:图片自动同步、修改字体颜色、PPT制作

问题1:自动上传剪切板上的图片到qiniu云的一种解决方案

要求

  • 使用VS code编辑 markdown文件;
  • 插入图片非常方便:
    • 可使用QQ/微信截图 + Ctrl V粘贴到VS code
    • 且自动上传到可访问的云中,并返回图片链接形式
  • 能够方便地导出pdf
  • 能够方便使用快捷键 – 加粗、斜体、标题等

解决方案

  • Markdown Image插件:支持直接粘贴图片到VS code中,并上传到指定的平台
    • 如本地、qiniu、ithub等
    • 可自定义图片粘贴快捷键,如修改为ctrl V
    • 参考链接
  • 七牛 qiniu 云对象存储,用于存储和访问粘贴的图片
  • Markdown Preview Enhanced插件:预览页面直接右键选择chrome-pdf即可导出pdf文件;
    • 需安装prince(https://www.princexml.com/download/)并添加到环境变量,以导出有书签的pdf
  • Markdown All in One插件:实现快捷键

=============== 更新: 出现了新的问题 ============

新的问题: 没有本地备份

  • gitee今天崩了,不得不防范qiniu出现意外
  • 此外,qiniu只有10G的免费空间,不得不为10G以后做打算。

新的解决方案

  • 在上传到qiniu的同时保存一份到本地;
  • 本地通过git私有仓库持续备份。
  • 但Markdown image工具保存到本地较为麻烦,于是选择了新的工具:markdown image upload and insert
    • 实现了本地保存、qiniu同步的功能;
    • 但还是有问题:
      • markdown image upload and insert的图片命名方式不再是Hash码,而是一串较短的数字,碰撞变的更加容易;
      • 而且该拓展不支持分目录上传到qiniu,加重了碰撞的概率;
      • 解决方法:在setting中使用${fileName}----${mdFileName}的命名方式
        • 1648282226945----cryptographyI.png为例,其在本地./img目录下的命名为1648282226945.png.在qiniu上的命名为1648282226945----cryptographyI.png,在md中的代码为```![1648282226945----cryptographyI.png](https://img-blog.csdnimg.cn/img_convert/e89c4c097ba1e2538c56ab387f19fd36.png)````
        • 这样,如果哪天qiniu出现了意外,只需要利用正则表达式----\w+将所有md中的图片名统一替换,即可完成本地的备份和修改,从而方便地使用新的图床。

总结

根据上述方案,最终实现了剪切板图片qiniu上传 + 本地复制、文件名防碰撞、防qiniu崩溃的VS code markdown开发环境配置。

问题2:找不到更改文字颜色的快捷键

问题描述:

有时候想使用不同颜色的文字以完成highlight。但markdown相关的extensions中没能找到修改字体颜色的快捷键。手动修改颜色<font color=red>text</font> 又很麻烦。

解决方案:手动添加snippets

于是手动在vs code中添加snippets:

{
	// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and 
	// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope 
	// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is 
	// used to trigger the snippet and the body will be expanded and inserted. Possible variables are: 
	// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. 
	// Placeholders with the same ids are connected.
	// Example:
	"Change the text color to red": {
		// "scope": "",
		"prefix": "redcolor",
		"body": [
			"<font color=red>$1</font>"
		],
		"description": "color red"
	},
	"Change the text color to blue": {
		// "scope": "",
		"prefix": "bluecolor",
		"body": [
			"<font color=blue>$1</font>"
		],
		"description": "color blue"
	},
	"Change the text color to green": {
		// "scope": "",
		"prefix": "greencolor",
		"body": [
			"<font color=green>$1</font>"
		],
		"description": "color green"
	}
}

由于vs code默认不支持markdown的智能提示,于是需要在setting.json中添加如下代码:

    "[markdown]": {
        "editor.wordWrap": "on",
        "editor.quickSuggestions": true
    },

这样,输入redcolor时会自动补全:
在这里插入图片描述

问题3 PPT制作

  • 使用Marp插件
  • 关键在于自定义合适的模板
    • 例如适用于周报、答辩的css PPT模板
  • 一个很好的例子:
    • https://github.com/BeWaterMyFriend7/Marp-Theme-UCAS

问题 3.1 目录添加

可使用markdown Toc 插件完成目录添加
并将 <a name= 统一替换为 <a id=

  • 若Markdown all in One 添加目录可能会出现链接无效的问题

问题 3.2 如何将模板托管到OSS

  • 使用github托管css文件无法成功,原因不明
  • 之后使用阿里云托管成功;

问题 3.4 如何使用双列

官方Discussion中给出的solution为:
https://github.com/marp-team/marp/discussions/192#discussioncomment-1516155
确实有效

可通过snippets自定义代码补全,从而简化双列page的代码量

问题3.5 图片操作汇总

官方介绍: https://marpit.marp.app/image-syntax

  • 设置图片大小
![width:200px](image.jpg) <!-- Setting width to 200px -->
![height:30cm](image.jpg) <!-- Setting height to 300px -->
![width:200px height:30cm](image.jpg) <!-- Setting both lengths -->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

R.X. NLOS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值