Giter Club home page Giter Club logo

muboard's Introduction

Muboard

Muboard is a tiny utility that runs a mathematics display board as a web page. Muboard lets you quickly scribble mathematics snippets using Markdown and LaTeX while presenting your desktop screen to others during real-world or virtual meetings.

View Muboard View Demo MIT License Twitter

Contents

Get Started

To get started with using Muboard, click here and start typing Markdown + LaTeX input at the text field at the bottom.

Here is an example screenshot that shows how Muboard with some content looks like:

Distributable Boards

Muboard can be used to create distributable boards. To try it out, copy and paste the code below into an HTML file with .html extension:

<!DOCTYPE html><script src="https://cdn.jsdelivr.net/npm/[email protected]"></script><textarea>

# The Möbius function

For any positive integer $ n $, the Möbius function $ \mu(n) $ is
defined as follows:

$$ \mu(1) = 1; $$

If $ n > 1, $ write $ n = p_1^{a_1} \dots p_k^{a_k} $ (prime
factorization). Then

\begin{align*}
  \mu(n) & = (-1)^k \text{ if } a_1 = a_2 = \dots = a_k = 1, \\
  \mu(n) & = 0 \text{ otherwise}.
\end{align*}

If $ n \ge 1, $ we have

$$
  \sum_{d \mid n} \mu(d) =
  \begin{cases}
    1 & \text{ if } n = 1, \\
    0 & \text{ if } n > 1.
  \end{cases}
$$

Now open this file with a web browser. This is a self-rendering distributable board file. It renders itself to look like this: mu.html.

Valid HTML5

The code snippet in the previous section shows how we can create a self-rendering document with a single line of HTML code but this brevity comes at the cost of standard conformance. For example, the required <title> element is missing from the code. Further the <textarea> element is not closed. Despite the missing tags, this example works just fine because all web browsers follow the robustness principle.

For the sake of completeness and correctness, here is a minimal but complete and valid HTML example: mu-html5.html (source). It has a few more lines of code to ensure that this HTML5 code validates successfully at validator.w3.org. In case you are wondering, a valid HTML5 document does not require explicit <head>, <body>, or the closing </html> tags, so they have been omitted for the sake of brevity while maintaining completeness and correctness in this example.

Features

  • Runs in a web browser.
  • Keyboard driven user interface.
  • Vertical splits.
  • Input is just LaTeX, Markdown, and HTML. Avoids any new syntax.
  • Conforms to CommonMark specification of Markdown.
  • Conforms to GitHub Flavored Markdown (GFM), a strict superset of CommonMark.
  • Supports a subset of LaTeX using MathJax.
  • Supports creating self-rendering distributable boards with a single line of HTML.
  • Supports editing commands such as ,i, ,d, ,align*, etc. to automatically insert LaTeX delimiters for inline mathematics, display mathematics, align environment, etc. (Type ,help in the board input to see a complete list of supported commands.)
  • Support for saving/loading snippets to/from browser's local storage.
  • Not a WYSIWYG tool.
  • Not a collaborative editing tool.

Why?

Muboard was created originally for Offbeat Computation Club analytic number theory meetings that I host. During the meetings, I needed a place to type out mathematics formulas and render them quickly. I chose to write a tiny non-WSYIWYG tool because I prefer such tools. It also helps in keeping the LaTeX snippets in an HTML file that can render itself using JavaScript.

The name Muboard is a reference to the Möbius function μ(n) which was the first function definition we discussed using this tool.

Mirror

The primary Muboard website is muboard.net.

A replica of the website is available at muboard.github.io.

License

This is free and open source software. You can use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of it, under the terms of the MIT License. See LICENSE.md for details.

This software is provided "AS IS", WITHOUT WARRANTY OF ANY KIND, express or implied. See LICENSE.md for details.

Support

To report bugs, suggest improvements, or ask questions, create issues.

More

If you like this project, follow me on Twitter or check out the related projects TeXMe and MathBin.

muboard's People

Contributors

susam avatar

Watchers

Ben Scherrey avatar

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.