A self-hosted digital mathematics notebook written in React and Typescript
π Mathberet (Hebrew: ΧΦ·ΧͺΦ°ΧΦΆΦΌΧ¨ΦΆΧͺ) β A self-hosted digital mathematics notebook, written in React and built with Electron
π§ In active development, open for contributions! π§
. Still buggy.
β Features
- Block based drag-n-drop editor
- Text, Math, Graph and Drawing blocks are currently available
- LaTeX shortcuts and snippets
- Local files can be saved and loaded from the file system
- File tags (currently useless)
- Command bar (currently only used for user preferences)
- 6 color themes and light/dark theme
- Customize LaTeX shortcuts
- Shortcuts help menu
- Searching from command bar
- Adding points and polygons to graph blocks
- Math memory sidebar (for variable assignments and quick functions)
- Archive
πΈ Screenshots
Hebrew
English
Dark theme and purple accent color Light theme and green accent color Command bar (Ctrl+Shift+P)𧱠Built With
- ERWT: Electron + React apps boilerplate
- react-grid-layout: Grid layout for the blocks
- slate: Text block component
- MathLive (react-math-view): Math block component
- Mafs: Graph block component
- tldraw: Drawing block component
- kbar: Command bar
- react-complex-tree: Used for displaying the file system
- UIcons: App icons
ποΈ Building from source
- Clone the repository to a folder on your machine:
git clone https://github.com/yonatanmgr/mathberet.git
- Run
npm install
in the project root folder - Run
npm start
in the project root folder
π€ Contributing
We welcome any positive contribution towards our projectβs growth! Whether you choose to work on a listed feature or create a new one, your help is appreciated. Simply submit a Pull Request after adding your code. To ensure a smooth process, please review our CODE OF CONDUCT
and read the CONTRIBUTING
guidelines for further details on submitting pull requests.
Make sure to visit Mathberetβs project to view our roadmap and plans, and our wiki to read the documentation!
βοΈ Liscense
This project is licensed under the MIT License β see the LICENSE
file for details.