我正在开发一个基于订阅的网站,该网站将提供自定义金融交易指标,我需要建议。使用R上的googleVis包,我以.html格式导出新的图表30分钟,使用一些有限的Javascript进行交互。我最初考虑使用Wordpress作为我的CMS,因为易于使用和易于访问的订阅管理插件,但它的Javascript限制使我无法自动完成更新。 (我必须每30分钟手动更新一次网站)
因此,我现在正在考虑我的其他选择。我在我的VPS上简单地尝试了Joomla,但它似乎也有很多关于Javascript的怪癖。我在开发网站方面经验不足,因此我将不得不依赖预先存在的产品进行网站建设,尤其是客户订阅管理。
我意识到这是一个非常开放的请求,但我只是寻找那些比我更有经验的人的方向。任何意见都将不胜感激。
答案 0 :(得分:3)
以下是我玩这个游戏的玩具示例:
注意,这已经更新以适应wpautop。如果您不删除上传片段的所有间距,则googleVis javascript会损坏。以下完成了这一点。
# Title
```{r}
suppressPackageStartupMessages(library(googleVis))
# From example(gvisBarchart)
df=data.frame(country=c("US", "GB", "BR"), val1=c(1,3,4), val2=c(23,12,32))
Bar1 <- gvisBarChart(df, xvar="country", yvar=c("val1", "val2"))
```
## GoogleVis Plot
```{r results='asis'}
print(Bar1, "chart")
```
现在你需要一个脚本,将所有内容整合在一起,可以在你的服务器上使用类似R /path/to/your/file.r
的内容。不要忘记在wordpress设置中打开xmlrpc。您还必须记住在wordpress主题的头部添加对javascript库的调用。
library(RWordPress)
library(knitr)
library(markdown)
# Setup your Wordpress information
options(WordpressLogin = c('USERNAME'= "YOURPASS"),
WordpressURL = "http://web.address/xmlrpc.php")
knit("/path/to/test.Rmd","/path/to/test.md")
markdownToHTML("/path/to/test.md","/path/to/test.html",fragment.only=TRUE)
tmp <- getRecentPostTitles(100) # Hackish
id <- tmp$postid[which(tmp$title == title)] # Get id of same title post
post <- readLines("path/to/test.html")
# Trim Function Courtesy of
# http://stackoverflow.com/questions/2261079/whitespace-in-r
trim <- function (x) gsub("^\\s+|\\s+$", "", x)
post <- trim(post) # Dump whitespace
post <- post[-which(post == "")] # remove line breaks to avoid wpautop()
if(length(id) > 0) {
deletePost(postid)
}
newPost(
list(
description=paste(post,collapse="\n"),
title="Post Title",
),
publish=TRUE)