Code Monkey home page Code Monkey logo

nikolasibalic / interactive-publishing Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 1.0 29.03 MB

Templates and tools for creating interactive figures and interactive text for publishing in EPUB3/HTML5.

Home Page: https://nikolasibalic.github.io/Interactive-Publishing/

License: BSD 3-Clause "New" or "Revised" License

JavaScript 2.85% CSS 0.01% Python 1.50% HTML 95.64%
epub3 interactive-figures interactive-textbook interactive-storytelling science-communication education educational-software reactive-documents explorables

interactive-publishing's Introduction

Interactive text and figures

This project provides quick starting point for anyone who wants to experiment with interactive text and figures in their electronic publications (EPUB3 / HTML5 + JavaScript). One possible reason why one would use interactive text and figures is to communicate many possible stories to the audience, instead of usual single story line. See Physics World blogpost.

Two templates and corresponding tools are provided. Tools generate HTML/Javascript output that can be seen in web-browsers and e-readers. Generated examples don't have any external dependencies that need to be downloaded from the Internet. They are completely self contained, and be seen on all devices (even without Internet access), and they can be simply included in interactive texts/books in EPUB3 format, as well as web-pages.

For detailed documentation and discussion of motivation and examples check here

DOI PyPI version


Note on implementation

Interactive text example implements simple calculations in JavaScript. More complex calculations should be precalculated and provided as look-up tables.

Interactive figures generate figures for all possible combinations of the input. Control JavaScripts then displays just images corresponding to selected combination of input parameters, while all other images are hidden. This can make files relatively large, but it allows their viewing on devices with minimal computational resources, like ereaders, and old phones.

License

Overall license is BSD-3-Clause as outlined included in LICENSE.md.

This project uses TangleKit package from this repository for creating interactive text. That package is based on on slightly modified and updated open-source Tangle.js library of Bret Victor.

Interactive figures use Matplotlib Python package and ifigures package from this repository which is based on updated and modified version of ipywidgets-static. Compared to original package, dependency on IPython is removed, Python 2 and 3 are supported now, and few bugs are fixed.

Licenses are inherited from the original projects mentioned above. They are permissive, and allow reuse, with or without modification, but for details check corresponding LICENSE files and code headers.

interactive-publishing's People

Contributors

nikolasibalic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

aboutmre

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.