Easy posting
When I was getting this blog setup, I decided I needed to make creating new posts as easy as possible. I want to use my daily commute (which is about 1.5 hours each day) to create new content, and in order to make the barrier as small as possible I started looking into the options for posting from some kind of notebook format.
After a lot of researching the options, looking into the available libraries, trying things out, I arrived at the combination of Wordpress, R Markdown, and the awesome RWordpress library.
For those just interested in the code, the github repository for RWordpress can be found here, and the script I use for posting my articles is on my github here.
So how can you use RWordpress to make your life easier? To start things off you need to install a few libraries from github.
install.packages("devtools")
library(devtools)
install_github("duncantl/XMLRPC")
install_github("duncantl/RWordPress")
install.packages("knitr")
library(XMLRPC)
library(RWordPress)
library(knitr)
Next step, write your blog post. I’m sure most of you are familiar with the RMarkdown format, but if not it’s basically a superset of standard markdown, which allows the execution of code within the document (check out the docs). Once you’ve got your draft ready, you can preview it with the preview/knit button in Rstudio.
So, you’ve finished your post and you’re eager to share it with the world. Running this R script will do the trick:
pw <- readLines(file("../data/wp_password.txt"))
options(WordpressLogin = c(dsbrown = pw),
WordpressURL = "http://www.findingsignal.xyz/xmlrpc.php")
rmd_file <- args$file
# Post thumbnail
opts_knit$set(upload.fun = function(file){library(RWordPress);uploadFile(file)$url;})
knit2wp(rmd_file,
title = args$title,
categories = cat,
publish = TRUE)
And just like that, your article is live on Wordpress and visible to all your readers! The script is available here, and I hope this will make blogging easier for some of you.
Happy posting!