{"id":13631112,"url":"https://github.com/susam/muboard","last_synced_at":"2025-04-04T14:06:41.326Z","repository":{"id":42697707,"uuid":"351117826","full_name":"susam/muboard","owner":"susam","description":"Self-rendering and distributable mathematics chalkboards","archived":false,"fork":false,"pushed_at":"2023-07-15T15:18:02.000Z","size":3675,"stargazers_count":563,"open_issues_count":0,"forks_count":36,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-10-29T22:56:29.279Z","etag":null,"topics":["chalkboard","commonmark","javascript","latex","markdown","markdown-latex","math","mathematics","npm-package","texme"],"latest_commit_sha":null,"homepage":"https://susam.github.io/muboard/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/susam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"custom":["https://www.buymeacoffee.com/susam"]}},"created_at":"2021-03-24T14:50:43.000Z","updated_at":"2024-10-24T11:22:49.000Z","dependencies_parsed_at":"2024-01-13T17:11:12.073Z","dependency_job_id":null,"html_url":"https://github.com/susam/muboard","commit_stats":{"total_commits":62,"total_committers":2,"mean_commits":31.0,"dds":"0.12903225806451613","last_synced_commit":"d7443f6b8a192f84736eaef10b8367c22376fb97"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susam%2Fmuboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susam%2Fmuboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susam%2Fmuboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/susam%2Fmuboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/susam","download_url":"https://codeload.github.com/susam/muboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190231,"owners_count":20898700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chalkboard","commonmark","javascript","latex","markdown","markdown-latex","math","mathematics","npm-package","texme"],"created_at":"2024-08-01T22:02:11.005Z","updated_at":"2025-04-04T14:06:41.309Z","avatar_url":"https://github.com/susam.png","language":"JavaScript","readme":"Muboard\n=======\n\n[Muboard][Muboard URL] is a tiny utility that runs a mathematics\ndisplay board as a web page. Muboard lets you quickly scribble\nmathematics snippets using Markdown and LaTeX while presenting your\ndesktop screen to others during real-world or virtual meetings.\n\n[![View Muboard][Muboard SVG]][Muboard URL]\n[![View Demo][Demo SVG]][Demo URL]\n[![MIT License][License SVG]][L]\n[![Mastodon][Mastodon SVG]][Mastodon URL]\n\n[Muboard SVG]: https://img.shields.io/badge/view-muboard-brightgreen\n[Muboard URL]: https://susam.github.io/muboard/\n[Demo SVG]: https://img.shields.io/badge/view-demo-brightgreen\n[Demo URL]: https://susam.github.io/muboard/mu.html\n[License SVG]: https://img.shields.io/badge/license-MIT-%233ea639\n[Mastodon SVG]: https://img.shields.io/badge/mastodon-%40susam-%236364ff\n[Mastodon URL]: https://mastodon.social/@susam\n\n\nContents\n--------\n\n* [Get Started](#get-started)\n* [Distributable Boards](#distributable-boards)\n* [Features](#features)\n* [Why?](#why)\n* [Mirror](#mirror)\n* [License](#license)\n* [Support](#support)\n* [More](#more)\n\n\nGet Started\n-----------\n\nTo get started with using Muboard, [click here][Muboard URL] and start\ntyping Markdown + LaTeX input at the text field at the bottom.\n\nHere is an example screenshot that shows how Muboard with some content\nlooks like:\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg width=\"800\" src=\"https://i.imgur.com/S6egQzg.png\"\u003e\n\u003c/div\u003e\n\n\nDistributable Boards\n--------------------\n\nMuboard can be used to create distributable boards. To try it out,\ncopy and paste the code below into an HTML file with `.html`\nextension:\n\n```html\n\u003c!DOCTYPE html\u003e\u003cscript src=\"https://cdn.jsdelivr.net/npm/muboard@0.5.2\"\u003e\u003c/script\u003e\u003ctextarea\u003e\n\n# The Möbius function\n\nFor any positive integer $ n $, the Möbius function $ \\mu(n) $ is\ndefined as follows:\n\n$$ \\mu(1) = 1; $$\n\nIf $ n \u003e 1, $ write $ n = p_1^{a_1} \\dots p_k^{a_k} $ (prime\nfactorization). Then\n\n\\begin{align*}\n  \\mu(n) \u0026 = (-1)^k \\text{ if } a_1 = a_2 = \\dots = a_k = 1, \\\\\n  \\mu(n) \u0026 = 0 \\text{ otherwise}.\n\\end{align*}\n\nIf $ n \\ge 1, $ we have\n\n$$\n  \\sum_{d \\mid n} \\mu(d) =\n  \\begin{cases}\n    1 \u0026 \\text{ if } n = 1, \\\\\n    0 \u0026 \\text{ if } n \u003e 1.\n  \\end{cases}\n$$\n```\n\nNow open this file with a web browser. This is a self-rendering\ndistributable board file. It renders itself to look like this:\n[mu.html][Demo URL].\n\n\n### Valid HTML5\n\nThe code snippet in the previous section shows how we can create a\nself-rendering document with a single line of HTML code but this\nbrevity comes at the cost of standard conformance. For example, the\nrequired `\u003ctitle\u003e` element is missing from the code. Further the\n`\u003ctextarea\u003e` element is not closed. Despite the missing tags, this\nexample works just fine because all web browsers follow the\n[robustness principle][robustness].\n\nFor the sake of completeness and correctness, here is a minimal but\ncomplete and valid HTML example:\n[mu-html5.html](https://susam.github.io/muboard/mu-html5.html)\n([source](examples/mu-html5.html)). It has a few more lines of code\nto ensure that this HTML5 code validates successfully at\n[validator.w3.org][validator]. In case you are wondering, a valid\nHTML5 document does not require explicit `\u003chead\u003e`, `\u003cbody\u003e`, or the\nclosing `\u003c/html\u003e` tags, so they have been omitted for the sake of\nbrevity while maintaining completeness and correctness in this\nexample.\n\n[robustness]: https://en.wikipedia.org/wiki/Robustness_principle\n[validator]: https://validator.w3.org/#validate_by_input\n\n\nFeatures\n--------\n\n* Runs in a web browser.\n* Keyboard driven user interface.\n* Vertical splits.\n* Input is just LaTeX, Markdown, and HTML. Avoids any new syntax.\n* Conforms to CommonMark specification of Markdown.\n* Conforms to GitHub Flavored Markdown (GFM), a strict superset of\n  CommonMark.\n* Supports a [subset of LaTeX][macros] using MathJax.\n* Supports creating self-rendering distributable boards with a single\n  line of HTML.\n* Supports editing commands such as `,i`, `,d`, `,align*`, etc. to\n  automatically insert LaTeX delimiters for inline mathematics,\n  display mathematics, align environment, etc. (Type `,help` in the\n  board input to see a complete list of supported commands.)\n* Support for saving/loading snippets to/from browser's local storage.\n* Not a [WYSIWYG][wysiwyg] tool.\n* Not a collaborative editing tool.\n\n[macros]: http://docs.mathjax.org/en/latest/input/tex/macros/index.html\n[wysiwyg]: https://en.wikipedia.org/wiki/WYSIWYG\n\n\nWhy?\n----\n\nMuboard was created originally for [analytic number theory club\nmeetings][meet] that I used to host in 2021. During the meetings, I\nneeded a place to type out mathematics formulas and render them\nquickly. I chose to write a tiny non-WSYIWYG tool because I prefer\nsuch tools. It also helps in keeping the LaTeX snippets in an HTML\nfile that can render itself using JavaScript.\n\nThe name *Muboard* is a reference to the Möbius function *μ(n)* which\nwas the first function definition we discussed using this tool.\n\n[meet]: https://susam.net/maze/meet/iant/\n\n\nLicense\n-------\n\nThis is free and open source software. You can use, copy, modify,\nmerge, publish, distribute, sublicense, and/or sell copies of it,\nunder the terms of the MIT License. See [LICENSE.md][L] for details.\n\nThis software is provided \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nexpress or implied. See [LICENSE.md][L] for details.\n\n[L]: LICENSE.md\n\n\nSupport\n-------\n\nTo report bugs, suggest improvements, or ask questions,\n[create issues][issues].\n\n[issues]: https://github.com/susam/muboard/issues\n\n\nMore\n----\n\nSee [TeXMe](https://github.com/susam/texme), a lightweight utility to\ncreate self-rendering and distributable Markdown + LaTeX documents.\n\nSee [MathB](https://github.com/susam/mathb), a mathematics pastebin\nbuilt using TeXMe. This is the oldest mathematics pastebin that is\nstill alive on the web and serving its community of users.\n","funding_links":["https://www.buymeacoffee.com/susam"],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsusam%2Fmuboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsusam%2Fmuboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsusam%2Fmuboard/lists"}