{"id":28004243,"url":"https://github.com/WLJSTeam/wolfram-js-frontend","last_synced_at":"2025-05-09T03:02:21.801Z","repository":{"id":65617576,"uuid":"588982265","full_name":"WLJSTeam/wolfram-js-frontend","owner":"WLJSTeam","description":"Next-Gen Digital Notebook for Physics, Math, and Data Science. Freeware notebook environment for Wolfram Language written in Javascript","archived":false,"fork":false,"pushed_at":"2025-05-06T17:56:17.000Z","size":461346,"stargazers_count":403,"open_issues_count":19,"forks_count":20,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-08T20:47:42.393Z","etag":null,"topics":["computational-science","gui","interactive-visualizations","javascript-project","mathematica","notebook","plotting","wolfram-language"],"latest_commit_sha":null,"homepage":"https://wljs.io/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WLJSTeam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["JerryI","KirillBelovTest"],"custom":["https://www.paypal.com/donate/?hosted_button_id=BN9LWUUUJGW54"]}},"created_at":"2023-01-14T17:22:31.000Z","updated_at":"2025-05-08T11:09:16.000Z","dependencies_parsed_at":"2024-12-16T19:57:27.342Z","dependency_job_id":"66c501a4-cd25-4839-9184-814df728e95c","html_url":"https://github.com/WLJSTeam/wolfram-js-frontend","commit_stats":null,"previous_names":["wljsteam/wolfram-js-frontend"],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WLJSTeam%2Fwolfram-js-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WLJSTeam%2Fwolfram-js-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WLJSTeam%2Fwolfram-js-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WLJSTeam%2Fwolfram-js-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WLJSTeam","download_url":"https://codeload.github.com/WLJSTeam/wolfram-js-frontend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253181436,"owners_count":21866993,"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":["computational-science","gui","interactive-visualizations","javascript-project","mathematica","notebook","plotting","wolfram-language"],"created_at":"2025-05-09T03:02:17.853Z","updated_at":"2025-05-09T03:02:21.782Z","avatar_url":"https://github.com/WLJSTeam.png","language":"HTML","funding_links":["https://github.com/sponsors/JerryI","https://github.com/sponsors/KirillBelovTest","https://www.paypal.com/donate/?hosted_button_id=BN9LWUUUJGW54"],"categories":["HTML"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eOpen-Source Notebook Interface for Wolfram Language\u003c/h1\u003e\n\u003ch2 align=\"center\"\u003eNext-Gen Digital Notebook for Physics, Math, and Data Science\u003c/h2\u003e\n\nIt is the first open-source solution featuring true 2D math input combined with powerful syntax sugar and the fastest granular interactive evaluation engine, making it ideal for advanced mathematical workflows, scientific computing, and data exploration.\n\n![Preview](imgs/Toster.png)\n\n\u003cdiv align=\"center\"\u003e\n  \u003cb style=\"color: var(--ifm-link-color);\"\u003e\n    WLJS Notebook is an interactive computing platform, web-based environment for running Wolfram Language (WL) scripts, Javascript. A lightweight, cross-platform alternative to Mathematica, built using open-source tools and the free Wolfram Engine.\n  \u003c/b\u003e\n\u003c/div\u003e\n\n\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"https://wljs.io/\"\u003eOverview 🚀\u003c/a\u003e \u0026nbsp;\u0026nbsp; \n  \u003ca href=\"https://wljs.io/wljs-demo\"\u003eOnline demo 📺\u003c/a\u003e\n\u003c/h3\u003e\n\nThe notebook combines live code in WL, JS, Mermaid and many more, GUI blocks for user input, equations, narrative text, visualizations, interactive widgets.\n\n\n\u003cdiv class=\"note\"\u003e\n  \u003cp\u003e\n    WLJS Notebook is \u003cb\u003efree software\u003c/b\u003e based on the Wolfram Engine.\n  \u003c/p\u003e\n  \u003cp\u003e\n    You don’t need Mathematica installed to use WLJS Notebook. \u003cb\u003eNo subscription required\u003c/b\u003e—just a one-time registration at \u003cem\u003ewolfram.com\u003c/em\u003e for personal use.\n  \u003c/p\u003e\n  \u003cp\u003e\n    See the \u003ca href=\"https://www.wolfram.com/legal/terms/wolfram-engine.html\"\u003elicense agreement\u003c/a\u003e for details.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n__Developed through the collaboration of physicists and programmers. Designed for real-world applications in science ⚗️, math 🧮, and education 📚.__  \n\n## Resources\n\n- **[Documentation \u0026 Tutorials](https://wljs.io/)** 📔\n- **[Wolfram Language Introduction](https://www.wolfram.com/language/elementary-introduction/3rd-ed/01-starting-out-elementary-arithmetic.html)** 🐺\n- **[Freeware Wolfram Language](https://www.wolfram.com/engine/)**\n- **[Github Discussions](https://github.com/JerryI/wolfram-js-frontend/discussions)** 💬\n- **[Telegram Support Chat](https://t.me/wljs_support)** 🐴\n\n**Recommended [Wolfram Engine](https://www.wolfram.com/engine/): Version 13.3 or higher**\n\n\u003e The algorithms, functions, and other components of the Wolfram Language provided by the Wolfram Engine are the intellectual property of Wolfram Research, Inc.\n\n## We need your support\nAs an independent open-source project, we’re unaffiliated with Wolfram or any company. Your support keeps this project alive:\n\n- [ ] +1 ⭐️ on this Github repo\n- [ ] Share it with your colleague\n- [ ] [Buy us a coffee](https://wljs.io/sponsorship) ☕️\n\n## Showcase\n\n### **[Blog Posts](https://wljs.io/blog)** 🔗\nPages featuring real-world problems solved using WLJS Notebook, published as interactive notebooks running in your browser.\n\n### **[WLJS Notebook Demonstration Project](https://wljs.io/wljs-demo)** 🔗\nNotebooks presented as static web pages showcasing various examples demonstrating the power of Wolfram Language and our frontend.\n\n## Highlights\n\n### Not Just Another Jupyter-Like Notebook 🧨\nBlazing-fast dynamics, GUI components, and powerful Mathematica syntax enhancements out of the box.\n\n![alt text](imgs/Isingspins-ezgif.com-optipng.png)\n\n- No more static pre-rendered graphics! Most native Mathematica plotting functions are supported.\n- Optimized for real-time dynamics and interactivity.\n\n![Dynamic Plots](imgs/manipulatePlot-ezgif.com-optimize.gif)\n\n![Dynamic Plots](imgs/DynamicsFast-ezgif.com-optimize.gif)\n\n![High-Performance Rendering](imgs/flowerPot-ezgif.com-video-to-gif-converter.gif)\n\n\u003e The entire scene above is generated on the Wolfram Kernel and streamed to WebGL buffers via low-latency binary sockets.\n\n[🔗 Interactive Fluid Simulation](https://wljs.io/blog/2024/08/18/fluid-1)\n\n![Fluid Simulation](./imgs/fuid.webp)\n\n### Command Palette \u0026 GUI-in-Code Emulation 🎨\n### Native Math Input/Output in the Code Editor 🧮\nWrite beautiful equations directly within normal Wolfram Language expressions.\n\n![Math Input](imgs/ezgif.com-math-1.gif)\n\n🎹 __No need to lift your fingers from the keyboard__\n\n![Math Input](imgs/ezgif.com-math-2.gif)\n\n### Editable Output Cells \u0026 Advanced Shortcuts\n- `Alt+2`, `Cmd+2`: Toggle input cell visibility\n- `Ctrl+/`: Create a fraction from selection\n- `Ctrl+6`: Create superscript from selection\n- `Ctrl+2`: Create square root from selection\n- `Ctrl+-`: Create subscript from selection\n\nOr use toolboxes for complex structures like integrals, summations, and Greek letters.\n\n#### Rich Command Palette\n\n![Command Palette](https://github.com/JerryI/wolfram-js-frontend/assets/4111822/5f24d9d2-bd36-40df-85c8-c50cbc37a8cd)\n\n### Integrate Your Favorite JavaScript Libraries\nExtend your data visualization capabilities with JavaScript integrations.\n\n![JS Libraries](./imgs/libJS-ezgif.com-optimize.gif)\n\n### Share Interactive Notes Effortlessly\n- __Write once, use forever__\n- No breaking changes upon updates\n- Keep all dependencies within your notebook\n- No CDNs, no external libraries, no WRI services\n\n#### Export to HTML/Markdown/MDX 🗜️\nExport entire notebooks as standalone `.html` files, retaining all embedded data—no internet required for viewing.\n\n![HTML Export](https://github.com/JerryI/wolfram-js-frontend/assets/4111822/855bae87-b8e2-4f3a-bfaa-d64e7c50f71e)\n\n## Installation 🛠️\n\n### **Wolfram Engine**\n[Download Wolfram Engine](https://www.wolfram.com/engine/) (Version 13.3+ recommended). Activation is required after installation.\n\n#### Tested\n- Wolfram Engine 13.1 (no copilot)\n- Wolfram Engine 13.2 (no copilot)\n- Wolfram Engine 13.3 (no copilot)\n- Wolfram Engine 13.4 (no copilot)\n- Wolfram Engine 14.0\n- Wolfram Engine 14.1\n- Wolfram Engine 14.2\n\n**macOS Installation via Homebrew:**\n```shell\nbrew install --cask wolfram-engine\n```\n\n### **WLJS Notebook App ✨**\nDownload from the **[releases](https://github.com/JerryI/wolfram-js-frontend/releases)** section.\n\n#### CLI Installation\nWLJS Notebook provides a CLI tool. You can open a folder in WLJS Notebook with:\n```bash\nwljs .\n```\n\n#### URL Protocol Registration\nWLJS Notebook registers the `wljs-message` URL protocol, allowing you to open published notebooks directly from web pages.\n\n### **Windows Installation**\nUse the `.exe` installer from the releases page.\n\n### **GNU/Linux Installation**\n#### Using `deb` Package\n```bash\nsudo apt install ./wljs-notebook.deb\n```\nFor Ubuntu 24.04, disable AppArmor restrictions:\n```bash\nsudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0\n```\n\n### **Running on a server**\nClone this repository\n\n```bash\ngit clone https://github.com/JerryI/wolfram-js-frontend\ncd wolfram-js-frontend\nwolframscript -f Scripts/start.wls\n```\n\n#### Docker Image\n*contributed by [@yloose](https://github.com/yloose)*\n\nSee [instructions here](./container/README.md)\n\n```bash\ndocker run -it \\\n  -v wljs_data:/wljs \\\n  -v ~/wljs:\"/home/wljs/WLJS Notebooks\" \\\n  -v ~/wljs/Licensing:/home/wljs/.WolframEngine/Licensing \\\n  -e PUID=$(id -u) \\\n  -e PGID=$(id -g) \\\n  -p 8000:3000 \\\n  --name wljs \\\n  ghcr.io/jerryi/wolfram-js-frontend:main\n```\n\nThen open `http://127.0.0.1:8000`\n\n\n## **Technology Stack**\n**Languages:** Wolfram Language, HTML, CSS, JavaScript, C\n\n## **License**\nGNU GPLv3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWLJSTeam%2Fwolfram-js-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWLJSTeam%2Fwolfram-js-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWLJSTeam%2Fwolfram-js-frontend/lists"}