Git Product home page Git Product logo

math-input's Introduction

🚚 As of April 2022 this repo is no longer the home of math-input. The contents and development activity have moved into the Perseus repo here.

math-input

Khan Academy's new expression editor for the mobile web. Used in the Perseus exercise framework to power math input and expression editing on small screens.

Built with React, Redux, MathQuill, Aphrodite, and more.

Try it yourself on Khan Academy. (Note: you'll need to enable mobile emulation, if you're accessing the site from a desktop browser.)

Getting started

  • Clone the project: git clone [email protected]:Khan/math-input.git
  • Install dependencies: yarn install
  • Start the development server: yarn start

When you start the project you'll need to be on a device that supports touch or touch emulation to see the keyboard. The easiest way to get started is open the developer tools on Google Chrome.

Supported Features

  • Multiple keypad configurations, so as to accommodate a range of input types (i.e., fractions/mixed numbers, algebraic expressions).
  • Multi-page keypads, with swipeable page navigation.
  • Touch-and-drag interactions (as supported by the stock iOS and Android keypads).
  • A draggable cursor with a detached handle, for fine-grained control on touch devices.
  • Custom state transitions for the editing experience, to streamline expression entry.

Demo

A live demo is available via GitHub Pages. You can configure some of the keypad's behaviors, along with the set of active keys, via the editor.

Note that, as the input and keypad only respond to touch events, you'll need to enable mobile emulation (e.g., as supported by Chrome) in order to use the keypad in a desktop browser.

To run the demo locally, clone the repo, yarn install, yarn watch, and open the index.html page. The local behaviors can similarly be customized via the editor @ custom.html.

License

MIT License

math-input's People

Contributors

benkomalo avatar briangenisio avatar dierat avatar jaredly avatar jeremywiebe avatar jeresig avatar jsatk avatar kevinbarabash avatar miguelcastillo avatar mpolyak avatar nishasy avatar nixterrimus avatar rileyjshaw avatar shadaj avatar xymostech avatar

Stargazers

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

Watchers

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

math-input's Issues

(Uploading demo GIFs)

This is just a means of uploading these GIFs to GitHub's static hosting, so that I can add them to the README.

demo1
demo2

Demo doesn't work ?

Hi. I have run demo. But it doesn't work, when i'm typing ...
Image:
screen shot 2016-06-10 at 3 20 46 pm
I have turn on Console, and it not show errors, and warning

Hello, how do I get the completed LaTeX encoding in the input box?

I use math-input in my project, it's really good for my project, but I find that my pie doesn't know how to convert the completed results into LaTeX codes. I know math-input uses mathquill, which in theory converts the completed results into LaTeX codes. Can input do that?

react-native

As this project potentially meant for mobile platforms can you please create another repository for react-native.

Feature Request: More math functions...

The keyboard is very limited in terms of input, there is no integration functions, matrix, determinant, and others input.
I would like to request these features, so that any kind of mathematical equation can be typed into...

Provide library support.

Currently, I could not find how to use this via package library, it seems that I need to copy the related code to my own project manually.
I hope you can provide some package like math-input, then anyone can use it via npm i math-input and write/config a component.

Can't include in ssr

When I try to include this in my bundled component, it is showing errors. Can we have alphabets support please.

not woking properly

Is the project working? Tried many times, not working properly.

I also tried the following URL, not working. Only show an empty inputbox.
http://khan.github.io/math-input/
Any ideas to make it working?

Any help will apprecieted.

npm run watch
python -m SimpleHTTPServer 3000

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.