QOwnNotes icon indicating copy to clipboard operation
QOwnNotes copied to clipboard

Hide markdown syntax in addition to inline rendering.

Open jamesjewel opened this issue 5 years ago • 11 comments

I would really really love if QOwnNotes could hide the Markdown formatting syntax once the cursor goes out of the scope being edited. Something like what Typora does. For example.

While editing a heading image After hitting newline: image

I use QOwnNotes with a workspace configuration similar to that of a Notepad plus the side panel for tags and folders. Opening the preview pane takes half of the window real estate and everything looks messy and contorted in the editor. I would rather not open the preview pane.

I do understand that Typora uses HTML/CSS and hence doing this was easy. However, in QOwnNotes, considering that the syntax renders inline with things like the headings taking their respective sizes, the formatting for italics and bold changing color to grey, I was wondering if this was feasible.

Finally, QOwnNotes is absolutely awesome! It has made me a serious and disciplined note taker. Will donate for sure once I start earning.

jamesjewel avatar Mar 18 '20 12:03 jamesjewel

Thank you for your kind words, but QOwnNotes is a plain text editor. What you are asking for is a WYSIWYG editor, which QON most likely will not ever be. :grin:

pbek avatar Mar 18 '20 13:03 pbek

i have played around with this idea in various ways (painting, trying to hide the markdown syntax using small fonts, and even using UserBlockData). It's just too much work. To get something like this, basically we need to store the information about the markdown syntax in a line. E.g:

# heading

store info: pos: 0, type: h1, block: x

and use this info to reload a block with markdown once the cursor enters it. We also need to make sure that the markdown syntax is retained on file save, and everything is restored correctly. A tiny error here would mess the document very quickly.

This is just a sketch of what needs to be done. There is more to it, for example retaining the formatting and so on.

i and @pbek would sure love a PR if someone makes the effort ;)

Waqar144 avatar Mar 18 '20 19:03 Waqar144

Thank you for your kind words, but QOwnNotes is a plain text editor. What you are asking for is a WYSIWYG editor, which QON most likely will not ever be. 😁

Okay, I totally understand. I actually like the idea of keeping it geeky. I just thought this would have made it look soo much more neater.

jamesjewel avatar Mar 19 '20 03:03 jamesjewel

@Waqar144 Thanks for the ideas. I would have liked to try but as @pbek said, does it go against the grain of the project's philosophy?

jamesjewel avatar Mar 19 '20 04:03 jamesjewel

I just wanted to open the same topic like flakyhermit and I strongly agree with his proposal. Rendering like in Typora would be awesome and a huge usability improvement to QOwnNotes! In fact I am always searching for an open source programm like Typora... QOwnNotes is still great! Don't get me wrong!

joe-123 avatar Mar 30 '20 12:03 joe-123

@Waqar144 Thanks for the ideas. I would have liked to try but as @pbek said, does it go against the grain of the project's philosophy?

No, it doesn't. Its just a lot of work, and hard to get completely right. Plaintext formatting has just a handful of options i.e., bold, italic, underline, font size, font color. We can get that part to render without the markdown syntax, but what about tables, lists, horizontal rulers etc? Those are simply not possible with plain text. Only a rich text editor can render them correctly.

Waqar144 avatar Mar 30 '20 14:03 Waqar144

I understand the problem, thanks for your response! I have a (probably stupid) idea: Would it be an option to somehow "mix" the rendered and the plain text view? You could use the plain text view for the line of the cursor and the rendered view for the rest and then blend/merge those views in one window. But that's probably too hacky and complicated (I'm not really a programmer)?!

Or maybe one could have 2 stacked windows: -> Rendered view -> 3 lines plain text (cursor in the middle line) If those views are tied together such that the rendered view always shows the lines above the 3 plain text lines (the 2 views scroll together), this could be simple and good solution. The boarder between the 2 views could be distracting, tough...

joe-123 avatar Mar 31 '20 17:03 joe-123

That would be very tricky, as getting the window focus would be a big issue.

Waqar144 avatar Apr 03 '20 11:04 Waqar144

With regard to inline rendering (of images) and similar ideas, it might pay off to take a look at vnote: https://github.com/vnotex/vnote

louwers avatar Oct 10 '21 10:10 louwers

How about this: a mode where it displays WYSIWYG (same as note preview panel) when note editing is disabled, but when you click the toolbar icon to allow note editing, it switches to the text editor view. This would be much easier to implement.

I have many notes I'm simply referring to most of the time, and it's nice to see them properly formatted, but when I need to edit them (apart from ticking check boxes), I prefer to see all of the formatting code anyway. A mode that can switch like this would avoid the need for me to have the preview pane taking up screen space.

mrbumpy409 avatar Dec 04 '21 18:12 mrbumpy409

I doubt QOwnNotes will ever be a WYSIWYG editor...

pbek avatar Dec 04 '21 22:12 pbek