Blog with RStudio, R, RMarkdown, Jekyll and Github
2016-09-27 10:52
323 查看
In the first post of this new blog I’ll outline how I’ve set the blog up.
writing posts in
converting posts to markdown from R
push to Github where Jekyll renders the markdown
organising all as an RStudio project
I wanted to be able to write about R related things without having to copy and paste code, figures or files. I had used Rmarkdownand knitr before
so wanted to use them. I have a wordpress site elsewhere that someone helped me set up a couple of years ago with a blog that I’ve never used. Initially I tried seeing if I could create posts using
A brief search revealed that was not straightforward and that Jekyll was the way to go.
Now I have this blog set up so that I can write all of the posts (including this one) in RMarkdown (
get one free personal site). The site is created usingJekyll on Github, so I didn’t need to install Jekyll or Ruby. I simply
edit files locally, then commit and push to Github. I manage the site as an RStudio project, enabling me
to edit text, keep track of files and interact with Git all from one interface.
I used Barry Clarks amazing Jekyll-Now repository which you can fork directly from Github and start editing
to customize. He gives excellent instructions. What attarcted me to it was that it takes a matter of minutes to set up initially and if you decide you don’t like it you can just delete.
Thanks to Jan Gorecki whose answer on stackoverflow pointed me in this direction and I’ve copied some
extra features like the Links and Index pages from his site.
I cloned the Github repository for my site using RStudio :
File, New project, Version control, Clone git
Repo URL : https://github.com/AndySouth/andysouth.github.io Project directory name : andysouth.github.io
This was the tricky bit for me. I followed inspiration from Jason Bryerand Jon
Zelner. I had to tweak them both, the relative paths of figures was my main stumbling block. This was partly because I’m running windows and I couldn’t run the shell scripts that they created. Instead I just run an R function rmd2md which
is much the same as Jason’s with some edits to paths and jekyll rendering.
Jason’s function searches a folder that you specify for
This then means that any R plot is automatically generated, saved as a png and it’s address is written into the md document so that the plot is displayed in the blog. This is shown in a simple example below that queries the WHO API to get the number of cases
of one of the forms of sleeping sickness in 2013.
The code syntax highlighting and dark grey background for both code and R text outputs are what come as the default with Jekyll-Now. I’m a little unsure about them. They seem to be specified in_highlights.scss,
perhaps I’ll look at modifying later.
If you’d like to look here is the entire source code for the blog and for this individual
page.
writing posts in
Rmarkdown
converting posts to markdown from R
push to Github where Jekyll renders the markdown
organising all as an RStudio project
What I wanted
I wanted to be able to write about R related things without having to copy and paste code, figures or files. I had used Rmarkdownand knitr beforeso wanted to use them. I have a wordpress site elsewhere that someone helped me set up a couple of years ago with a blog that I’ve never used. Initially I tried seeing if I could create posts using
RMarkdownand put them into that wordpress blog.
A brief search revealed that was not straightforward and that Jekyll was the way to go.
What I’ve got
Now I have this blog set up so that I can write all of the posts (including this one) in RMarkdown (.Rmd) and run an R function to convert them to markdown (
.md). The blog is hosted for free onGithub (you
get one free personal site). The site is created usingJekyll on Github, so I didn’t need to install Jekyll or Ruby. I simply
edit files locally, then commit and push to Github. I manage the site as an RStudio project, enabling me
to edit text, keep track of files and interact with Git all from one interface.
How I got here (steps)
creating Jekyll site on Github
I used Barry Clarks amazing Jekyll-Now repository which you can fork directly from Github and start editingto customize. He gives excellent instructions. What attarcted me to it was that it takes a matter of minutes to set up initially and if you decide you don’t like it you can just delete.
Thanks to Jan Gorecki whose answer on stackoverflow pointed me in this direction and I’ve copied some
extra features like the Links and Index pages from his site.
enabling editing of the site from RStudio
I cloned the Github repository for my site using RStudio :File, New project, Version control, Clone git
Repo URL : https://github.com/AndySouth/andysouth.github.io Project directory name : andysouth.github.io
setting up so that I can write the posts in RMarkdown
This was the tricky bit for me. I followed inspiration from Jason Bryerand JonZelner. I had to tweak them both, the relative paths of figures was my main stumbling block. This was partly because I’m running windows and I couldn’t run the shell scripts that they created. Instead I just run an R function rmd2md which
is much the same as Jason’s with some edits to paths and jekyll rendering.
Jason’s function searches a folder that you specify for
.Rmdfiles and then puts
.mdfiles into another folder. I set this up so that any plots are put into a third folder. Thus in the root of my site includes these 3 folders.
FOLDER | CONTENTS | |
---|---|---|
_Rmd | RMarkdown files that I edit | |
_md | md files created by RMarkdown | |
figures | plots created by any chunks of R code |
of one of the forms of sleeping sickness in 2013.
code <- "NTD_4" year <- 2013 url <- paste0('http://apps.who.int/gho/athena/api/GHO/',code,'.csv?filter=COUNTRY:*;YEAR:',year) #read query result into dataframe dF <- read.csv(url,as.is=TRUE) library(rworldmap) sPDF <- joinCountryData2Map(dF, nameJoinColumn="COUNTRY", joinCode="ISO3")
## 24 codes from your data successfully matched countries in the map ## 0 codes from your data failed to match with a country code in the map ## 220 codes from the map weren't represented in your data
mapCountryData(sPDF,nameColumnToPlot="Numeric",catMethod="fixedWidth",mapRegion="africa", mapTitle="Gambian sleeping sickness cases in 2013")
The code syntax highlighting and dark grey background for both code and R text outputs are what come as the default with Jekyll-Now. I’m a little unsure about them. They seem to be specified in_highlights.scss,
perhaps I’ll look at modifying later.
If you’d like to look here is the entire source code for the blog and for this individual
page.
相关文章推荐
- Complexities with NHibernate, DataTransferObjects and the Assembler Pattern(Ben Scott's Blog)
- 【翻译】Building a Simple Blog Engine with ASP.NET MVC and LINQ - Part 2
- 【翻译】Building a Simple Blog Engine with ASP.NET MVC and LINQ - Part 4
- 项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】
- Post-Mortem Debugging Your Application with Minidumps and Visual Studio .NET
- Safe! Repel Attacks on Your Code with the Visual Studio 2005 Safe C and C++ Libraries
- Professional Software Testing with Visual Studio 2005 Team System: Tools for Software Developers and
- 项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】
- Unpacking Dlls And Drivers With Ollydbg, Geffners blog
- 10 Tips to Boost Your Productivity with C# and Visual Studio 2008
- Team Development with Visual Studio .NET and Visual SourceSafe
- 项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】
- 【翻译】Building a Simple Blog Engine with ASP.NET MVC and LINQ - Part 1
- 【翻译】Building a Simple Blog Engine with ASP.NET MVC and LINQ - Part 3
- 项目管理实践【五】自动编译和发布网站【Using Visual Studio with Source Control System to build and publish website automatically】
- 10 Tips to Boost Your Productivity with C# and Visual Studio 2008
- 项目管理实践【五】自动编译和发布【Using Visual Studio with Source Control System to build and publish website automatically】
- OPD.NET Developer's Guide: Oracle Database 10g Developement with Visual Studio 2005 and the Oracle D