Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

๐Ÿ“ Linear Text

Linear Text is a graphical line-oriented text editor. See and in-editor help for user-facing documentation.

โš ๏ธ Linear Text is in early development, may lose data, and is not ready for evaluation.

Release Notes and Roadmap

See the changelog for past releases. Future work is loosely planned under docs/to-do-*.txt.


Quick Start

npm i && npm start


The following NPM scripts are provided:

  • install / i: Install package dependencies.
  • start: Execute the editor in development mode.
  • test / t: Build the editor and execute all tests.
  • run test:unit: Execute unit tests. Pass -u to update all Jest snapshots.
  • run format: Apply lint fixes automatically where available.
  • run build: Build the editor.
  • version: Increment the editor package version.


Translations for each locale are extracted and compiled to src/locales by executing npx lingui extract && npx lingui compile. See npx lingui --help, Lingui, and the config.


  • BEM CSS naming conventions are used.
  • User documentation lives in-editor for offline access. Developer documentation lives in repo. is only for brief introduction and demonstration.

ยฉ oidoid.


This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see

โ”‚  โ”‚โ”‚โ”‚ โ”‚โ”‚ โ”‚โ”‚โ”‚ โ”‚