Skip to content
/ leo-web Public

Leo-Web brings the power of the Leo Editor to the browser.

Notifications You must be signed in to change notification settings

boltex/leo-web

Repository files navigation

Leo Web Editor

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.

About

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.

Limitations

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.

Current Features

  • 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

Not Yet Implemented

  • Find/replace functionality

Contributing

Prerequisites

  • Node.js (version 14 or higher)
  • npm or yarn

Build

  1. Clone the repository
  2. Install dependencies:
    npm install

Development

Start the development server:

npm run dev

or, to also automatically open a browser loading the app

npm start

This will start the webpack dev server and automatically open the application in your browser at http://localhost:8080.

Building for Production

Build the application for production:

npm run build

The built files will be in the dist/ directory.

Other Scripts

  • npm run type-check - Run TypeScript type checking without building
  • npm run clean - Clean the dist directory

Other Leo Editor implementations

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.

Acknowledgments

See Leo, the Literate Editor with Outline, at leo-editor.github.io/leo-editor or on github.

Special Thanks to

All who have participated, no matter how small or big the contribution, to the creation of the original Leo Editor!

🤍 To sponsor, donate or contribute see my user page 🦁

About

Leo-Web brings the power of the Leo Editor to the browser.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages