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 extentions.
To keep Leo-Web light and fast, it does not support .db files.
Running in the browser, it 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+N and Ctrl+T are reserved by the browser for opening new windows or tabs.
- Complete UI implementation with outline, log, settings, and find panes
- Leo's core integrated with menu system, keybindings, and mouse controls in the outline
- Full outline pane with node selection, expansion/collapse, marking, and hoisting
- Multiple document support with tabbed interface
- Theme and layout customization
- Drag-to-resize panes with persistent preferences
- Context menus and keyboard shortcuts
- Find/replace functionality
- Node.js (version 14 or higher)
- npm or yarn
- Clone the repository
- Install dependencies:
npm install
Start 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 built 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!