Make it possible to import other book chapters at build time
See original GitHub issueDescription
It is notoriously difficult to re-use pedagogical content between people. This is for a variety of reasons, but one of them is the amount of re-structuring and reformatting needed to adapt material to other build systems.
One way we could improve this would be to define a way of re-using sections of a Jupyter Book. Authors could simply “point” to a section elsewhere, and this would then automatically be drawn into their book at build time.
Example
For example, you could imagine a user pattern like this in the Table of Contents:
- file: localfile.md
- file: localfile.md
- remotesection: https://book-website/doctrees/path/to/section
And thus as a part of a book build, it would pull the remote section into the local filesystem and build it into the book’s structure automatically. Perhaps we could also draw from intersphinx for inspiration as well.
Benefit
This would benefit authors that wish to re-use content without manually copy-pasting them into their local filesystems. It would encourage the (re)use of other people’s work, and reduce the number of duplicated content out there.
That said, this might be a relatively modestly-used feature. It’s unclear how common practice it is for authors to re-mix only parts of one another’s content in this way. We should get more clarity on the demand here.
Implementation
@betolink has a similar build system based on Quarto where he pulls in content with CI/CD. See this comment: https://github.com/executablebooks/jupyter-book/issues/1385#issuecomment-907652927
Issue Analytics
- State:
- Created 2 years ago
- Reactions:3
- Comments:9 (5 by maintainers)
I’ve been doing some work on OERs in STEM related to their discoverability, accessibility, platforms, etc., and would definitely support more share-ability if you all are interested in the OER-space. A lot of authors rely on publishing/authoring software (something like Pressbooks) that offers much less functionality and interactivity than Jupyterbook, but the software’s either funded by their institutions or its components are easier to share and repurpose, at least for novice users.
This is certainly an interesting idea.
We were playing around with a variant of this idea at
quantecon
last year where we would letusers
customise the book by selecting sections they were interested in and building a custom book. One of the key issues (from an implementation perspective) was the preservation of internal linking and introducing the concept ofcontext
.However I guess in this case the original project could be assumed to exist so links could be generated to the other project.
I presume we would require
jupyter-book
sites to publish the_sources
inmd
for this to work so theremotesection
get’sbuilt
rather than justcopied
to fit in with theme etc.?