Dependency-free WYSIWYG markdown/html editor
Zero-dependency WYSIWYG markdown editor for the browser, extracted from the ttfrog wiki engine. Initial commit. |
||
|---|---|---|
| src | ||
| test | ||
| .gitignore | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
ribbit
Zero-dependency WYSIWYG markdown editor
Files
src/hopdown.js— Markdown ↔ HTML converter (HopDown.toHTML(),HopDown.toMarkdown())src/ribbit.js— Base viewer class (Ribbit), plugin base class (RibbitPlugin), utilitiessrc/ribbit-editor.js— Editor class (RibbitEditor) with VIEW/EDIT/WYSIWYG modessrc/ribbit.css— Editor and content styles
Usage
<link rel="stylesheet" href="ribbit/src/ribbit.css">
<article id="ribbit">your markdown here</article>
<script src="ribbit/src/hopdown.js"></script>
<script src="ribbit/src/ribbit.js"></script>
<script src="ribbit/src/ribbit-editor.js"></script>
<script>
const editor = new RibbitEditor({ plugins: [] });
editor.run();
// Switch modes
editor.wysiwyg(); // WYSIWYG editing
editor.edit(); // Source editing
editor.view(); // Read-only view
// Get content
editor.getMarkdown();
editor.getHTML();
</script>
Supported Markdown
Bold, italic, inline code, links, headings (h1-h6), unordered/ordered/nested lists, blockquotes, fenced code blocks with language, horizontal rules, GFM tables with column alignment, and paragraphs. Arbitrary nesting of all inline formatting.
Tests
Open test/test_ribbit-down.html in a browser.