Skip to content

Web based editor based on codemirror for editing markdown and LaTeX files with live updating HTML and PDF previews

License

Notifications You must be signed in to change notification settings

frabjous/open-guide-editor

 
 

Repository files navigation

Open Guide Editor (OGE): PHP Branch

Note on Major Version Change

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.

Overview

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.

Demonstration

Here is a short video showing what OGE looks like and how it works overall.

open-guide-editor-demonstration.mp4

Documentation

Documentation for the project is broken down into four separate files. They independently cover:

These are available in the doc/ subdirectory, or by clicking the links above.

TODO (as of when the PHP branch was abandoned)

  • 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

Trivia

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).

License

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.

About

Web based editor based on codemirror for editing markdown and LaTeX files with live updating HTML and PDF previews

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published