As of version 0.2.0, OGE has changed from using a php server backend to using a router written for an ExpressJS server or compatible javascript runtime server app. In the recent versions, both server-side and browser-side code is all javascript.
You are currently viewing documentation for the older php branch. This branch of the repo retains the php code, and may continue to be used for those making use of php-servers. However, as the code is almost wholly different, new features added to the main branch will not be merged back into this branch (at least not by me).
Please check out the main branch to see its corresponding documentation.
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.
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.