All Projects → GitbookIO → Markup It

GitbookIO / Markup It

JavaScript library to parse and serialize markup content (Markdown and HTML)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Markup It

Canner Slate Editor
📝Rich Text / WYSIWYG Editor built for Modularity and Extensibility.
Stars: ✭ 1,071 (+342.56%)
Mutual labels:  slate, markdown, wysiwyg
Wysiwyg.css
A tiny CSS for generated HTML or Markdown content
Stars: ✭ 665 (+174.79%)
Mutual labels:  markdown, wysiwyg
Slate Plugins
🔌 Next-gen slate plugins
Stars: ✭ 399 (+64.88%)
Mutual labels:  slate, wysiwyg
Slate Edit Code
A Slate plugin for code block editing
Stars: ✭ 44 (-81.82%)
Mutual labels:  slate, wysiwyg
remark-slate-transformer
remark plugin to transform remark syntax tree (mdast) to Slate document tree, and vice versa. Made for WYSIWYG markdown editor.
Stars: ✭ 62 (-74.38%)
Mutual labels:  wysiwyg, slate
Re Editor
一个开箱即用的React富文本编辑器 🚀re-editor
Stars: ✭ 367 (+51.65%)
Mutual labels:  slate, wysiwyg
Text
📑 Collaborative document editing using Markdown
Stars: ✭ 282 (+16.53%)
Mutual labels:  markdown, wysiwyg
Press
Cross-platform markdown editor written in Kotlin Multiplatform (work in progress)
Stars: ✭ 1,748 (+622.31%)
Mutual labels:  markdown, wysiwyg
Slate Edit Table
Slate plugin for table edition
Stars: ✭ 97 (-59.92%)
Mutual labels:  slate, wysiwyg
Balsa
This repository holds source code of Balsa, a self hosted, privacy focused knowledgebase.
Stars: ✭ 93 (-61.57%)
Mutual labels:  markdown, wysiwyg
svelte-slate
slate svelte view layer
Stars: ✭ 43 (-82.23%)
Mutual labels:  wysiwyg, slate
Tui.editor
🍞📝 Markdown WYSIWYG Editor. GFM Standard + Chart & UML Extensible.
Stars: ✭ 14,016 (+5691.74%)
Mutual labels:  markdown, wysiwyg
Django Markdown Editor
Awesome Django Markdown Editor, supported for Bootstrap & Semantic-UI
Stars: ✭ 423 (+74.79%)
Mutual labels:  markdown, wysiwyg
Hypermd
A WYSIWYG Markdown Editor for browsers. Break the Wall between writing and previewing.
Stars: ✭ 1,258 (+419.83%)
Mutual labels:  markdown, wysiwyg
Rich Markdown Editor
The open source React and Prosemirror based markdown editor that powers Outline. Want to try it out? Create an account:
Stars: ✭ 2,468 (+919.83%)
Mutual labels:  markdown, wysiwyg
Vditor
♏ 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏预览模式。An In-browser Markdown editor, support WYSIWYG (Rich Text), Instant Rendering (Typora-like) and Split View modes.
Stars: ✭ 3,773 (+1459.09%)
Mutual labels:  markdown, wysiwyg
Google Docs Publisher
Publish good looking Google Docs
Stars: ✭ 230 (-4.96%)
Mutual labels:  wysiwyg
Slate Collaborative
slatejs collaborative plugin & microservice https://slate-collaborative.herokuapp.com/
Stars: ✭ 236 (-2.48%)
Mutual labels:  slate
Cwac Anddown
CWAC AndDown: Markdown Utility Library
Stars: ✭ 230 (-4.96%)
Mutual labels:  markdown
Frontmatter Markdown Loader
📝 Webpack Loader for: FrontMatter (.md) -> HTML + Attributes (+ React/Vue Component)
Stars: ✭ 228 (-5.79%)
Mutual labels:  markdown

markup-it

Build Status NPM version

markup-it is a JavaScript library to serialize/deserialize markdown content using an intermediate format backed by an immutable model.

Installation

$ npm i markup-it --save

or

$ yarn add markup-it

Usage

Parse markdown

const { State, MarkdownParser } = require('markup-it');

const state = State.create(MarkdownParser);
const document = state.deserializeToDocument('Hello **World**');

Render document to HTML

const { State, HTMLParser } = require('markup-it');

const state = State.create(HTMLParser);
const str = state.serializeDocument(document);

Render document to Markdown

const { State, MarkdownParser } = require('markup-it');

const state = State.create(markdown);
const str = state.serializeDocument(document);

ES6

markup-it is ESM compliant through the package.json module field, so you can safely use it with ES6 syntax for tree-shaking.

import { State, HTMLParser } from 'markup-it';

const state = State.create(HTMLParser);
const str = state.serializeDocument(document);

Testing

There are many scripts available in the /bin folder to output an HTML or Markdown file to multiple formats (HTML, Hyperscript, JSON, Markdown, YAML).

These scripts can be called with babel-node, for example:

babel-node bin/toJSON.js ./page.md
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].