https://github.com/cusyio/jupyter-reveal

Create Reveal slides with Jupyter Notebooks.

https://github.com/cusyio/jupyter-reveal

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.9%) to scientific vocabulary

Keywords

jupyter reveal-js slides
Last synced: 5 months ago · JSON representation

Repository

Create Reveal slides with Jupyter Notebooks.

Basic Info
  • Host: GitHub
  • Owner: cusyio
  • License: bsd-3-clause
  • Language: JavaScript
  • Default Branch: main
  • Homepage: https://slides.cusy.io/
  • Size: 37.1 MB
Statistics
  • Stars: 3
  • Watchers: 0
  • Forks: 3
  • Open Issues: 4
  • Releases: 0
Topics
jupyter reveal-js slides
Created almost 5 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.rst

Jupyter reveal
==============

Presentation slides for `Jupyter notebooks `_.

|Contributors| |License| |Pyup|

.. |Contributors| image:: https://img.shields.io/github/contributors/cusyio/jupyter-reveal.svg
   :target: https://github.com/cusyio/jupyter-reveal/graphs/contributors
.. |License| image:: https://img.shields.io/github/license/cusyio/jupyter-reveal.svg
   :target: https://github.com/cusyio/jupyter-reveal/blob/main/LICENSE
.. |Pyup| image:: https://pyup.io/repos/github/cusyio/jupyter-reveal/shield.svg
   :target: https://pyup.io/repos/github/cusyio/jupyter-reveal/

Motivation
----------

We spent too much time designing our presentation slides using PowerPoint or
Keynote. Then we needed additional tools for syntax highlighting. Since we were
already working a lot with Jupyter notebooks, it was obvious to use them to
create the slides as well.

Features
--------

Write Markdown
    In Jupyter notebooks we can use `Markdown Cells
    `_.
Built-in syntax highlighting
    You get the appropriate syntax highlighting, e.g. for Python with

    .. code-block:: md

        ```python
        s = "Syntax Highlighting for Python"
        print(s)
        ```

Support for mathematical operators and symbols
    Mathematical operators and symbols are supported with `MathJax
    `_. You can use them in Markdown and code cells.
    So, e.g. ``$\sqrt{k}$`` becomes |mathematical operators and symbols| and

    .. |mathematical operators and symbols| image:: img/markdown.png

    .. code-block:: python

        from IPython.display import Math
        Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx')

    becomes

    .. image:: img/math.png

    However, you can also use other latex modes, e.g. ``eqnarray`` in

    .. code-block:: python

        from IPython.display import Latex
        Latex(r"""\begin{eqnarray}
        \nabla \times \vec{\mathbf{B}} -\, \frac1c\, \frac{\partial\vec{\mathbf{E}}}{\partial t} & = \frac{4\pi}{c}\vec{\mathbf{j}} \\
        \end{eqnarray}""")

    becomes

    .. image:: img/latex.png

Themable
    You can use the `reveal themes `_ or `create
    your own
    `_.

PDF export
    The slides can be easily converted to PDFs.

Installation
------------

#. Download and unpack:

   .. code-block:: console

    $ curl -O https://codeload.github.com/cusyio/slides/zip/main
    $ unzip main
    Archive:  main
    …
       creating: slides-main/
    …

#. Create environment

   .. code-block:: console

        $ cd slides-main
        $ python3 -m venv .
        $ . bin/activate

#. Install Python packages:

   .. code-block:: console

        $ python -m pip install -r requirements.txt
        $ jupyter nbextension enable highlighter/highlighter
        Enabling notebook extension highlighter/highlighter...
              - Validating: OK

#. Install the `Jupyter Notebook Extensions
   `_ Javascript and CSS
   files:

   .. code-block:: console

    $ jupyter contrib nbextension install --user
    jupyter contrib nbextension install --user
    Installing jupyter_contrib_nbextensions nbextension files to jupyter data directory
    …
    Successfully installed jupyter-contrib-core-0.3.3 jupyter-contrib-nbextensions-0.5.1
    jupyter-highlight-selected-word-0.2.0 jupyter-latex-envs-1.4.6
    jupyter-nbextensions-configurator-0.4.1
    …
    $ jupyter nbextension enable latex_envs --user --py
    Enabling notebook extension latex_envs/latex_envs...
          - Validating: OK

#. Start the Jupyter notebook:

   .. code-block:: console

    $  jupyter notebook

#. Turn notebooks into slides with
   :menuselection:`View --> Cell Toolbar --> Slideshow`

#. Create slides with
   :menuselection:`File --> Download as --> Reveal.js slides (.slides.html)`

   or

   .. code-block:: console

    $ jupyter nbconvert my-slides.ipynb --to slides --post serve

#. Fix link to cusy styles

   In the generated ``.html`` file you have to insert the link to the CSS file
   before the body tag:

   .. code-block:: html

    …
    
    
    …
#. Remove Jupyter styles

   The styles were swapped out to ``dist/theme/jupyter.css`` and then adapted
   for the Cusy style. Therefore you should delete the style instructions from
   about line 68–14379 in your HTML file.

#. Create a PDF file:

   #. Open the ``.html`` file
   #. Add ``?print-pdf`` to the URL.
   #. Print to PDF with background images.

Update styles
-------------

#. Install Sass

   .. code-block:: console

    $ npm install

    added 860 packages, and audited 927 packages in 3m

    1 low severity vulnerability

    To address all issues, run:
      npm audit fix

    Run `npm audit` for details.

#. Generate the CSS theme

   .. code-block:: console

    $ npm run build -- css-themes

    > reveal.js@4.1.0 build
    > gulp "css-themes"

    [22:14:52] Using gulpfile ~/cusy/comm/slides/reveal.js/gulpfile.js
    [22:14:52] Starting 'css-themes'...
    [22:14:52] Finished 'css-themes' after 64 ms

   This generates the CSS file ``dist/theme/cusy.css``.

Owner

  • Name: cusy GmbH
  • Login: cusyio
  • Kind: organization
  • Email: info@cusy.io
  • Location: Berlin, Germany

Software consultancy solving complex problems, connecting strategy and execution, helping clients to strengthen their core competencies and flexible scaling.

GitHub Events

Total
  • Watch event: 1
  • Push event: 22
  • Pull request event: 1
  • Fork event: 2
Last Year
  • Watch event: 1
  • Push event: 22
  • Pull request event: 1
  • Fork event: 2

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 4
  • Total pull requests: 94
  • Average time to close issues: 10 minutes
  • Average time to close pull requests: 7 days
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.8
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 34
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.82
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pyup-bot (2)
  • veit (2)
Pull Request Authors
  • pyup-bot (115)
  • veit (1)
  • scy (1)
Top Labels
Issue Labels
Pull Request Labels
update (88)

Dependencies

package-lock.json npm
  • 795 dependencies
package.json npm
  • @babel/core ^7.9.6 development
  • @babel/preset-env ^7.9.6 development
  • @rollup/plugin-babel ^5.2.0 development
  • @rollup/plugin-commonjs ^15.0.0 development
  • @rollup/plugin-node-resolve ^9.0.0 development
  • babel-eslint ^10.1.0 development
  • babel-plugin-transform-html-import-to-string 0.0.1 development
  • colors ^1.4.0 development
  • core-js ^3.6.5 development
  • fitty ^2.3.0 development
  • glob ^7.1.6 development
  • gulp ^4.0.2 development
  • gulp-autoprefixer ^7.0.1 development
  • gulp-clean-css ^4.2.0 development
  • gulp-connect ^5.7.0 development
  • gulp-eslint ^6.0.0 development
  • gulp-header ^2.0.9 development
  • gulp-sass ^4.0.2 development
  • gulp-tap ^2.0.0 development
  • gulp-zip ^5.0.1 development
  • highlight.js ^10.0.3 development
  • marked ^1.1.0 development
  • node-qunit-puppeteer ^2.0.1 development
  • qunit ^2.10.0 development
  • rollup ^2.26.4 development
  • rollup-plugin-terser ^7.0.0 development
  • yargs ^15.1.0 development
requirements.txt pypi
  • jupyter *
  • jupyter-contrib-nbextensions *
  • nbconvert *
requirements_dev.txt pypi
  • pre-commit * development