Markdown headings and rendering markup

The new editor looks exciting! I have noticed that there is already a lot of feedback on headings, some of it is the complete opposite of what I’m about to say, so I thought I’d share my view.

For me the core principle of a markdown editor is that it allows me to write and edit markdown. This means that it shouldn’t be hiding things from me. The simplest plain text editors, like TextEdit.app, do this perfectly (even if they don’t have a clue about syntax highlighting, to me that is only a secondary feature).

Bear does the right thing in almost every case:

Everything I highlighted can be edited like any other character in the document – except headings*. When you have a heading, you can’t turn a ## into a ### like in a plain text editor. That means I can’t edit a markdown document like I’m used to – I’m now writing in a markdown dialect. The current version (1.x) has a hybrid approach – it lets you add and remove # characers, but in the end the experience was far from what you get when editing plain text (I totally understand why the new version is abandoning that approach). In my opinion, you can’t beat the straightforwardness of adding or removing a single plain text character.

I wanted to share my feedback on this, but I’m also curious to hear what the editor’s makers philosophy is.

*I know there are other exceptions: bullets do the same thing, but they don’t bother me too much, as you can easily backspace through them as you would throguh plain text. Tables are another exception, but again I don’t mind, as they are not part of the markdown spec.

6 Likes

Hello!

The current editor is a markdown editor and it’s still 100% plain text, but we’re opting for a more hybrid approach for some elements (headings, tables, etc…)

We’re trying to make writing Markdown as pleasant as possible without ruining the “plain text feeling”, it’s not easy and we’re running the alpha with the community to polish the experience as much as possible.

I think there is not a right answer here, plain text headers are something most of us and our users doesn’t want to see in the editor so we’re hiding those using a single icon. You can still edit headers as a text, but you can’t do what you want (you can still move from # to ##, just write at the beginning of the paragraph).

Hotkeys helps a lot with this, ⌘1 for h1, ⌘6 for h6, it’s simple and not difficult to memorize.

I don’t know if this answer your question, but this is our current direction :slight_smile:

Best.

I completely agree. I love the syntax highlighting that Bear does, but I want to see all of the characters almost all the time. I want to see the URL in a link; I want to see the hashes in a heading; I want to edit those things as characters, not in Bear’s GUI. I also much prefer the heading edit system in the current version of Bear (not Panda), and I would love to be able to turn off the link URL-hiding.

I get why you would want this for tables, since the visual result could be so different from the markdown, but I don’t get it for these other simple features.