DEV Community

Cover image for Markdown Editor Reactjs
GiandoDev
GiandoDev

Posted on

7 1

Markdown Editor Reactjs

First I want to thank @chrisoncode that created the beautiful course 20reactapps where I’m learning a lot by doing.

DEMO

In your CLI run this πŸ™‚:
Alt Text

After write some Css in your index.css:

@import url('https://fonts.googleapis.com/css2?family=Bellota:ital,wght@1,700&display=swap');

body {
    background: #e8eaf1;
    font-family: 'Bellota', cursive;
}

.app {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 15px;
}

textarea {
    background: #eff1f5;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0  1px 2px 0 rgba(0, 0, 0, 0.06);
    outline: none;
    border: none;
    border-radius: 5px;
    padding: 20px;
    font-size: 22px;
}

.preview  {
    padding-left: 20px;
    padding-right: 20px;
}

blockquote {
    font-size: 30px;
    background: #efefef;
    border-left: 12px solid rgb(44, 163, 241);
    padding: 20px 30px;
    border-radius: 5px;
    margin: 0;
}
Enter fullscreen mode Exit fullscreen mode

Now install react-markdown
in your CLI (I use yarn but also npm is fine):
Alt Text
And last but not least compile our index.js file like this:

import React, {useState} from 'react'
import ReactMarkdown from "react-markdown";
import ReactDOM from 'react-dom'
import './index.css'


function MarkdownEditor() {
    const [markdown, setMarkdown] = useState('')

    function handleChange(e) {
        setMarkdown(e.target.value)
    }

    return (
        <div className='app'>
            <textarea
                onChange={handleChange}
                value={markdown}
            />
            <ReactMarkdown className="preview" source={markdown}  />
        </div>

    )
}

ReactDOM.render(<MarkdownEditor/>, document.querySelector('#root'))

Enter fullscreen mode Exit fullscreen mode

Our markdown editor is now ready. Have fun πŸ™‚!

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (1)

Collapse
 
petereasterbro1 profile image
Peter β€’ β€’ Edited

Greetings Giando,
I just ran your Markdown app with great interest though not all of the "traditional" options seem to be available.
i.e.:
Text Decoration Types:
Italic
Bold
Bold & Italic
Did I miss something?

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free β†’

πŸ‘‹ Kindness is contagious

Please leave a ❀️ or a friendly comment on this post if you found it helpful!

Okay