来看看现代化的 Markdown 文章书写技巧吧
Markdown
用于日常书写已经非常流畅了,不过现在大部分语法支持是 2017 年由 Github 发布的 GFM
(GitHub Flavored Markdown),已经不太能满足现代化博客的多样化需求。
虽然我们有更强更灵活的 mdx
,支持在 Markdown 中插入组件,但是它需要书写者懂 JSX
的基本语法,引入组件时又没有代码提示(目前我使用的 vscode 插件不支持提示),无疑增加了使用门槛,而且和 markdown 本身带给作者的便利性有冲突。
就我个人而言更希望有一些不超出 Markdown 语法框架的增强功能,所以分享一下我自己在用的一些 Markdown 体验增强方法。
旁白
上面这段旁白只需要在 Markdown 中加入下面的代码
甚至还可以轻松嵌套其他内容,以及支持多种样式
这是我 Copy 自 Starlight 框架的功能,它使用的是 remark-js
的 remark-directive
插件实现的。
如果你使用的是 remark-js
包进行渲染,或者用的是 Astro
框架搭建的网站,那么可以很轻松的加入这个功能,只需要将 这段代码 拷贝到你的项目中,然后在 remark 插件配置中加入下面的代码:
代码块增强
也许你已经注意到了,上面的代码块不仅显示了文件名,而且高亮了其中一行代码。
上面的代码块只需要在 Markdown 中这样书写:
还可以显示成 diff 样式
以及代码块中的块高亮功能
还支持正则匹配的块高亮
这个功能是使用 expressive-code
插件实现的,它也有专门为 Astro
开发的版本,只需要这样进行安装
然后加入到框架集成配置中
折叠块
示例:
同样是一个基于 remark-directive
的插件,代码在这里。
只需要将插件加入到 remark plugins 即可。
按钮
示例:
代码:
一个样式稍微复杂的按钮:
代码:
同样是一个基于 remark-directive
的插件,代码在这里。
只需要将插件加入到 remark plugins 即可。
图片拷贝
Markdown 最头疼的事之一就是图片管理,由于我的博客没有配置图床,是直接放置在 repo 中的,图片完全由 vercel
托管,所以对于我来说唯一的问题就是如何在编辑 Markdown 时,剪切板的图片可以直接粘贴到指定的本地目录下,并且自动插入正确路径。
好在 VSCode 的 Markdown 插件已经内置了这个功能,我们只需要在 Settings 中搜索 markdown copy files
,然后配置路径即可:
表格编辑
推荐安装 VSCode 的 Markdown Table
插件,在编写表格时具有自动对齐、Tab 跳转下一格等功能,极大的提高表格编辑效率。
更多
TODO…