A browser-based version of the Leo Editor.
Leo is a fundamentally different way of using and organizing data, programs and scripts. 📺 Introduction Video
See Leo, the Literate Editor with Outline, at leo-editor.github.io/leo-editor or on github.
This project is a TypeScript implementation that brings the Leo Editor experience to the web. (Scriptable in either Javascript or Typescript) It uses the browser's File System API for local file access.
For other usage scenarios, see other Leo implementations for versions that support online repositories, or integrated as VSCode extensions.
- To keep Leo-Web light and fast, it does not support .db files.
- Running in the browser, leo scripts cannot launch OS shell commands.
- Absolute paths are not supported with the browser's file API. Use relative paths exclusively for external files.
Ctrl+TAB,Ctrl+NandCtrl+Tare reserved by the browser for opening new windows or tabs.- There is a single log pane, shared across opened leo documents.
- Implementation of the outline, log, settings, and find UI panes
- Leo's core exposed through the menu, keybindings, and context menus
- Multi-document support with tabbed interface
- Theme and layout customization
- Drag-to-resize panes with persistent preferences
- Nav pane
- @button pane
- Undo history pane
- Node.js (version 14 or higher)
- npm or yarn
- Clone the repository
git clone https://github.com/boltex/leo-web.git- Install dependencies
npm installStart the development server:
npm run devor, to also automatically open a browser loading the app
npm startThis will start the webpack dev server and automatically open the application in your browser at http://localhost:8080.
Build the application for production:
npm run buildThe generated files will be in the dist/ directory.
npm run type-check- Run TypeScript type checking without buildingnpm run clean- Clean the dist directory
To instead work with files directly inside online repositories, such as on GitHub and Azure-Repos, use the LeoJS VSCode extension within VSCode for the web. (It also can run in the desktop version of VSCode for local file editing)
To work with the original Python implementation of Leo integrated into VSCode, use the LeoInteg VSCode extension.
See Leo, the Literate Editor with Outline, at leo-editor.github.io/leo-editor or on github.
All who have participated, no matter how small or big the contribution, to the creation of the original Leo Editor!