DEV Community

Cover image for MarkdownX Editor πŸŽ‰
Bobby Iliev
Bobby Iliev

Posted on • Originally published at devdojo.com

MarkdownX Editor πŸŽ‰

Our MarkdownX editor is officially live and available on the DevDojo. It's also available for you to use in your TallStack applications 🍻.

If this is your first time hearing about the MarkdownX Editor, continue reading to learn more about how it can make writing in Markdown easier and more fun than ever before.

MarkdownX become top 4 product of the day on ProductHunt 😻

What is MarkdownX

MarkdownX is like a <textarea> element with super powers ✨. It is a text editor with a beautiful interface that makes it easy for users to write in Markdown. The component has a pretty sweet dropdown that allows you to easily upload images, add lists, embed videos, and so much more!

A month ago we posted a tweet about a new editor we were building and it got a pretty huge response with nearly 500 likes and 50 retweets 🀯

tweet-md.png

That set things in motion and we started working on a version that could be used with any Tallstack application. πŸ™Œ.

I'll show you the steps below πŸ‘‡ on how to install this in a new Tallstack app.

1. πŸ”§ Create a new Laravel App

The first step is creating a new Laravel application. If you already have an existing Tallstack application, you can skip ahead to step 3.

laravel new mdx
Enter fullscreen mode Exit fullscreen mode

In this example, I'll install a new laravel app in a folder named mdx.

Then, go into that directory cd mdx, and we can move to the next step.

2. πŸ”© Installing the Tallstack Pre-set

The Tallstack preset allows us to add TailwindCSS, Alpine, and Livewire in our new application with a few simple commands. You can find that preset here: https://github.com/laravel-frontend-presets/tall.

Let's run those commands in our new application:

composer require livewire/livewire laravel-frontend-presets/tall
php artisan ui tall
npm install
npm run dev
Enter fullscreen mode Exit fullscreen mode

After we have run those commands, we should be able to visit our new site:

tallstack-preset.png

And we should have a new Tallstack application in front of us.

note: if you get an application key error, you may also need to run php artisan key:generate.

Next up, we'll be moving the component files to our new application.

3. 🧩 Adding the MarkdownX Editor

Adding this component to your project is literally as easy as 1, 2, 3. Because that's how many files the MarkdownX editor includes. Here are those files:

  1. Controller - app/Http/Livewire/MarkdownX.php
  2. View - resources/views/livewire/markdown-x.blade.php
  3. Config - config/markdownx.php

After downloading a copy of the latest MarkdownX editor, you will need to move those files πŸ‘† to their appropriate location in your Laravel application.

Note: make sure to run php artisan storage:link, if you want to test out image uploading. The MarkdownX storage uses the local public disk by default, but you can change this in the config πŸ˜‰.

After you have done this, we are now ready to test it out in our new application.

πŸ§ͺ Test out the Editor

To test the editor in our new app we are going to modify the welcome page located at resources/views/welcome.blade.php, to look like this:

@extends('layouts.app')

@section('content')
    <livewire:markdown-x />
@endsection
Enter fullscreen mode Exit fullscreen mode

If we visit our application homepage we'll see the editor in front of us 🀘.

markdown-x-editor.png

We can now drag-and-drop images, add videos, lists, and a bunch of other cool things that make writing more fun and easier than ever before.

Be sure to check out the official new landing page for MarkdownX here and the documentation here. I hope you find this component useful in your next project, and I hope you continue to build awesome stuff 🀘. See you soon!

Top comments (8)

Collapse
 
grahamthedev profile image
GrahamTheDev • Edited

Do you have an open demo (where we don't have to sign up), it would be cool to have a play without having to either install yourself or signup to anything!

p.s. the video at the bottom of the landing page goes too quick to see the features (and the intro is too long in my opinion) even before the bit where you speed it up, had to pause and check stuff out (it seems awesome!). Just a bit of feedback that I hope is useful!

Looks great!

Collapse
 
bobbyiliev profile image
Bobby Iliev

Good point! I should add a demo on the site that does not require people to sign up.

As of the time being you could only test it by signing up and then start writing a post.

You could take a look at this video demo here though:

Collapse
 
grahamthedev profile image
GrahamTheDev

Cool I will check that out properly later but I like the / system (like notion) for inserting things and the fact you have liquid tag stuff built in!

Thread Thread
 
bobbyiliev profile image
Bobby Iliev

Sounds great! Thank you πŸ™Œ

Collapse
 
nombrekeff profile image
Keff

Looks good!

Collapse
 
bobbyiliev profile image
Bobby Iliev

Thank you Keff! Appreciate this!

Collapse
 
siddharthshyniben profile image
Siddharth

"for the algo" - 4c

Collapse
 
parrycima profile image
parrycima

How can I handle image deletion? In the video, I noticed that you simply removed the path. What is the correct way to delete an image?