icewind1991 / files_markdown

Nextcloud markdown editor
GNU Affero General Public License v3.0
291 stars 27 forks source link

Nextcloud Markdown Editor

Extends Nextcloud text editing with a live preview for markdown files

Markdown Editor

Usage

Starting with Nextcloud 17, the Text app replaced the Plain text editor app. In order to use Markdown Editor, you must install and enable both it and Plain text editor.

To use Markdown Editor, simply open any file with an .md or .markdown extension.

Behaviors

dots

SCENARIO ONE

WITH MARKDOWN EDITOR, PLAIN TEXT EDITOR, AND TEXT APPS ALL ENABLED:

The Text app will still, by default, open .txt, .md, and .markdown files. However, you can override that behavior by clicking the three-dot dropdown menu for any .txt, .md, or .markdown file and choosing “Edit in plain text editor.” Using this method, Markdown Editor will open .md, and .markdown files while Plain text editor will open .txt files.

SCENARIO TWO

WITH MARKDOWN EDITOR AND PLAIN TEXT EDITOR ENABLED, BUT TEXT DISABLED:

Markdown Editor will open .md, and .markdown files while Plain text editor will open .txt files. It’s unnecessary to use the three-dot dropdown menu to invoke either.

Be aware: Disabling the Text app will also disable (but not delete) any Rich Workspace notes you may have created. These are the styled notes that appear above and before file lists. Re-enabling Text makes them visible again.

Features

Embed images and videos stored on your Nextcloud

Embed Images

Embed Videos

Use LaTeX to add math to your documents

LaTeX math

Keep track of tasks with checkbox lists

Checkbox lists

Syntax highlighting for your code

Syntax highlighting

Create graph using mermaid.js

Mermaid.js graphs

Fully rendered previews in the sidebar

Sidebar previews

Requirements

This app requires the Plain text editor app to be installed on Nextcloud 10 or higher.

Installation

Development

Markdown Editor is written in typescript. It requires nodejs and npm to build.

For development you can automatically build the project every time the source changes by running make watch.