This isn't exactly related to R or RStudio, but I thought it might make sense to have this discussion in the open, rather than just with whatever list of people I might think to cc on an email.
@jjallaire and I talked about this briefly at rstudio::conf this year. While those of us who teach short courses/workshops tend to use git and Github for version control and dissemination of our materials, there's a little bit of a disconnect when it comes to the slides we teach from (often, Keynote). This leads to a couple of problems:
-
It's a lot of work to keep all the pieces synched. For example, for data science in the tidyverse there were three pieces I needed to keep matching-- the .Rmd files for exercises, the .Rmd files for solutions, and the Keynote/PDF files of slides. If you change code in one place, you need to remember to update in the other two places. This seems like a job for... programming! I can kind of imagine how to write a parameterized markdown document that knitted to two different versions, one with solutions and one without, but it sounds like a lot of extra work. Any then of course, the Keynote piece is basically unsolvable at the moment
-
A somewhat simpler issue, but when someone wants to use the (usually CC-licensed) materials, they can grab the .Rmds and the PDF slides from Github, but if they want to edit the slides they need the original keynote files. Speaking for myself, I am often procrastinating on prep and realize just a few hours before I'm teaching something that I don't have the Keynote files. It would be great if we could develop a culture of sharing these on the web, as well. However, there are some technical challenges there, as well.
- the simplest thing would be to check the Keynotes into the same git repo as the other materials, but I think we all avoid doing that to minimize the size of the repo (especially if you're going to
usethis
to download the entire repo onto someone's computer during a workshop) - we could all have parallel repos for slides, like
AmeliaMN/data-science-in-tidyverse
andAmeliaMN/data-science-in-tidyverse-slides
, but that gets us back to a similar problem to (1), where that gives us several things that need to be updated. Plus, the way I structure directories on my computer, I often have the folder with keynotes inside the main folder, and I worry about weird nested.git
files - is this somehow the place for submodules?? I have never gotten into that particular aspect of git, but maybe it would be the right thing?
- the simplest thing would be to check the Keynotes into the same git repo as the other materials, but I think we all avoid doing that to minimize the size of the repo (especially if you're going to
Anyway, if anyone has any brilliant ideas, I'd love to hear them. cc'ing @jennybryan, @mine, @cwickham, @hadley, @garrett, @yihui