jhudsl / AnVIL_Template

An OTTR spinoff template for creating AnVIL content
https://jhudatascience.org/AnVIL_Template/
Creative Commons Attribution 4.0 International
0 stars 1 forks source link

Add a rendering step that uses different `_bookdown.yml` file(s) #176

Open KatherineCox opened 1 year ago

KatherineCox commented 1 year ago

@avahoffman how hard would this be?

A lot of our GDSCN books are aimed at instructors. It would be nice if we could use a different _bookdown.yml file to render the student-facing content in a stand-alone output. Two things I could imagine doing with this:

  1. Render the student instructions to docx. As is, the complete book gets rendered to the docx file. Instructors can then edit it to keep only the relevant chapters if they want, but it would be nice for this to happen automatically.
  2. Turn the student instructions into a Leanpub course (I haven't ever made a Leanpub course yet, so not sure what's involved)

I looked into this a little bit on the bookdown side, and I didn't see a way to manage this with a single call to bookdown::render_book() (i.e. by changing settings in _output.yml or something) so...

@cansavvy is this something that would be useful for OTTR? I filed the issue here in AnVIL_Template since my use case is fairly specific to our GDSCN books, where we're writing a book aimed at instructors which contains chapters for them to give their students. But perhaps there are other more general use cases?

avahoffman commented 1 year ago

@KatherineCox not hard. I can play around with something!

avahoffman commented 1 year ago

@KatherineCox I've created a way to render a student guide from separate bookdown and output ymls over at #177 . For now, Leanpub will use the original bookdown set. If the student materials need to end up on Leanpub, I wonder if it warrants its own repo at that point.

KatherineCox commented 1 year ago

Awesome!

re: Leanpub - I haven't dug into the details of either the GitHub actions or Leanpub myself, so I'm happy to follow your recommendations there. If it's too complicated to make that happen in a single repo, it's not that hard to make another repo and either sync or borrow_chapter to keep them up-to-date with each other.