template/book/exercises/005a.md
2025-06-02 22:38:34 +02:00

2.7 KiB
Raw Blame History

Exercise 6: Reuse content from another book

So far, you've been working inside your own book. But what if someone else has already written a page you’d like to reuse? Instead of copying it, you can include it directly into your own book using the external: feature in your _toc.yml.

You can find the link to reuse in one of two ways:

  • Use the TeachBooks Recombiner to select and copy the link.
  • If the page isn't listed in the Recombiner, find the link manually in the GitHub repository.

::::::{topic} Exercise objective Can you include a page from someone else’s book into your own using external: in your _toc.yml? ::::::

  1. Find the page you want to reuse:

    • Option 1: Open the TeachBooks Recombiner, select the book and chapter(s) you want to reuse, and click Show how do it yourself instructions. Copy the external: link provided.

    • Option 2: If the page isn’t in the Recombiner, find it manually:

      • Go to the repository (e.g., TeachBooks Manual on GitHub).

      • Browse the files and find the .md page you want (e.g., README.md, workflows/collaboration.md).

      • Copy the raw link in this format:

        - external: https://github.com/TeachBooks/manual/blob/v1.1.1/book/examples/book_structure.md
        
  2. Add the external: link into the parts: or chapters: section of your _toc.yml file.

  3. Save the changes, commit, and push them.

```{admonition} Example: _toc.yml snippet

format: jb-book
root: intro

chapters:
  - file: 001
  - external: https://github.com/TeachBooks/manual/blob/v1.1.1/book/examples/book_structure.md
  - file: 003

4. When you are ready, commit your changes to the repository by clicking on the green `Commit changes` button.

5. Add a commit message.

6. To see your changes, go to {octicon}`play` `Actions` - The most recent workflow run `overview.md / the commit message of the commit you just made` - Wait for it to finish - In the summary, click on the link of your book shown in the table `Branches deployed` and under `Primary book at root` (getting bored of waiting? There'll be exercising on doing this locally which prevents you from waiting).

7. Do you see your change? If you don't see it click `CTRL`+`F5`/`Control`+`F5`to refresh the page.



```{admonition} Check your understanding
:class: note

Before moving on, make sure you understand:

* What is the benefit of linking to an external page instead of copying it?
* How does using the Recombiner simplify adding external content?
* What can you do if a page isn’t in the Recombiner?