Skip to content

TeachBooks/systems-engineering-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Your first TeachBook using the GitHub template

The template allows you to start your own Jupyter Book and hosting that book online without knowledge on Git, the Jupyter book package, python or anaconda. It doesn't elaborate on the collaborative functionalities of Git or how to edit the book.

Features

  • A github repository structure for making a Jupyter Book (/book)
  • An empty book containing an intro page on root, an example markdown page, an example jupyter notebook page, an example references page. and an example credits page. (/book/_toc.yml, /book/_config.yml, /book/credits.md, /book/intro.md, /book/references.md, /book/some_content/overview.md, /book/some_content/text_and_code.ipynb)
  • A file ready for adding references (references.bib, /book/references.md)
  • An example favicon (web browser icon) (/book/figures/favicon.ico, book/_config.yml.)
  • An example book logo (/book/figures/TUDelft_logo_rgb.png, /book/config.yml)
  • The configuration files set ready to make your Jupyter Notebooks pages work with live code using our sphinx-thebe extension and our recommended settings (/book/config.yml)
  • An example of setting up preprocessing your table of contents to hide certain draft chapters for eg. students (_toc.yml)
  • A file containing all the recommended software packages (requirements.txt)
  • A file containing the recommended license CC BY 4.0 (LICENSE.md)
  • Our GitHub workflow for publishing your book to GitHub Pages (.github/workflow/call-deploy-book.yml)
  • A gitignore file containing standard python filetype to ignore (.gitignore)
  • A readme containing information how to use the template, which can adjusted after using the template (README.md)

How to get started

How to use the template is demonstrated in the figure below, followed by a step-by-step tutorial.

template-demo The demonstration is also available as a video here.

  1. To get started making your Jupyter Book with our functionalities, use the template book as template:

use-template

  1. Fill in a repository name, this name will be used in the future url of your book:

create_new_repository

  1. You need to activate GitHub pages so that your website is publisehd to the internet. As long as you don't do this your book is not published online. Actually, now that you've taken this template our workflow tries to publish it to GitHub pages, which you didn't have the chance to activate yet. That's why you probably received an email with 'call-deploy-book: Some jobs were not successful' and you see the failed job under Actions - All workflows - call-deploy-book - Initial commit. You can activate GitHub pages by setting the source for GitHub pages to GitHub Actions under Settings - Pages - Build and deployment - Source - GitHub Actions:

Activate pages

  1. Make an edit to the book by editing and committing changes to one of the files in the book/ subdirectory (available under Code). Now checkout the progress of the publishing workflow under Actions - All workflows - call-deploy-book -<the most recent workflow run>. Remember, the first commit which is there has failed because GitHub Pages wasn't activated at the time of Initial commit, you could also re-run that job if you don't want to make an edit. You can do so by running the workflow from Actions - All workflows - call-deploy-book - Initial commit - Re-run jobs - Re-run all jobs - Re-run jobs:

Action

  1. When the workflow has finished, visit your build book at https://<username or organiszation_name>.github.io/<repository_name> (case sensitive). For our example it is https://dummydocent.github.io/test_book_from_template/ for the shown repository. These links are visible in the action's summary as well, as shown in the figure of step 4.

Additional tip: Set the repository website as your GitHub Pages website under Code- About - - Website - Use your GitHub Pages Website

github_pages_as_website