Monospace font in the Markdown-only editor

My goal is not to focus on “let’s add or remove monospace”. Different people, different tastes.
I believe that when a company offers something for a long time, if they want to change it, it shouldn’t be mandatory, but optional.

You rather have markdown with monospace. Good.

I rather have markdown the way it always has been with sans-serif. Good.

But now I’m forced to either use rich text, which I don’t see myself using, or use a new version of markdown I never used and don’t like.

Markdown with sans-serif or monospace should be offered as an option, instead of forcing all users to get used to something some of us already have shown it’s not to our liking.

Justifying that change as “it’s a coding environment”, doesn’t make sense, because we are not coding in the composer. We are typing normal text and sometimes we format it using markdown. That’s not a coding environment.

Again, the debate for me is whether monospace should stay or not. It’s about me having the option to pick what I like. And the CSS workaround only works for my community. What about all the other communities out there that use Discourse where now I’m forced to the new change? Doesn’t make sense to me.

4 Likes

Indeed, for all the users of all the forums which haven’t yet offered the new composer, but intend to default to markdown, the monospace is a change. And I think that’s not great.

2 Likes

Keep in mind, that this change allows users to quickly tell they are in source code mode vs rich mode

My concern about reverting is that this optimises for users that never want to use the rich text editor and are averse to change, wouldn’t a “no rich text for me” option achieve the same goal?

3 Likes

Only if they know that difference and what to do for that. Rich mode are out there for people who can’t do **bold**.

All what they see is a hard font.

And again — when an admin uses rich mode as default, that would happen only if that user clicks or touches wrong place, and can’t understand what the heck just happened.

And second again — monospace is difficult for eyes :man_shrugging:

But we have all this

I don’t know if

Enable monospace in source code mode (really… calling it in that way reveals something :smirking_face:)

would be that awful thing (if it would be resonable easy to build).

2 Likes

… and they can easily click a button to make it go away :slight_smile: so they are encouraged to use the “easy” font, that looks great. 99.9% of users out there should just opt for that for casual authoring.

I get people are pushing for a user preference here, we are discussing this internally as well. It is tricky, usually we only add preferences as a last resort, maybe this is one of those cases.

Also… I do not see our behavior as an outlier:

Reddit, number #6 site on the internet does the exact same thing:

It does not provide an option to override this…

4 Likes

How about a plugin?

Then admins have to actively invest work towards this feature and usage numbers would show, if this option is really needed.

1 Like

I’m curious - which would appeal to admins more?

  • Theme Component - globally change font for all users
  • Plugin - per-user setting for font change
0 voters

As the theme component route is so open, I do not understand why you would see a vote for it as a vote against a plugin.

1 Like

So the options are when a font is an issue, then

  • do not use markdown, or
  • use that difficult font

So…

I think it is needed when a forum blends dev-stuff and more common discussion. If a hard core dev want to use typewriter every where I get it, but I don’t understand why I am forced to use same.

But this is somewhat strange situation: we are writing using one font, that doesn’t give any benefits, but is acting as a marker what kind composer a user is using, and after that we are reading and the font is totally different.

You know very well that out there is opposite examples way more. And I’m not sure why Reddit would be a good example. If it is then we should adapt Facebook way too.

2 Likes

Facebook has no dual mode. I can’t think of too many other pieces out there that have dual mode, can you provide some examples?

CKEditor also does the same as us:

Source code in monospace is a very well established pattern.

… have markdown that is EASIER to edit

Eg:

```
one
   two
      three
```

:up_arrow: an excercise in futility in non monospace.

Cause you see

3 Likes

That isn’t important. The point is if you use Reddit as an example for useful UX, because it is big, then you should use same logic with Facebook.

Reddit isn’t actually that popular outside US and native english speaking world.

If I understand right, for you hard-to-read monospace font is an indicator for markdown editor? Isn’t that a bit harsh way? Those of my users, and I, who are using markdown, know which editor is in use no matter the font is same.

Again — CSS is the savior. But not here. In Meta I have two and only two options:

  • suffer 100 years old typewriter font, because few sites is using it
  • not to use markdown editor

So… :man_shrugging: Perhaps that setting is needed, because you don’t force me to use smart lists either.

(Off topic, I know — but ordinary consumer level users need only one-button-toolbar: for image upload)

Some users like myself will probably never use rich text, so this isn’t really a feature that makes a difference. If my default is markdown, that’s all I need to “know”.

Sure, there are the other users who probably have no clue what markdown is and rich text is useful. I get it, as all the users who are “against” the change. We are not dismissing those users. We are asking for an option, not a mandate.

From the comments I’ve read, absolutely no one is averse to change. You are using that as a justification for the decision the team made. I’m not averse to change, and I would say that other users are on the same boat. We are asking that there’s a preference for those who do not want markdown + monospace together.

This is the same thing. You are having a hard time understanding that “no rich text” and “no rich text WITH sans-sarif” are two different things, considering that “no rich text” now is = monospace, which is a bad font.

Isn’t it also “tricky” that suddenly you force thousands of users who have been using forums for years, using Discourse, to now have to get used to something that has been proven not to be ideal for reading?

For example, Facebook, X/Twitter, YouTube allow clickable links in posts. Instagram and TikTok don’t.
Each company is a company. Just because Reddit or CKEditor work a certain way, doesn’t mean that you have to copy them. You have to do what makes sense to your product. And again, no one is asking you to remove the rich text or monospace. We are asking that this is an option. Some people like light themes, some people like dark. Some people like to have a pure black background with neon text while they code, some people like muted colors. Each person is different.
It doesn’t have to make sense to you, it has to make sense to the user.

I don’t want to come across as rude or anything. I appreciate Discourse as a platform, especially being free for self-hosting options. I’m just finding it hard to accept that a team of people, including developers, etc, is having a hard time accepting that having a user preference is the route to go, after almost 4 months after asking us to “let it breathe”. I let it breathe and a lot of us just don’t like it and we want to at least have the option to decide what we want to use.

1 Like

This is the heart of my question, would a

  1. Don’t show me the markdown / rich selector
  2. Just give me good old markdown
  3. Leave the font as serif like it was before

Eg:

Markdown authoring mode user pref:

  1. legacy: just like it used to work in the old days. same font same everything.no RTE selector, no RTE
  2. rich text preferred: default me to rich text for every post I write
  3. markdown preferred: default me to markdown editing

I like this for quite a few reasons.

  • For new forum defaults I think having source code in a source font is better.
  • I like having an explicit setting for “how I like to author markdown”
  • With an explicit vs implicit setting, it resets me when I start a post, something I prefer. I don’t like the implicit memory.
3 Likes

I would have a 3rd option: let Discourse do this natively. We always had sans-serif and I don’t think that was an issue. Having more plugins to install and manage, don’t seem to make sense, I believe.

But out of the 2, a plugin seems to make more sense, otherwise it’s the same thing: we are forcing all users to use one font, instead of being able to choose, which I’m against (now that we have the rich text option, of course).

1 Like

The admin of the community can set the default of markdown as sans-serif or monospace. Then each user picks what they want. If the admin sets it to sans-serif then the user would see

Use monospace font in markdown view

If the admin sets it to monospace then the user would see

Use sans-serif font in markdown view

No need to make it complex with the words “legacy” or anything fancy. Make it user friendly, straight to the point. Think like the average user, not a developer.

3 Likes

Hunh, we completely missed this brouhaha on our programming language community Discourse because we haven’t enabled the rich text editor. We still see the “legacy” behavior with the serif font in the markdown editor, and I’m quite happy with that behavior.

As someone who personally writes a lot of markdown and code (in monospaced editors and in many HTML text boxes), I have thoughts.

I quite prefer using a serif font in a non-RTE to author discourse posts. I’m sure there’s some change-aversion behind that, but I think there’s also some good reasons. Most text that I write on Discourse and GitHub is actually text, not code. In fact, I wouldn’t call markdown “code” at all! The only time I want for a monospaced font in this text editor window (or GitHub’s) is inside ``` fences — because that is code. Don’t conflate markdown with code; it’s not code. And I dislike rich text editors because they so often fight against me. For example, this very paragraph is getting some wildly buggy behaviors after flailing about to write the markdown for the fence (it’s just ```` ``` ````, but now I can’t touch tilde on my keyboard anymore without messing up the RTE).

Serif fonts in a non-RTE also matches GitHub — the other site with an HTML textbox where I write a lot of markdown.


I’d wager that this is representative of much of our programming community at large. The folks on our discourse board:

  • Write source code and use monospace fonts to write source code
  • Know how to write and read markdown directly
  • Don’t think of markdown text as source code
  • Likely prefer using non-RTEs
  • Likely prefer to type/edit it as prose — so with a serif font

Of course, this is quite a very specialized community and is not representative in any way. But my main point is: don’t do this for “programmers” because “they like monospace to code”.

6 Likes

That’s not the case. It’s more likely that you haven’t upgraded to a version that includes the rich text editor.

3 Likes

It doesn’t really matter, does it? I’ve removed the aside from my original post. The point is, the rich text editor on our instance is off, and I’m happy to keep it off as long as turning it on would (IMO) degrade the markdown editor in this way.

image

1 Like

I think that setting text gets at the root of @alltiagocom’s point — I certainly wouldn’t expect that checkbox to alter the behavior of “the current Markdown mode”. I get the desire to limit preferences (and especially user ones) — it’s a very laudable goal! But it really feels like this is an orthogonal site style/look-and-feel thing that’s best handled by Themes.

2 Likes

In my CSS where? I’m not an admin, which is pretty much my point. Unless you’re saying as a regular user I can override the CSS somehow (without using a browser extension).

But there’s literally a toggle showing what mode you’re in. What more do you need? From your screenshot I guess it’s not visible on mobile, so make it visible and that problem is solved.

Are you planning to remove the markdown version in the future? If so, I understand why you want to nudge people towards that view. But I want to mention again that WYSIWYG editors are never perfect and are often inconsistent. A big problem is that you have to learn the quirks of the WYSIWYG editor on every specific website/application. Teams and Confluence and Bitbucket all use WYSIWYG and all have their own quirks that I have to learn and adjust to. Some I still haven’t gotten used to because they are so counter to how plain HTML inputs/textareas work, and every quirk means more time I have to spend to type what I want. Markdown on the other hand always works and can be written or edited manually, which makes it less error prone.

Also, for Discourse in particular, your software has many more components than simple editors usually have (polls, post quotes, hidden details, spoilers, etc.) that are far more complicated. I get that having those visible in line is a benefit to non-technical users, but it’s also more places that the WYSIWYG editor can subtly break in ways that are annoying to power users.

I think Reddit has far less complex functionality, which means it’s less necessary to use a markdown editor. I only noticed the toggle to switch to markdown mode recently (and immediately switched it back after seeing it was monospace), but the difference is that on Reddit I only need basic behavior like bold and italics or links, which is perfectly fine in WYSIWYG mode.

I don’t know why you keep using the term “source code”. It seems like you’re using it to say what we’re writing is “code-like” and therefore monospace makes sense. But it’s really not code-like at all. Markdown is absolutely nothing like writing or reading code.

Bitbucket uses a hybrid approach where you can see the markdown but it also shows the effect of the markdown. For example, you’d see **text**, but the asterisks and “text” would be displayed bold in the editor. They use a serif font for all text that’s not in a code block, while text within a code block is shown in monospace. (And yes, the editor has quirks that frequently make me mess up when editing a comment.) I can’t provide a screenshot since I only have access on my work machine.

Exactly! I have never heard a software engineer say “wow I really wish this markdown editor used a monospace font”.

2 Likes