Repo: https://github.com/imiskolee/tidb-wasm-markdown
一款可让TiDB运行在Markdown中的插件。css
周三看到朋友圈在疯狂的刷 TiDB - Wasm 这个有意思的东西(让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案)。
这的确是一件让人兴奋的工做成果,为WASM的应用提供了不错的思路。就这个项目自己而言也是有很大的价值。前端
咱们在编程语言学习的时候,有诸如JSFiddle、Go Playground等不少不一样的交互性环境可使用,而且能够将这些环境内嵌到教学文章之中,造成了交互性的教学资料。可是在
数据库的文章之中,只能是纯粹的纸上谈兵,读者很难进行直观的感觉与实操。git
相比较而言,纯粹的编程语言的交互环境对于服务端资源消耗是可控的,成本也是能够承担得起的。数据库不同,一个简单的索引优化的示例数据可能就须要GB级别的内存占用以及更大的CPU消耗,成本上难以承受。而TiDB WASM版本的出现,解决了这一个问题 --
由于是在客户端构建环境,环境成本由对应的读者承担。基于这个前提,我想到的就是能够把TiDB WASM版本做为数据库的Play Ground环境嵌入到Markdown中进行交互。github
main.css
这个名字,这个让我花费了几分钟。我以为这个假装的目的仅仅是为了复用Nginx的压缩缓存策略。寻找一款Markdown解析器能够方便的内嵌自定义标签。 最终经过半小时的搜索与学习,定位到了markdown-it以及markdown-it-container这两项工做。golang
::: tisql SELECT * FROM USERS; | 固定tag内容 | sql 内容 |
详情见demo程序。sql