45
submitted 1 month ago* (last edited 1 month ago) by louis_sch@lemmy.kde.social to c/kde@lemmy.kde.social

I ended my last post by saying that the next version is coming soon, well here we are 3 months later (better late than never) and I am happy to announce that KleverNotes v1.1 is finally out.

What's new?

New parser

The previous parser was a C++ reimplementation of marked.js that I made to easily integrate my plugins and extensions. While it was great for that aspect, I will be the first to admit that it was far from perfect and required a lot of maintenance.

For this reason, I decided to switch to a proper Markdown parser, in the form of md4qt:

md4qt is a header-only C++ library for Markdown parsing.

md4qt supports CommonMark 0.31.2 Spec and some GitHub extensions, such as tables, footnotes, to-do lists, strikethrough, LaTeX math injections, GitHub autolinks.

It's fast, reliable, customizable and easy to use. A perfect combination!

Better toolbar and editor

With this new parser, it is possible to know exactly where the Markdown tags are in the text. Thanks to this, and the new access to the underlying text document, the toolbar is more precise in removing specific tags but also in applying them. In addition, the toolbar now tells you which tags are already applied on the text under the cursor or the selected text.

bold, italic and strikethrough are checked

The editor has also gained some small bonuses. Tabbing/untabbing blocks and auto-adding list items are now more reliable, but you now also have the ability to add an HTML line break (<br>) before a new line with Shift + Enter or a horizontal rule using Alt + Enter.

Optimization πŸš€

  • Parsing is now done on a separate thread, so parsing very large notes should still be smooth!
  • Rendering is now disabled if preview is disabled, saving resources!
  • Using the toolbar will now add or delete text in a single undo block, no more double/triple Ctrl+Z to go back to your previous state. πŸ˜†

WYSIWYG-like editor

Now the big news, you read it correctly!

Again, thanks in large part to the new parser, the editor now has the ability to be "WYSIWYG", bold text will be bold, highlighted text will be highlighted, etc...

By default, Markdown tags will be 50% smaller than the rest of the text, this can of course be changed in the settings, a value of 1% makes them practically invisible. These tags will revert to their normal size depending on the position of the cursor/selected text, this way you can see which tag is responsible for a style.

Give credit where credit is due, this way of doing things was inspired by Marktext, it brings the best of both worlds.

However, this does not mean that the preview will be removed anytime soon, it is still in my opinion the best way to view Markdown, and if you don't like it, as you already know, you can disable it. πŸ˜‰

WYSIWYG editor

Special Thanks

I would like to thank Igor Mironchik, the creator of md4qt.

I contacted him to ask if he could help me integrate his parser into KleverNotes, and he not only helped me do it, but also listened to my requests throughout the process and added features to make my life easier.

Credit where credit is due, the main part of the syntax highlighter belongs to him as well, although he gave me full copyright on it, all I did was customize it to fit my vision, it would have been much harder for me without his help!

Finally, thanks to his years of experience, he taught me a lot about C++ and software development in general, and continues to do so today. I really grew up working with him and I can't thank him enough for that. I clearly made a good choice in asking him for this collaboration and I sincerely hope that it will continue. πŸ™‚

md4qt and markdown-tools

As I said:

md4qt is fast, reliable, customizable and easy to use.

And it is now part of the KDE Incubator program! So if anyone wants to try it or needs a good Markdown parser to work with Qt, feel free!

Igor also uses it for some pretty cool personal projects, check out Markdown-tools it's worth a try! πŸ˜„

Final note

I'm back at school and my schedule is busier than last year, this will obviously impact development. However, this doesn't mean I'm abandoning the project, things will just move a bit slower.

The next release should overhaul the way the sidebar works, and I'll start working on it soon. πŸ˜‰

I'm currently publishing this version on flathub, you should (hopefully) be able to get it soon!


As always, feel free to tell me what you think of the app, I'm always happy to hear criticism, good or bad, as long as it's productive.

Link to the repo: https://invent.kde.org/office/klevernotes

Mirrorlist: https://download.kde.org/stable/klevernotes/1.1.0/klevernotes-1.1.0.tar.xz.mirrorlist

[-] louis_sch@lemmy.kde.social 7 points 5 months ago

Not from KDE

I tried it before creating Klevernotes, and it was just to much for me. I would like to make an alternative that look and feel simpler, while keeping the power.

But if QOwnNote is good for you, that's cool

[-] louis_sch@lemmy.kde.social 8 points 5 months ago

You might not need one more, but I'm having fun making it and the work is here, so why not sharing it

Next step is "WYSIWYG like editor" And the addition of different Plugins

[-] louis_sch@lemmy.kde.social 11 points 5 months ago

Thanks you !

I want it to look nice and easy to use while keeping some power under the hood ;-)

[-] louis_sch@lemmy.kde.social 6 points 5 months ago

Just to be sure

Create an issue with the list sample so I can try it out by myself, it will be easier to debug ;-)

[-] louis_sch@lemmy.kde.social 9 points 5 months ago

My first plan is to add NextCloud Note sync

But if the two are compatible let's go for it ! Thanks for sharing this

[-] louis_sch@lemmy.kde.social 6 points 5 months ago

I don't have a Next Cloud instance but I don't see why this would not work :-)

Just need to walk the folder hierachy to your note

[-] louis_sch@lemmy.kde.social 7 points 5 months ago

Math integration is something I want, hesitant between Katex and ASCIIMATH, but there's no such thing currently

Technicaly no git integration, as in, there's no way to "git add/commit/Push" directly from the app, but you can style do it. Your notes are saved inside a folder, you can see the path directly from the settings, so you can technicaly use git on it. I personnaly use syncthing

No spell checking, never thought about it, could be a cool feature, thanks for the idea

[-] louis_sch@lemmy.kde.social 9 points 5 months ago

A "WYSIWYG like" editor is currently in progress (next big update)

I don't want to go full richtext mode a la LibreOffice writter, it will be something similar as Marktext instead

You will still see the Markdown tag (e.g: the "#" in your heading) but with the possibility to style them in a way that make them pretty much dissapear when your note editing that part, and some nice color and font size for the important part, that would pretty much mimic the preview style ;-)

[-] louis_sch@lemmy.kde.social 7 points 5 months ago

No, there's currently nothing similar to richtext editing.

You edit your text inside the editor and it is renderer in the preview. You can toggle on/off one or the other.

I tried to make things easier with the editor toolbar. You can easily create table from it through a dialog similar to the one from richtext editor such as LibreOffice writter

[-] louis_sch@lemmy.kde.social 13 points 5 months ago

Sadly not right now. I'm not against doing it, I just need to figure out the API

151

KleverNotes, KDE's Markdown note-taking and management application using Kirigami, is ready for its first release!

KleverNotes lets you create and preview Markdown notes while giving you the freedom to customize the preview from settings or using a CSS theme.

You can organize your notes however you want with a combination of categories and groups, which will be directly reflected on your system in the hierarchy of your KleverNotes storage folders.

Simply choose your storage location and you're ready to write!

You can print your notes, add small sketches and even create specific tasks for each of them, all from the application!

Notes are saved as Markdown files in your KleverNotes storage for easy access. They support the entire CommonMark specification with extensive syntax. KleverNotes also introduces a small collection of opt-in β€œplugins” to extend basic markdown functionality, such as: code highlighting, note linking, quick emoji, PUML.

Special thanks

I would like to thank Carl Schwan who helped me through the incubator process, has set up the repository and the various KDE related things, fixed my code, and answered my many questions. The project would not be where it is without him.

History

I started KleverNotes as a small personnal project to learn QML and C++ and motivate myself to take notes in class. After posting a few screenshots of my progress on Reddit, people seemed pretty interested, which inspired me to continue and redouble my efforts. Once it was added to KDE, my motivation grew even more, my final goal is now to be able to offer a simple alternative to QOwnNotes using Kirigami. (I actively use KleverNotes in each of my classes now btw 😬)

Final note

This release doesn't add anything special compared to my last update, just UI tweaks from Carl, which makes the app better looking. I just wanted to get things moving in order to officially push more updates in the future. A big one is in the works and should arrive soon once my exams are finished.


As always, I'll be more than happy to answer your questions, discuss potential features, or hear your point of view πŸ˜‰

Link to the repo: https://invent.kde.org/office/klevernotes

Mirrorlist: https://download.kde.org/stable/klevernotes/1.0.0/klevernotes-1.0.0.tar.xz.mirrorlist

16

Klevernotes is now available as a flatpak (Nightly version) through KDE cdn.

To install it, simply run:

flatpak install --user --or-update https://cdn.kde.org/flatpak/klevernotes-nightly/org.kde.klevernotes.flatpakref

This is based on the following tutorial.

For more info and news see: KDE Discuss post

[-] louis_sch@lemmy.kde.social 7 points 7 months ago

I'm open to discuss on here to :-)

36
28
KleverNotes: Monthly news (discuss.kde.org)
23
35
[-] louis_sch@lemmy.kde.social 17 points 1 year ago* (last edited 1 year ago)

Theme are related to Desktop Environnement/Window Manager (KDE, Gnome, BSPWM,...) not distro

So as long as the theme is available for yours, you can get it on Debian or Arch it doesn't matter πŸ˜‰

Edit : yum13241 makes a good point

view more: next β€Ί

louis_sch

joined 1 year ago