无限可能!在Markdown中扩展语法实现时间线解析

时间线(时间轴)你们应该都不陌生。前端

不管是在产品文档更新说明:web

组织历程:编程

仍是新闻大事件中:微信


都会有时间线的身影。编辑器

时间线能够线性地梳理纷繁事务的先后逻辑关系,捋清事物发展的脉络。布局

时间线虽然很好,可是若是须要在本身的日志、文档和笔记中加入时间线则没有很好的方案。flex

不管是桌面端仍是 Web 端,时间线都须要大量的代码进行渲染,最后生成一个时间线的图形样式。spa

最近,在觅道文档的QQ群(735507293)里,有小伙伴提出在觅道文档的 Markdown 编辑器中实现时间线功能的需求,而且获得了其余小伙伴的呼应。.net

便分析了一下使用 Markdown 语法实现和处理时间线的可能性。3d

在 GitHub 上搜索,发现了一些 Markdown语法解析时间线的开源组件,好比 mdline,其使用以下图所示的语法进行 Markdown 时间线的解析:

最后渲染出来的时间线以下图所示:

在州的先生看来,其语法的变量稍微有点多,并且左右排列的时间线布局在文档结构中稍显突兀,占据了大量的宽度。

时间线的核心块也就两点:

  • 标题行

  • 内容行

至于标题行是输入时间、日期仍是其余文字,应该由使用者自由控制。

因此,初步肯定好时间线的语法为:

  
  
   
   
            
   
   
# 标题内容====

如何将时间线与正常的 Markdown 代码块区分开来呢,采用集成思惟导图的方式,经过代码块的三引号+timeline进行标识,也就是以下所示:

  
  
   
   
            
   
   
```timeline# 标题内容====```

同时,因为觅道文档使用了 LayUI 做为前端样式组件,其自己也提供了时间线的样式,因此就直接采用它的时间线样式来做为最终渲染出来的样式。

基于上述设定,咱们在 Markdown 的解析脚本里面,进行以下的改动:

最后,咱们获得以下图所示的 Markdown 时间线解析:

这样,就完成了在 Markdown 中实现时间线解析的功能。

此功能将在本月底发布的觅道文档 0.6.0 版本中体现,敬请期待。



往期精选


用Python实现一个最新QQ办公版(TIM)的登陆界面

为何说Python是普通人编程领域的王者

花10分钟写一个 Python 脚本,搞定了初中老师一个下午的工做

Python桌面图形程序美化的方法论

本文分享自微信公众号 - 州的先生(zmister2016)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索