34.7. Out of date#

Warning

Everything in this chapter is very out of date… FIXME

34.7.1. Set Up#

You will want to create your own forked repository from the openos repository . If you already have your own container/environment used to build and publish the book, then you can clone your forked repository there and skip the image creation section. Otherwise, clone it locally.

Note

There are three important folders that you will use: /containers, /content, /books. The containers folder will hold all of the configuration and the Dockerfile for your docker image. The content folder will hold all of the .ipynb files plus additiional files used to structure your book. The books folder contains the makefile to build and publish your book from the content folder.

34.7.2. Set Up#

You will want to create your own forked repository from the openos repository . If you already have your own container/environment used to build and publish the book, then you can clone your forked repository there and skip the image creation section. Otherwise, clone it locally.

Note

There are three important folders that you will use: /containers, /content, /books. The containers folder will hold all of the configuration and the Dockerfile for your docker image. The content folder will hold all of the .ipynb files plus additiional files used to structure your book. The books folder contains the makefile to build and publish your book from the content folder.

34.7.3. Create Your Image#

Navigate to the /containers/container/base folder. This is where you can make any modifications to your image. Navigate back to /containers/container and type “make build” to build your image. This will take around 10-15 minutes, so make sure you have no syntax errors. Type “make publish” to publish to your image registry.

Warning

You will need to have the Docker daemon running in the background to build your image.

34.7.4. Build Your Book#

Navigate to the /content folder. Here is where all of your book content will be stored. Please visit the Jupyter Book website to see a more detailed description of book format and markup syntax.

Once your book is ready, In your container environment, navigate to /books/textbook and type “make build” to build the textbook. It will create a _build folder in the same directory containing all of the static assets needed for the website. Type “make pub” to publish to your GitHub Pages site.

Note that you are publishing the book to your forked repository’s GitHub Pages site. If you are happy with your changes, commit them and submit a pull request to add your changes to the original repository.

34.7.5. Design choices#

  • All real content is in the “content” directory

    • textbook_toc.yml - the table of contents for the book

  • The images (png, jpg, etc) should all be in their respective section folder in the images directory

  • The quizzes should all be in the quizzes directory

  • The source code being shown/ran should all be in the src directory

  • We are creating one subdirectory for each chapter that will contain:

    • book materials; for now, its a single file for book; likely will eventually break into sections

    • all corresponding lectures, referred to as lecture notes

    • all corresponding lab materials

34.7.5.1. RISE presentations.#

34.7.5.1.1. Developing one#

  • you can find an example with templates for slides in the “content/contributing” directory under L01-example notebook.

  • you should create a symbolic link to the lecture note css file (content/css/ln.css) with the name of your slide (e.g., L01-example), and commit it to the repo

  • to determin which cells are slides, versus notes, versus subslides… edit the tags

34.7.5.1.2. Coverting google slide presentation#

  • download google slidedeck as a powerpoint

  • open powerpoint in keynote

  • export to images,

    • set to do an image for each stage of animations

    • make sure png and transpartent backgrounds

    • upload to book directory “content/from-google-slides”

      • create new subdirectory (e.g., MM01)

      • upload all images generated into that directory

      • in directory, e.g., mm, type {code-block} ../python/mkln MM-L1 ../from-google-slides/MM01

      • you should now have a rise presentation titled MM-L1, where each image is a seperate slide

34.7.5.1.3. Running one#

  • press lower case “t”, in screen show for speaker notes; my experience is that only works if you start the note before going to full screen on the slide