Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Jul 09 11:01
    sauravkhdoolia commented #1480
  • Jul 09 10:41
    arteconceito commented #1480
  • Jul 07 13:29
    manishpg83 edited #1549
  • Jul 07 13:28
    manishpg83 edited #1549
  • Jul 07 13:19
    manishpg83 opened #1549
  • Jul 06 10:15
    sauravkhdoolia commented #1503
  • Jul 06 04:51
    sauravkhdoolia edited #1547
  • Jul 06 04:08
    sauravkhdoolia opened #1548
  • Jul 06 04:01
    sauravkhdoolia commented #1503
  • Jul 06 02:31
    sauravkhdoolia commented #1503
  • Jul 06 02:21
    debugd commented #1503
  • Jul 04 06:46
    sauravkhdoolia unpinned #64
  • Jul 04 00:08
    sauravkhdoolia commented #1547
  • Jul 03 17:18
    friksa commented #1547
  • Jul 03 15:27
    sauravkhdoolia opened #1547
  • Jul 03 08:54
    ledzgio commented #1503
  • Jul 02 15:11
    sauravkhdoolia commented #1415
  • Jul 02 13:30
    nmielnik commented #433
  • Jul 02 13:25
    sauravkhdoolia commented #433
  • Jul 02 13:25
    sauravkhdoolia commented #433
Nate Mielnik
you can create another custom button (like you did with the sample code you passed) and use the same default properties as the removeFormat button (
and in your handleClick method, do your custom code to remove the RTL/LTR button formatting, and then call this.execAction('removeFormat') which will do the exact same thing that the default removeFormat button would do
if you haven't seen already, the handleClick method for the default buttons is pretty straightforward
the other option is when you're instantiating your editor, you can pass an override for the removeFormat button in via the extensions options (like you're doing for all your custom buttons)
except for removeFormat, you'd just pass an object with a single handleClick method, where you can define your own custom code which would execute when that button gets clicked
Nate Mielnik
// ...
extensions: {
    'removeFormat': {
        handleClick: function (event) {

            // Do your custom stuff to remove
            // the RTL/LTR buttons here


    // your other button definitions here...
// ...
I believe either of those should work, if all your trying to do is add some extra code to the removeFormat button
Sarven Capadisli
@nmielnik Yes, ignoring would be helpful.. At first I thought adding contenteditable=false would help with that
@nmielnik, thanks, i've extended removeFormat button constructor passing object with key 'handleClick' into edtiorInstance.toolbar.buttons
button looks like
const removeFormat = {
            name: 'removeFormat',
            aria: 'remove formatting',
            action: 'removeFormat',
            contentDefault: '<b>X</b>',
            contentFA: '<i class="fa fa-eraser"></i>',
            handleClick: function (event) {

                    // Undo default

                    // Undo selection for all custom extension
                    const extensions = this.base.extensions;
                    const extensionsCustomOnly = this.base.options.extensions;

                    for (const key in extensions) {
                        const extension = extensions[key];
                        if (typeof extension.setInactive !== 'function') {    
                        if (typeof extension.classApplier !== 'object') {
                        console.log(`undo ${}`);

Editor defaults

Is there is an option, to apply some actions initially to Editor? For example i want that all my text will be initially bold (do not propose use css on editor.)
Felix Tang
hi guys
i want to have a static toolbar as well as inline toolbar
is it possible to do that?
Arsalan Khalid
Anyone familiar with how to approach sizing the whole editor, getting it into a form rather than the full page, the way it is now
just trying to start off with trying to figure out how to resize it, anyone able to redirect me towards something?
Felix Tang
channel is dead :(
Ayaz Uddin
Hey everyone, is there a way to create code blocks into the medium-editor?
@Ayaz2589 I'm interested in helping maintain
Jérémy Benoist
@sloan-dog You should ping @nmielnik instead
Sarven Capadisli

@sloan-dog @j0k3r @nmielnik FWIW: in the project, we use medium-editor.. but considering to switch to something else because of lack of dev activity in ME. Don't take this as criticism :) I decided to use ME awhile back because it hit the right boxes for dokieli's needs - also ME dev was quite active at the time. There are however some important issues IMHO - don't we all? - that makes it hard to work with or extend ME. From dokieli's POV, we just want to reuse an existing library as much as possible.. and the core of it need to be quite stable. We're not in the "business" of developing our own editor so counting on what the smart/hardworking folks are doing out there. I still think ME is great but it may be aging.. so if it gets picked up again, that'd be great. I don't know if there are fundamental shortcomings of the ME architecture that would make it more reasonable for a rewrite or whatever - this is something you folks know better. FYI recent discussion re the switch starts here: . Note:

We need to factor in: regular WYSIWYG-like editing [..], collaborative-editing, versioning-friendly?, extensible for different forms of annotations (like RDFa embedding, Web Annotation..), active dev community

Happy to give further feedback. IIRC, I've already logged issues we've faced in ME GitHub issues and in dokieli's issues (search for ME or editor perhaps if of interest)
Jérémy Benoist
Thanks for the kind words @csarven I think a lot of projects are using ME but we (@nmielnik and me) are no longer available to keep the project updated. I personnaly don't use it anymore in my current job and don't have enough spare time to maintain it during my free time.
Nate Mielnik
thanks @csarven ! That all makes sense to me, my shortcoming was not trying harder to recruit & hand off the project years ago (I've actually done a talk about this exact topic). I'm not sure what the chances are of someone being willing to pick it up....but if no one does I can definitely empathize with not wanting to rely on it.
Carlos Guerrero
Hello @nmielnik happy to help over here!
I am working on a "github-integrated" editor called that uses mediun-editor heavily, so since I am getting to know all the code anyway, happy to help with the project as well. @nmielnik
Shreyan Mehta
hello , I have worked on custom context-menus like this , i would be happy to help to contribute and maintain this repo
Hi I work as a Full stack developer most of my experience are in java script, I would be happy to help
Hi, would love to help in this amazing WYSIWYG library please do let me know how and what to help =D
I'm interested a contributor to the project :)
Zhu Liang
hey @nmielnik , i'm interested in helping to maintain the project. i built a small feature for ME before and helped with answering issues, if you still remember. and i really admire what you guys have achieved so far, so i don't want to see all the efforts go abandoned.
Bechir Ahmed
Hey @nmielnik , thanks for your huge effort, i use this amazing WYSIWYG editor in my personal projects and i'm interested in helping to maintain it
Nate Mielnik
@Jasonseah @wiredmartian @paradite @BechirAhmed apologies, my gitter notifications got screwed up
Hi guys, I will help with this
Jiue-Ren Liao (Rick)
Hi, everyone
I am seeking an easy tool to write medium articles, any suggestion?
Stefan Pejcic
Hello everyone, the unofficial WordPress version can be found on: and soon on
Anyone that uses WordPress nad wants to help/contribute is welcome.
@nmielnik I'd also like to get involved in maintaining/collaborating
Nate Mielnik
Awesome @stefanpejcic i'll add you to the repo now
Stefan Pejcic
thanks @nmielnik great to be here

Hey, I'm trying to get Medium to work with a runat="server" div.

<div class="editable" id="myDiv" runat="server">Information</div>

Then my back end.

var html = myDiv.InnerHtml

yet html always results in an empty string. If I remove the editable class html returns Information as expected. Does anyone have experience with getting the innerhtml from a medium editor?


Seems like using a textarea instead of a div works.

<textarea class="editable" id="myTextArea" runat="server">Information</div>

It seems Medium creates a div and hides the textarea and auto updates the hidden textarea when the text within the div is changed.

Then the contents can be grabbed in the backend like myTextArea.Value

Dove Chen
I have some problem when use the medium
When i want to limit the text input
But i can't use well
Can give me some advises
Ivo Valchev

hi everyone :-)

I'm using a single medium-editor element on the page (with Vue2-medium-editor)
is there a way to "redirect" any keypress to that component? thus, by typing without selecting it first, it types in it