I agree that Johns fixes are great improvements and could/should be installed by default.
Plus adding CTRL+Enter to activate link in editor for "two hands on keyboard" workflow.
I agree that Johns fixes are great improvements and could/should be installed by default.
Plus adding CTRL+Enter to activate link in editor for "two hands on keyboard" workflow.
As long as I can disable them. Personally I like a simple editor that let's me just write text. I don't want any WYSIWYG elements in there.
We already have a WYSIWYG editor. Now the "text" editor already transitioned from simple text (Ace) to much more in CodeMirror and now we want to use CodeMirror as a WYSIWYG editor? I understand that people might want this, but there might be others that were perfectly fine with Ace.
Just to be clear Caleb's plugin is not wysiwyg but "Rich Markdown" - it mostly makes it easier to use Markdown only (without the viewer pane) since it integrates features from the viewer.
And I think it makes sense to have several of these features by default as they make the editor much better - it's almost like Typora but still with Markdown only (no hidden tags). As it's a plugin it would still of course be possible to disable it.
Yes, I know it's not WYSIWYG. I just wanted to make sure that I don't wake up one morning and simple text editing is gone.
Are you trying to make the checked items have a strike through? I was just going to post this as a feature request!
This doesn't quite align with my vision for this plugin. But I'd be willing to help you get this working as a separate plugin!
Soon I'll be adding a follow link command, which can be activated in the right-click context menu or be bound to a key.
There isn't a specific class for it, but the checked boxes do get a separate class. You can use the code below to strike out checked text. I'll add this to the tips section.
span.cm-rm-checkbox.cm-property + span.cm-rm-checkbox + span.cm-rm-checkbox {
text-decoration: line-through;
opacity: 0.7;
}
It would make the monospace stuff easier because then the addition would happen inside the Joplin markdown parser and I wouldn't need to do any hacks on the plugin side.
It would be interesting to have a system for default plugins, there are a few plugins that it seems like everyone is using (Note tabs for example) it might be beneficial for new users to have access to those by default. It would also enable a path for stripping out features like templates and building them as plugins.
To clarify, I'd be happy to implement some of the functionality from this plugin into the core Joplin experience (the monospace stuff in particular). But I would prefer to keep the core part of the plugin as a plugin.
I am against this. These are plugins for a reason. If everyone is using a plugin, it should be in the core.
I don't want any plugins installed automatically or enabled by default.
(e.g. I'm not using the note tabs plugin.)
But we could create a button in the UI that will download a certain set of plugins that are deemed default/essential/must-have/whatever.
Update: another option would be to allow people to put a plugins-req.txt file in the profile dir that lists plugin ids and these will be installed, when you start up Joplin (in case they are not installed yet).
If something can be implemented as a plugin, it won't be part of the core anyway. The simple reason is that a plugin is the ideal way to implement any feature - it's modular, has no dependency to anything else, runs in an isolated separate process, and can be switched off if needed.
Even if the feature is part of the core, that's still how we want it to be developed, with minimal dependencies to anything else. But again the plugin system provides the best way to do this.
We'll probably have a few default plugins eventually. I see no reason not to since they can be switched off if the user prefers not to have them.
worked perfectly, thank you! ^^ @whitewall check it out
If it's easier to make it part of the app then feel free to create a pull request for it, I think it's useful enough that we can make it part of the core. I agree that if the other features can be part of the plugin it's best.
I'm just wondering what that means. Will Joplin come packaged with a few plugins? Will they be enabled?
I guess we'll see.
What about the features that are part of the core now: mermaid, katex, etc? Are they going to be eventually moved to plugins?
Yes, they’d be packaged with the app.
No, it would be a lot of work to do this and not really needed.
Hmm. It's not working for me. I even tested by adding ```display:none`` and that didn't have any effect either. I'm on Windows. Any ideas what I might be doing wrong? I have the extra css ticked. And when I have a box checked, it changes colour.
Looking into it, there is a limitation that the css only works on first html element following the checkbox, so it will render weird if you have multiple spaces, etc. I'll look into making it more robust.
That said, you should see something, maybe you can share an example that doesn't work?
@whitewall @uxamanda I've learned some new css, and made the checkbox styling a bit more robust. Check it out
span.cm-rm-checkbox.cm-property + span.cm-rm-checkbox ~ span.cm-rm-checkbox {
text-decoration: line-through;
opacity: 0.7;
}
This doesn't quite align with my vision for this plugin. But I'd be willing to help you get this working as a separate plugin!
Ok np and thanks! I haven't done any CodeMirror plugins before so i will look up how you've implemented image preview (the static one) since its probably best way to embed note's content too.
Quickly skimming the docs of CodeMirror i haven't found anything that would be of use in their example addons.
another option would be to allow people to put a plugins-req.txt
I agree that plugins should stay plugins and plugins-req.txt is cool idea.
Feature creep is not good for first time users imo.
The experience journey when they will get accustomed to app first and then find a need that plugin can fulfill seems more natural and encouraging even for non tech savvy adopters .
This release has been pushed and will be available from the plugin repo as soon as it's pulled.