Highly configurable web-based text editor based on codemirror primarily designed for editing markdown, LaTeX, and html files with live-updating html and pdf previews.
However, it can be used to edit other plain text files as well, including subsidiary files (css, javascript, csv, json, pandoc templates, etc.) and see their effects live-update in their chosen root markdown/LaTeX/html document. The default configuration uses pandoc for markdown conversions, but it can be configured to use other tools.
It was created to be used for the Open Guide Typesetting Framework, though could be used independently.
The project is young, but it has recently gotten to the stage where it might be usable by others, but not much testing has been done.
If you would like to try out OGE without installing it on your own computer or server, email me and let me know.
Here is a short video showing what OGE looks like and how it works overall.
open-guide-editor-demonstration.mp4
Documentation for the project is broken down into four separate files. They independently cover:
-
Basic editor usage, including panel buttons and key-bindings
-
Configuring the editor’s settings and the commands used for processing and previewing
-
The security model for granting or denying access to editing files remotely
These are available in the doc/
subdirectory, or by clicking the links above.
- implement authentication model for who is allowed to edit which files
- implement basic codemirror v6 editor with top panel
- allow saving
- allow opening new files
- allow toggling wrap/nowrap
- find/replace panel
- piping selection to unix tools on server
- good keybindings
- auto-comment/uncomment
- implement autosaving with configurable timer
- provide generic mechanisms for autopreview depending on input filetype
- support markdown as input
- preview html
- preview pdf
- speak aloud
- download ePub
- implement api for adding citations
- good documentation
- initial todo on readme
- basic usage, buttons and keybindings
- custom settings
- installation locally
- server installation
- security model
- support LaTeX as input (other things require this problem be fixed)
- smart quotes
- error reports
- preview pdf
- synctex support
- support html as input
- preview (itself)
- templates (through CLI script only at present)
- edit supplementary files with preview
- proper syntax highlighting for type of file (partial)
- css/svg for html/markdown
- latex package, bibtex database or included file
- provide git integration
- doing a commit
- revert to earlier commit
- more?
- symbol picker
- “Fregeifier” integration
- spellcheck through browser’s native spellcheck
- simple jump marks
- swap out custom dialogs with codemirror panels (mostly done, could do more)
- probably unimportant things
- support other color schemes
- make find button grayed out when search panel inactive
- word-processor-like interface for bold, italics, quotes, etc.
- long term pipe dreams (?)
- split panels
- linting
- LSP integration
- collaborative editing
This is a sequel to, and supersedes, my earlier K(ev)E(dit) editor. I have also written a lua neovim plugin that provides similar functionality, KNAP (Kevin’s Neovim Auto-Previewer).
Copyright 2023 © Kevin C. Klement. This is free software, which can be redistributed and/or modified under the terms of the GNU General Public License (GPL), version 3.