my-doc-jsx——一个基于jsx的文档书写、文档转换工具
my-doc-jsx——一个基于jsx的文档书写、文档转换工具
富文本、office写文档的时代过去了
{`早期大家写博客都是用富文本编辑器,后来大家用了markdown;早期大家写文档都是用word,后来大家用了gitbook。这是因为我们的博客也好,文档也好,大家都希望用一门标记语言来书写`}
{`用标记语言书写文档的好处很多。比如使我们的文档(博客)的内容能够和样式分离,能够配上不同的css后可以以展示不同形式展示。再比如可以让计算机读懂我们文档的结构,这样我们可以让计算机帮把文档转换成任意的格式。再比如我们可以扩展标记语言,使用我们自定义的方言去书写一些格式非常复杂的内容。再比如。。。。。。`}
{`因此,在这个时代已经没有人在希望用富文本或者office去写文档,我们要标记语言。`}
markdown、xml?还是其他标记语言
那么用什么形式来作为这个标记语言呢?
xml
{`无疑是最优秀的标记语言,xml具有较高的可扩展性,定义规范。但是xml不适合书写文档,因为他过于`}规范{`,不够灵活,严格的语法要求使人生畏;而且他对于转义的处理过也不够方便,一个空格都需要六个字符表示(xml转义),而且也没几个人能够记住这些转义;同时离开编辑器我们也很难直接使用xml去书写复杂的格式文档。`}
markdown
{`无疑是最流行的用于文档书写的标记语言,它非常的简单,而且就是为了书写文档而生的。
但是它不同于xml,扩展性不够,我们可以通过“\`\`\`”扩展markdown的语法,但是书写起来非常不方便。
同时markdown方言太多,导致多种markdown编辑器编辑出的文档彼此居然不兼容。
再有markdown的语法过于简单,因此用起来反而非常麻烦,相信很多让人都遇到过一个表格调整了半天显示还有问题的情况。
这些问题都是因为markdown不具备xml的规范性导致的。`}
html
{`本身就没有扩展性,同时有没有markdown方便,更不适合书写文档。
我们希望能够像写markdown一样写文档代码,又希望像写html一样写文档代码。有没有这样的标记语言?
这种感觉就像又想写JavaScript代码,又想写html代码一样。所有我选择了jsx,严格来说jsx不是一个标记语言,他更多的是一个编程语言。但是如果你不使用JavaScript语法部分,它就是一个天然的标记语言了,同时jsx继承了xml的扩展性,配合es6的`}模板字符串{`完美地解决了转义问题,而且他易于扩张。
使用jsx,像markdown那样包装html,能够使我们使用可扩展的标记语言书写文档,这就是`}my-doc-jsx{`。
`}