「Workshop」第十九期:Markdown与RMarkdown最佳入口
❝配合视频食用效果更加喔(见原文链接)。 ❞
特性与用途
- 简单
- 结构化-转换
- Word
- HTML
- ...
- 多编辑器支持
- Typora[1]
- RStudio[2]
- Jupyter notebook[3]
- VS Code[4]
- ...
Markdown 效果(以 Typora 为例)
图片:
image-20200923214830609
标题:
image-20200923214900003
列表:
image-20200923214924176
表格:
image-20200923214945182
代码块:
image-20200923215012642
数学公式(LaTex语法):
image-20200923215041934
流程图:
image-20200923215100346
行内元素:
image-20200923215120900
各种格式转换:
image-20200923215146498
RMarkdown 效果
R 包文档(knitr 和 rmarkdown):
image-20200923215621662
博客与网站(blogdown[5]):
image-20200923215240574
用于重复分析和研究展示:
image-20200923215647007
书籍(bookdown[6]):
image-20200923215425642
基础语法和用法
目前对于两者的介绍网上一大堆,而且本身语法简单,上手很快,这里不会过多介绍。**本文的核心在于让读者了解这些工具以及根据需要去学习和利用它们。**这里主要为初学者提供比较有参考价值的资料:
- RMarkdown 参考手册[7],这里单纯的 Markdown 语法关注第一页,后续则被 RMarkdown 和其引擎 knitr 所拓展,镜像:https://www.jianguoyun.com/p/DUV0ewgQ6uuVCBjRtr4D。
- RMarkdown 小抄[8],打印使用,镜像:https://www.jianguoyun.com/p/Da0QaqwQ6uuVCBjNtr4D。
- RStudio 网站介绍:https://rmarkdown.rstudio.com/lesson-1.html。
- yihui 的 RMarkdown 权威指南[9]。
- yihui 的 RMarkdown cookbook[10]。
- yihui 的 blogdown[11]。
- yihui 的 bookdown[12]。
仔细阅读上面的资料,其他资料基本没有学习的必要。
关于 RMarkdown knitr 相关设置,yihui 的文档网站有比较好的解释:https://yihui.org/knitr/。
另外有时候文章代码需要格式化,推荐下面两个 R 包
- formatR[13]
- styler[14]
注意,在使用 RMarkdown 时,使用 RStudio 提供的 knit
按钮是非必须的,我们可以直接通过 R 命令执行这一渲染(格式转换)过程,如 rmarkdown -> html:
rmarkdown::render("week19/example.Rmd", output_format = "html_document")
如果是使用 bookdown 写书,则是:
bookdown::render_book("index.Rmd")
Reference
[1]
Typora: https://typora.io/
[2]
RStudio: https://rstudio.com/
[3]
Jupyter notebook: https://rstudio.com/
[4]
VS Code: https://code.visualstudio.com/
[5]
blogdown: https://bookdown.org/yihui/blogdown/
[6]
bookdown: https://bookdown.org/
[7]
RMarkdown 参考手册: https://rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf
[8]
RMarkdown 小抄: https://www.rstudio.org/links/r_markdown_cheat_sheet
[9]
RMarkdown 权威指南: https://bookdown.org/yihui/rmarkdown/
[10]
RMarkdown cookbook: https://bookdown.org/yihui/rmarkdown-cookbook/
[11]
blogdown: https://bookdown.org/yihui/blogdown/
[12]
bookdown: https://bookdown.org/yihui/bookdown/
[13]
formatR: https://github.com/yihui/formatR
[14]
styler: https://github.com/r-lib/styler
- 一斤代码深入理解系列(三):微信小程序和服务器通信
- C#CreateGraphics方法的三种实现方式
- 一斤代码深入理解系列(四):微信小程序和服务器通信-WebSocket
- linux学习第十四篇:查看磁盘,文件大小命令:df,du;磁盘分区
- 二叉树的性质和常用操作代码集合
- linux学习第十五篇:磁盘格式化,磁盘挂载,手动增加swap空间
- 《Java程序设计基础》 第8章手记Part 2
- 备忘录模式
- 《Java程序设计基础》 第8章手记Part 1
- 你很有想法,跟我学做菜吧No.3
- 《数据结构》 定长顺序串常用操作代码集合
- 一斤代码深入理解系列(七):微信小程序中使用微信风格样式库-WeUI
- 餐厅老板要累疯了No.2
- linux学习第十九篇:压缩介绍,gzip,bzip2,xz压缩工具
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android实现带进度条的WebView
- Android实现记住密码功能
- 【- Flutter Web篇 -】 FlutterUnit web版闪亮登场
- Android简单实现弹幕效果
- 实现 Base64 的编码解码
- Android实现底部导航栏的主界面
- Spring注解@Autowired源码分析
- 使用RecyclerView实现水平列表
- android实现记住用户名和密码以及自动登录
- Android碎片fragment实现静态加载的实例代码
- android异步消息机制 源码层面彻底解析(1)
- /undefinedcss/modules/layer/default/layer.css?v=3.1.1找不到的问题
- Android实现渐变启动页和带有指示器的引导页
- the input device is not a TTY. If you are using mintty, try prefixing the comma
- 【STM32F407】第13章 RL-TCPnet V7.X之创建多个TCP客户端