, 2 min read

StackEdit: A Markdown Editor

Original post is here eklausmeier.goip.de/blog/2021/09-19-stackedit-a-markdown-editor.


StackEdit is a Markdown editor, which runs in the browser, but stores files locally. The following features characterize StackEdit:

  1. Markdown and corresponding HTML are fully in sync and visible on the same screen. Changing Markdown will instantly change the HTML. StackEdit calls it "Scroll Sync".
  2. StackEdit can save its files locally, or to Dropbox, Google drive, GitLab, or GitHub.
  3. GitHub flavored Markdown is supported, i.e., tables.
  4. StackEdit supports MathJax and Mermaid out of the box. So you can type math formulas, and Mermaid helps with charting pie- or Gantt diagrams. It also supports musical notation in ABC-format, unfortunately no LilyPond-format.

It therefore fits nicely into the workflow with a static site generator. In this setting it is called "headless CMS".

Below is this post in StackEdit:

In the case of Saaze, one writes the content with a "normal" editor, e.g., vi, neovim, or Geany, then saves the content and looks at the output of

php -S 0:8000 -t $HOME/saaze/public

Above command is basically all what php saaze serve does. With StackEdit saving and switching to a browser now becomes less often, as StackEdit has the HTML output readily available.

Firefox stores its local StackEdit files in SQLite database, because Firefox stores so called "Local Storage" in SQLite. In contrast, Google Chrome stores this in LevelDB format.

Browser OS format location
Firefox Windows SQLite %APPDATA%\Mozilla\Firefox\Profiles\<random>.default-release\webappsstore.sqlite
Chrome Windows LevelDB %LocalAppData%\Google\Chrome\User Data\Default\Local Storage\
Firefox Linux SQLite $HOME/.mozilla/firefox/<random>.default-release/webappsstore.sqlite
Chromium Linux LevelDB $HOME/.config/chromium/Default/Local Storage
Brave Linux LevelDB $HOME/.config/BraveSoftware/BraveBrowser/Default/Local Storage

Added 09-Jan-2022: An alternative to StackEdit is CuteMarkEd-NG. It uses Qt5 for the GUI. It is based on MD4C, the same Markdown library which is used in Simplified Saaze. unfortunately CuteMarkEd-NG does not support MathJax. Similar to CuteMarkEd-NG there is a software called QOwnNotes.