•  


GitHub - datitran/jupyter2slides: Cloud Native Presentation Slides with Jupyter Notebook + Reveal.js
Skip to content

Cloud Native Presentation Slides with Jupyter Notebook + Reveal.js

License

Notifications You must be signed in to change notification settings

datitran/jupyter2slides

Repository files navigation

Jupyter Notebook + Reveal.js

Introduction

Microsoft PowerPoint is cool. I like it! It is like a Swiss army knife for consultants. You can make beautiful slides with it. When it comes to code though, PowerPoint sucks. Really! The solution is to use reveal.js . It is cool. You can use Markdown to highlight code. It is responsive but like LaTeX, it can be tedious.

Another way to use reveal.js is through Jupyter Notebook. You just create a notebook and then use nbconvert to get reveal.js slides as well. The standard output is however boring. I seriously mean it! This repo therefore tries to bridge this gap by using customized colors and images.

Moreover, we live in a cloud native world with a cloud native lifestyle, cloud native storage, cloud native solution. Why not having cloud native presentation slides then? This repo also solves this problem by simply using cf push .

Getting Started

  1. Create the conda environment:

    conda env create -f environment.yml
    
  2. You can find a notebook template in the static folder which contains some examples like cover and divider slides, markdown syntax and many more. Here is a link for a nice intro into creating slides with Jupyter notebook.

  3. When you are done with editing your notebook, you need to generate the slides with this command:

    # from ./jupyter2slides/
    python create_slides.py --file static/presentation_template.ipynb
    
  4. Now you can either call this command to serve the presentation on your local machine

    python run.py --file static/presentation_template.slides.html
    

    or just use cf push to push it to the cloud. I use Flask to serve those static files.

  5. To convert the slides to pdf, I use decktape :

    cd decktape-1.0.0/
    ./phantomjs decktape.js generic --keycode=Space "http://0.0.0.0:9099/" presentation_template.pdf
    

    or you can also use the ?print-pdf option but this is not recommended as the formatting is not displayed correctly.

Requirements:

  • Python 3.6.*
  • nbconvert 5.3.*
  • reveal.js 3.1.0

Demo:

FAQ

How can I change the color of the headline, text, links, list etc.?

You can change everything in the custom.css file.

How can I change the footer?

If you need to change the footer, open jupyter_template.tpl and go to Change footer here .

Where did you get the image and favicon?

The image used for the cover slide is from Pexel and the favicon is from freefavicon . They are both free to use.

Does it work with other reveal.js version?

Yes, but this is not recommended as the colors might be broken due to differences in the css styles.

Copyright

See LICENSE for details. Copyright (c) 2016 Dat Tran .

- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본