You bet. And this FR is marked as “valuable”. My main point was don’t ping the developers, and avoid flooding the thread. Additional contributions to the discussion are absolutely welcome.
implementing the visual code with the WYSIWYG editing can enhance the usability of the editors, especially for the user who prefer natural editing.
Huge +1 on this.
I’m trying Obsidian and love most of it compared to everything out there but the Preview mode is poorly designed and the jumpiness of the text makes for a bad time in the core editing experience. I want the ability use markdown to trigger the formatting using markdown but then I want it to disappear and stay gone unless I go into markdown editing mode. (Craft Docs does this well.) I am really not sure what the benefit is of it sticking around most of the time.
WYSIWYG and markdown feeling are not conflicting at all, I think what I need is:
- Maintain rendering while displaying format (highlight, bold, callout, etc.)
- A better animation, don’t always flicker (when clicking a certain format, the entire page of text will change, reducing attention
- Matching of reading mode and real-time preview (line height, list left padding)
- Bring back the custom cursor css. The obsidian team must have never used windowsOS. With the 1-pixel cursor and the layout changes of the entire page, I often can’t find my cursor (ninja cursor is very nice, but it also has some problems) (A good cursor animation will make typing a pleasure)
- Block dragging like logseq
- Fixed the problem of writing code blocks in lists and callouts
Just noticed this approach in Nota which I think could also help to improve the experience quite a bit. Still Markdown-first but reduces the jarring UX of the link always expanding.
Normal state
When you click on the link text it shows the markdown but keeps the link collapsed behind a little link icon.
Finally, if you click on the link icon it expands the full URL
Once you paste a URL it is more rare to be messing with it vs editing the link text itself, so I think this is a great middle ground.
My feelings when I intend to move the text cursor a few lines up a document using the cursor keys without running into exploding links:
Over the few years, I never settled into the Obsidian completely because of this =(
This is my favorite (synthetic) example: The Hobbit or There and Back Again.
Usually the journey home seems faster, but in Obsidian it does not. Maybe there’s some kind of wormhole lurking here?
If someone wants to simulate the WYSIWYNG editor in Obsidian, you can follow the codes below to put together your own editing behavior. You can also make your own combinations of multiple scc Snippets and easily turn them on or off as needed in Obsidnian settings if something goes wrong.
My experience
It’s not perfect, but you can get used to it…
The main thing to get used to is that when a character is turned off, don’t start rewriting the words completely at the beginning, because you might “miss” between the hidden character and the first letter. You just have to test it to see how you like it…
When forcing the lines carefully… I think it’s a problem to edit them afterwards…
If you turn off the # characters, beware of adding inline TAGS. I don’t use them, so this is not a problem for me…
These can be used quite well:
/* Hides asterisks used for bold and italics */
.cm-formatting-strong, .cm-formatting-em {
display: none;
}
/* Hides underscores used for bold and italics */
.cm-formatting-em.cm-em-1, .cm-formatting-strong.cm-strong-1 {
display: none;
}
/* Hides `#` used for headings */
.cm-formatting-header {
display: none;
}
/* Hides `==` characters used for highlighting */
.cm-formatting-highlight {
display: none;
}
/* Hides markdown symbols for strikethrough */
.cm-strikethrough {
display: none;
}
These can be used, but it’s probably better not to use them:
/* Hides characters for code blocks */
.cm-formatting-code-block, .cm-formatting-code {
display: none;
}
/* Hides characters for block quotes */
.cm-formatting-quote {
display: none;
}
I don’t use these - because they bug me:
… maybe it will suit you
/* Hides characters used for lists */
.cm-formatting-list {
display: none;
}
/* Hides characters used for links */
.cm-formatting-link, .cm-hmd-link-url {
display: none;
}
/* Hides markdown symbols for strikethrough - this has completely disappeared */
.cm-strikethrough {
display: none;
}
/* Hides HTML tags in the editor */
.cm-s-obsidian span.cm-tag,
.cm-s-obsidian span.cm-bracket {
display: none;
}
/* Hides markdown symbols for superscript */
.cm-formatting-superscript {
display: none;
}
Oh my !!! This is exactely what I feel !!!
This is especially making it really hard to use on mobile devices.
And if it is hard on mobile, you just don’t fire it.
And if you don’t fire it, you loose the information
So… Looking forward to see this happen
This seems a great idea! When you need precise editing, temporarily switch to source mode, otherwise, it’s pretty WYSIWYG.
I’m very interested in your work here!
PLEASE PLEASE implement this. It’s would be massively beneficial for new users that are looking to migrate from Notion.
Look at the Notion subreddit, everyone is complaining about Notion but few suggest Obsidian because it’s not so much user friendly.
Instead of working on things that were already beautifully implemented by plugins, like Dataview… Work on a WYSIWYG mode.
A switch between reading mode/ preview would make sense only if obsidian was an app for coding/writing documentation. But it’s not. Please implement this.
+1
While I’m unsure what WYSIWYG means to various people from these comments or why it would make markdown files any different, I really, really wish to be able to edit without markdown syntax popping up when I don’t want it. E.g. I find myself avoiding callouts where I’d normally use them because editing them is a huge pain. An interface that would by default allow me to edit the text within it without the whole markdown syntax popping up every time would be a godsend.
Editing text is what I and I assume most people do most of the time. So that is the part that should be smooth and frictionless. On far rarer occasions when I want to edit markdown syntax itself, I could press some designated key to have it show to be edited, or just switch to source mode, but I really wish to be able to edit or copy text without it bothering me all the time. Once in place, markdown syntax should stay in the background unless called upon a far as I’m concerned
Hi,
not having a WYSIWYG mode is what is preventing me from using Obsidian.
Yes I like the ability to see and change the markdown, but that’s only useful less than 10% of the time for simple not taking.
As several people have already stated it, most of the times, the flickering of showing and hiding the markdown is awful.
To be perfectly clear, I tried Obsidian and it really seems like a great tool, but I will not use it until there’s a WYSIWYG mode.
The whole editing design seems illogical with this feature. Yes, you could say that visible markdown helps you validate the code. But let me share something with you. The validation of code is much better done by algorithms and computers in general, than by human. So, I think it can’t be a valid argument. I think, if you crave to validity of markdown on the fly, you must be caring for markdown more than for the actual text you are working on. That’s ok, but it can’t be a general line.
More weirdness is the following. Obsidian has native rich text formatting editing in shortcuts. The experience is just like in other editors. You hit ⌘+B and the selection becomes bold. Hit once again and it stops being bold. Just like you would do with a button on a wysiwig editor toolbar. After all, encountering any text editor enough times makes you use shortcuts, and you forget about the toolkit panel. And Obsidian already has it. And it works — it actually has the half of wysiwig for it to happen. And it works and feels better than wysiwig panel plugin you can install. But the ‘markdown junk’ on entering the paragraph makes it feel like a box with sparkling wires, not a tool to focus. I know, that sometimes you have to get inside and fix something. But there is a source code mode for this.
Just make a setting to disable this blinking text. Shouldn’t be that difficult.
Just want to add my voice supporting this feature request. I check in every few months to see if it’s been added, to no avail. It’s the only thing keeping me from switching from OneNote to Obsidian. I would pay a premium to have it.
I strongly voice for this feature too. I’m a Word power-user with thousands of extremely well organized pages in just a few documents and a clever use of Word’s native hierarchical heading structure, plus the add-ins which turn it into a more browser-like experience. Some of these are personal diaries, some are technical diaries, and in both of them speed, efficiency, expressivity, and the principle of least effort count enormously. It is a well honed and well working system.
Obsidian on the other hand has some value to offer that Word doesn’t have: i can name bidirectional links, transclusions, and a general privacy-oriented policy in contrast to MS’ “big brother”.
But to keep Obsidian chained up like this makes no sense.
Some people will come up here (and elsewhere) again and again reiterating that “simplicity is a value”. Simplicity is not plain text. Forcing plain text on ALL the users (yes, this is exactly where this goes - CSS in live preview is a joke) is just chaining it to the ground. At the state of things a transition is impossible.
This feature request doesn’t appeal to me at all. I find the current live preview perfect just the way it is. And I think it would be a huge mistake to take Obsidian down the rabbit hole of trying to add rich text as an option—it’s just not as future-proof and interoperable as plaintext is.
But I think there could be a third editing option besides source mode and live preview—call it “hide codes”—that completely hides the markdown characters, which would disappear as soon as they’re typed or entered with keybindings or buttons. If someone using it needed to see the codes for troubleshooting, they could temporarily toggle into source mode.
That would drive me crazy, but this feature request is popular enough that a lot of users would probably prefer it as a third editing mode option.
It might even be possible to implement with a plugin, but most people with the coding skills to write plugins want to see the codes, and probably won’t be motivated to spend unpaid time writing and maintaining something they wouldn’t use themselves.
EDIT: The risk of adding a “hide codes” option would be that some people using it wouldn’t bother learning enough markdown to understand how to fix basic formatting issues themselves, leading to an influx of trivial requests for help on the Discord and here on the Forum, and increased burden on the moderators and other volunteers.
Is this bullettin board pubblicily logging in all edits now? First time I ever see this anywhere. A little bit intrusive considering we are be trying to convey a good, well formatted and well arranged message while fighting with this barebone markdown editor.
I really like the current source mode and live preview modes exactly as they are. They are exactly what I want from a Markdown note taking application. If Obsidian did add a fully WYSIWYG mode, I’d prefer that it be an additional mode that you could enable/disable based on your personal preference, while leaving the existing two modes intact.