All Projects → k55k32 → markdown-it-editor

k55k32 / markdown-it-editor

Licence: other
a markdown rich text editor base on markdown-it and vue2

Programming Languages

javascript
184084 projects - #8 most used programming language
Vue
7211 projects
HTML
75241 projects

Projects that are alternatives of or similar to markdown-it-editor

mead
Mead - Dead simple markdown editor for Windows, Linux and Mac
Stars: ✭ 20 (-66.1%)
Mutual labels:  markdown-editor
rich input
Rich input box, implement @Someone and subject with color highlighting
Stars: ✭ 58 (-1.69%)
Mutual labels:  rich
notoma
Use Notion as your blogging editor, with any static gen blog engine. Notoma converts Notion pages to Markdown files.
Stars: ✭ 40 (-32.2%)
Mutual labels:  markdown-editor
v-markdown-editor
Vue.js Markdown Editor component
Stars: ✭ 101 (+71.19%)
Mutual labels:  markdown-editor
JMarkPad
Minimalistic markdown editor with real-time preview
Stars: ✭ 32 (-45.76%)
Mutual labels:  markdown-editor
MarkdownIt
Efficient Code Editor to live render Markdown and save as Markdown,Html and Pdf with Instant Hosting in The Web.
Stars: ✭ 31 (-47.46%)
Mutual labels:  markdown-editor
wizard
🍳Wizardoc is a WEBAPP for managing documents and knowledge.
Stars: ✭ 57 (-3.39%)
Mutual labels:  markdown-editor
nice-mark
一款基于electron的markdown编辑器
Stars: ✭ 21 (-64.41%)
Mutual labels:  markdown-editor
markdown-rs
Simple Markdown editor
Stars: ✭ 47 (-20.34%)
Mutual labels:  markdown-editor
graphite
✍️ A local-first Markdown note-taking app built with Vue.js, Tailwind CSS, and Electron.
Stars: ✭ 17 (-71.19%)
Mutual labels:  markdown-editor
cnblogs-mdEditor
一个chrome插件,为了改善博客园markdown编辑器
Stars: ✭ 33 (-44.07%)
Mutual labels:  markdown-editor
MarkDEditor
A WYSIWYG MarkDown editor for Android.
Stars: ✭ 76 (+28.81%)
Mutual labels:  markdown-editor
PandaNote
iOS markdown Note App / iOS的markdown笔记应用
Stars: ✭ 32 (-45.76%)
Mutual labels:  markdown-editor
octo
Build your knowledge base
Stars: ✭ 252 (+327.12%)
Mutual labels:  markdown-editor
rich
Rich is a Python library for rich text and beautiful formatting in the terminal.
Stars: ✭ 36,988 (+62591.53%)
Mutual labels:  rich
eMarkDown
✨ Markdown Desktop App with Cloud Sync. MarkDown云笔记软件
Stars: ✭ 25 (-57.63%)
Mutual labels:  markdown-editor
fluence
WYSIWYG wiki powered by Crystal, markdown, and Git
Stars: ✭ 44 (-25.42%)
Mutual labels:  markdown-editor
nwotable
One app for all your notes on all your devices.
Stars: ✭ 22 (-62.71%)
Mutual labels:  markdown-editor
stylo
Stylo est un éditeur de textes pour articles scientifiques en sciences humaines et sociales.
Stars: ✭ 29 (-50.85%)
Mutual labels:  markdown-editor
BoostNote.next-local
Boost Note next local spaces is lightspeed workspace for developers
Stars: ✭ 89 (+50.85%)
Mutual labels:  markdown-editor

markdown-it-editor

A Vue.js 2.0 Markdown Rich Text Editor @Github

preview-image

install

npm i markdown-it-editor -S

Quick Start

use .vue template

<template>
<div id="app">
  <markdown-editor v-model="content"></markdown-editor>
</div>
</template>

<script>
import { MarkdownEditor } from 'markdown-it-editor'
import hljs from 'highlightjs' // have to npm install highlight
import 'highlightjs/styles/github.css'  

export default {
  components: { MarkdownEditor },
  data () {
    return {
      content: 'hello world',
      options: {
        highlight (str, lang) { // you can add highlightjs plugin to highlight your code
          if (lang && hljs.getLanguage(lang)) {
            try {
              return hljs.highlight(lang, str).value
            } catch (__) {}
          }
          return ''
        }
      }
    }
  }
}
</script>

<style lang="css">
#app{
  width: 100vw;
  height: 100vh;
}
</style>

You can also use that in native javascript. In this way you have to include vuejs @Demo

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <!-- markdown editor style -->
    <link rel="stylesheet" href="../lib/index.css">
  </head>
  <body>
    <div id="app">
      <markdown-editor v-model="content"></markdown-editor>
    </div>
  </body>
  <!-- vuejs -->
  <script src="//cdn.bootcss.com/vue/2.1.4/vue.min.js"></script>
  <!-- markdown editor component -->
  <script src="../lib/index.js"></script>
  <script type="text/javascript">
    var vue = new Vue({
      el: '#app',
      data: { content: '# hello world' }
    })
  </script>
</html>

Component Attributes

param description type default
v-model bind-textarea's values String null
options the markdown-it render options Object see details
upload image upload config Object see details
z-index when full screen the editor z-index style number 1
height editor height style string,number stirng: 50vh

Events

all event if return false, the default function will not execute

name description param
custom-upload defautl upload function use html5's window.FormData implement.You can replace other implement upload input's dom
upload-success default upload function success event the server return value like xhr.responseText
upload-error when the upload faild event XMLHttpRequest object
uploading upload on progress event { loaded: number, total: number }

Params Default Value

options

{
    // markdown-it options @more-see
    // https://github.com/markdown-it/markdown-it#init-with-presets-and-options
    html:         true,        // Enable HTML tags in source
    xhtmlOut:     false,        // Use '/' to close single tags (<br />).
                                // This is only for full CommonMark compatibility.
    breaks:       true,        // Convert '\n' in paragraphs into <br>
    langPrefix:   'language-',  // CSS language prefix for fenced blocks. Can be
                                // useful for external highlighters.
    linkify:      false,        // Autoconvert URL-like text to links

    // Enable some language-neutral replacement + quotes beautification
    typographer:  false,

    // Double + single quotes replacement pairs, when typographer enabled,
    // and smartquotes on. Could be either a String or an Array.
    //
    // For example, you can use '«»„“' for Russian, '„“‚‘' for German,
    // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp).
    quotes: '“”‘’',

    // Highlighter function. Should return escaped HTML,
    // or '' if the source string is not changed and should be escaped externaly.
    // If result starts with <pre... internal wrapper is skipped.
    highlight: function (/*str, lang*/) { return ''; },

    // Plugins. Should be an array of the plugin functions imported even if its just one plugin.
    plugins: [require('markdown-it-anchor'), require('markdown-it-deflist')]
}

upload

allow you paste the image to the editor

{
    // defualt form upload name
    name: 'file',  
    // default upload accept  
    // @like <input type = 'file' accept='image/jpg,image/jpeg,image/png'/>
    accept: 'image/jpg,image/jpeg,image/png',

    // your  file upload url
    //if url == null or other params 'false' the upload button will hidden
    url: null, // your upload url

    header: {'Authorization': 'you code'}
}
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].