dapengde 请教一下诸位:有没有可能搭建一个 rmarkdown 在线编译的网站?就像 overleaf.com 那样,啥都不用装(不用装 R,RStudio,以及一堆包),用户只需打开个网页,就可以新建个 R markdown/rticle/bookdown 项目,左边写文章的内容,右边预览。 图:overleaf 在线 LaTeX 编辑器 问这个问题的原因是我们单位有个人创建了个内网使用的 ShareLaTeX 网站,就跟 OverLeaf 一模一样,不同之处就是内网使用的。他正在号召大家协作写论文用 ShareLaTeX,而我想用 R markdown 拆一下他的台,无奈自己功力不够,拆不动…… 目前我搜到的现成方案,就是本地创建个 R markdown 项目,用 RStudio 的 git 功能跟 overleaf 同步。然而实际上 overleaf 编辑的仍然是 tex 文件,不是 markdown 文件。 How to use Overleaf to Write your papers: Part III: How to use Markdown with Overleaf with help from Git and Pandoc A tutorial on how to interface an R Notebook with Overleaf
dapengde 我不太懂,但是感觉好像各个环节的技术都应该齐全了吧,就差组装起来了。 bookdown 大赛时有个项目叫 backyard,就是用 shiny 为 bookdown 做了个前端界面。我猜只要部署到服务器,再加上个账号管理和版本控制功能,就能用了。以后再加上个一键投稿,分分钟灭掉 overleaf。 sharelatex 也是开源的,界面很好,说不定可以拿来用。 stackedit 也是开源的,做用户界面不错。typora 也是。 pandoc 也有网页版。
wglaive dapengde 和yihui这篇文章的需求或多或少有共同之处 稍微整理一下的话, 一个网页base的编辑器 :prosemirror ,nhnent,stackedit 或者数不清的markdown editor p.s. typora是闭源的 但是这个可见即所得开源编辑器 mark-text 是开源的。据说还有这个ghostwriter但是没看明白mac是如何安装的。所以没用过。 然后跑一个servr,把md渲染交给knitr或者pandoc?(有代码变化用knitr,否则直接修改knitr的结果然后跑一个pandoc或者其他啥都渲染器)或者用shiny?然后把文件存回本地。 这样感觉账号管理和版本控制反而是最难的。。。
yihui 这个莽撞人项目相当莽撞。只是左边写文档右边预览的话很简单,我好几年前就玩过了,参见 @yufree 的评论:https://yihui.name/cn/2018/06/wysiwyg-r-markdown/#comment-3954412851 难的地方如楼上 wglaive 所说,是搭建一个真正的后台系统(管理账号、存储文件等)。
yihui tctcab 可以研究一下 Netlify 的这个模块:https://www.netlify.com/docs/git-gateway/ 要是搞清楚 NetlifyCMS 的工作原理的话,我估计搞一套后台系统应该也不会很难。
tctcab 一年后挖个坟,我觉得dapengde 会开心得不要不要的。 总的看来Rstudio cloud目前看来已经基本完美实现大鹏一年前的诉求了 我的一小时体验报告: 有个人workspace跟公共space,space下有多个Project,同一个space可以多人参与. 支持git做版本控制 完整功能的R/Rstudio,装包OK,编译个Rmarkdown自然不在话下 带联网, 硬件: 16核 100G硬盘 32G内存 不能多人实时在同一个project里编辑,同一时间同一个project只能一个用户打开。 空间之间似乎包并不共享,我在私人空间里装了rmd的依赖包,在公共包又装了一遍。 学术论文 papaja 学术论文测试:开始时出错,看起来是少latex包,装完tinytex后自动搜索装上需要的latex包之后成功。 rticles包:包括中文ctex,没问题。 另外试了其他一些骚操作: ping是没有的…… curl可以有 crontab倒是有不过不知道断开project还会不会运行,我在偷偷测试… 更新: 看来每次打开project都相当于重新deploy一次,crontab脚本重置,不过之前在根目录~/ 写的东西都在(不是project的 /cloud/project) 不过碰到个bug,试图把project从公共空间移到自己的workspace的时候,project突然就消失了…所以版本控制很必须啊。 总结 多人合作写作【学术论文之类】打开浏览器点个knit就能编译出漂亮的rmarkdown的时代终于来了 多人实时编辑其实感觉也不是很需要嘛…错开就好 把project放在云端的话省去了配置环境安装各种包的麻烦,真心省事。 目前alpha,完全免费,但是如果正式上线必须肯定一定资瓷
yihui dapengde 跟本地桌面版没啥区别 RStudio 十年前创立时,根本就没有桌面版,一开始就是网页版(本地或服务器皆可),后来在用户的强烈要求下才开发了桌面版。估计绝大多数人都猜不到这条路是倒过来走的。折腾了这些年后终于回到最初的轨道上了(RStudio Cloud)。
tctcab yihui 哇没想到rstudio也十年了。 但浏览器版让我觉得不好用的一点就是浏览器地址栏/tab页/cloud导航条/rstudio工具栏这些加起来就占了1/4的屏幕空间了,编辑区太小。 如果桌面版IDE能连接Rstudio cloud就好了。
dapengde tctcab 浏览器全屏状态下,只比桌面版多了个顶部的cloud导航条,我觉得还可以吧,跟桌面版有点分别,也不坏。 我比较惊讶的是,这个东西早就出现了,例如几个月就有人写了中文介绍,而社区早在两年前就开始讨论了,而我到现在才知道。
youttiao 我一般用anaconda里带的jupyter,不过主要是python,没用R 可以参考这个:https://docs.anaconda.com/anaconda/navigator/tutorials/r-lang/
tctcab youttiao Jupyter能写学术论文了吗,没听说啊。 其实论坛里之前也讨论过不少Rmarkdown跟jupyter的比较,各有优劣,只是我们主要用R的话会更倾向于Rmarkdown.