目前,产品中所有前端组件的API文档均由Markdown编写,之前的处理方式为在Atom中写好,然后另存为html的方式放到产品的在线样例库中,最近越来越觉得这种方式太麻烦,不易于管理。考虑砍掉另存为html的步骤,直接在webstorm中写文档,然后在运行时动态把markdown编译成html文档,跟目前的很多在线的Markdown文本编辑器的原理类似。
经过调研,可以后端转,也可以前端转。最终,采用前端JS来把Markdown转换为HTML。采用showdown来实现。
从showdown的github主页上看到过程挺简单,引入js文件,然后按照下面的语法转换即可:
1 | var converter = new showdown.Converter(), |
经过验证,发现默认是不对表格做转换的。查看官方DEMO,发现在官方DEMO上一切正常,接着发现原来需要做一些配置项。懒得去一个个看API配置,直接在官方的Demo中加个断点,通过getOptions
方法拿到DEMO样例的配置项,结果如下:
1 | //docurl即xxx.md文件,这里也可以使用jquery来加载指定url的markdown文件 |
通过上述代码,能够正常把markdown转换为html。但是,发现样式有问题,表格没有边框。从上面也看到了,额外增加了样式。
最后,把样式文件markdown.css
也分享出来。当然,如果想结果跟showdown的DEMO样例一样,也可以去把DEMO的样式扒下来。
1 | .markdown-body { |