A proposal for an open and editable website with bookdown

bookdown

#1

My office is doing something interesting with bookdown, and I want to consult the community here to make sure everything is doable.

We are currently working on a wikipedia-like document in that we want to ultimately create a website that people can view and edit. A collaborative living document.

We started off writing in bookdown because it has great defaults for publishing html pages and it is easy to get someone up and running. Thanks to everyone who works at bookdown for making a really revolutionary system.

However ultimately, we don't want someone to have to get set up on our shared dropbox folder (we don't use git... yet) to make edits. We want a wikipedia-style interface where you can click on something and then edit that page. However we couldn't just start a wikia because a) we want to work on it privately for a long time and b) we dont want it to be anime themed. Addtionally, the people who might edit this document are not technically focused, the project is ultimately qualitative, so we cant rely on telling people to git clone... our documents.

On the other hand, i am in no way a web developer, and dont want to try and maintain a non-static website.

Bookdown has great github integration. At least for gitbook output, you can link directly to the git repo you are hosted with and people can make edits from there. Then I saw this web IDE from gitlab and I think this is exactly what I want. Here is my proposed workflow, I would appreciate comment on if people think it is feasible.

  1. Upload everything we have from dropbox to gitlab
  2. Use Hugo to create a static website that borrows a lot of design elements from gitlab
  3. Set up netlify with our gitlab repo and enable continuous integration. This way, whenever someone merges a PR, the website updates automatically.
  4. On every page of the website, ensure that there is a link to the appropriate Rmarkdown document on gitlab.
  5. Ensure that when they click on this link, Gitlab's web IDE opens and the user can use this interface, never having to download Rstudio (however great Rstudio is). Hopefully this interface is responsive and intuitive, but I can't vouch for it yet.
  6. Enable me, my boss, and a few others to have automatic pushes, and act as maintainers for outsiders who want to make edits.

I'm pretty good with coding, and open to learning new things. I am under the impression this workflow has the right balance of learning new things and a well-supported, simple system.

I promise to write a blog post when this is all said and done to debrief on the process as a whole.


#2

What you propose is similar (but not identical) to what we do for listing upcoming R conferences and useR groups. The pages are hosted on GitHub and when a commit is made, a simple travis script is launched. If the build is successful, the pages are updated.

Travis also runs an R script for parsing the .Rmd files and creating a CSV file of the data.


#3

Thanks for the feedback. It's good to know that someone else is doing this workflow.

However your project is quite small. I would be interested to see if there are larger projects with this workflow.

I have been looking into the mediawiki ecosystem, and it seems quite overwhelming. I suppose this question is no longer R related, so I cross posted to the Hugo forum here