• R语言
  • 编辑器特性想法:Markdown文学编程

只需在Markdown的每一行之前添加自定义的行注释字符, 不影响代码编译。

在代码注释中,就可以绘制流程图,任务列表,显示数据可视化等。

当预览或转换格式时,只需要简单地预处理:把\r\n#替换成\r\n

例子:

Markdown literary programming

example01:


## 代码内注释至少需要两个行注释字符

draw_legends <- function(...) {
  plots <- list(...)
  gtables <- lapply(plots, function(x) ggplot_gtable(ggplot_build(x)))
  guides <- lapply(gtables, gtable::gtable_filter, "guide-box")

  one <- Reduce(function(x, y) cbind(x, y, size = "first"), guides)

  grid::grid.newpage()
  grid::grid.draw(one)
}

tctcab
论坛的markdown特性搞坏了排版,我用html外包一下,帖子的效果来自如下代码:




## Markdown literary programming 注:一级标题
### example01: 注:二级标题

#```r

## 代码内注释至少需要两个行注释字符

draw_legends <- function(...) {
  plots <- list(...)
  gtables <- lapply(plots, function(x) ggplot_gtable(ggplot_build(x)))
  guides <- lapply(gtables, gtable::gtable_filter, "guide-box")

  one <- Reduce(function(x, y) cbind(x, y, size = "first"), guides)

  grid::grid.newpage()
  grid::grid.draw(one)
}
#```


当我们编辑代码时,我们可以实时预览效果。编辑文学代码时具有大多数markdown编辑器的实时预览。
编辑器有一个实时预览面板,可以完成以下工作:

1.获取当前文本.

2.把\r\n\#替换成\r\n.
注:

  • 当前文件的换行符和行注释字符可以从编辑器的API获得.
  • R的行注释字符是#

3.实时预览markdown字符串.

4.可以轻松直接导出为PDF或HTML。

它的优点:

1.不破坏任何编程语言的语法,可以直接编译。

2.您只需要一行正则替换预处理,然后您可以使用任何Markdown解析器或转换器。

3.支持任何支持Markdwon实时预览的代码编辑器,允许任何编程语言的源代码实时变为富文本, 可以在代码注释区中利用markdown实现在live preview面板上显示绘制流程图,表格,任务列表和显示图像, 增强代码的可读性。

4.如果扩展Markdwon标签,则可以实现求值代码,打印结果,显示数据可视化和其他指令标签,以实现Live Programming,Live Test。