Plugin: Rich Markdown

You are a wizard!!! :woman_mage: It works perfectly. I'll post any updates if anything breaks. Thanks!
@CalebJohn , do you think this is worthy of putting in the github doc with tips? I realize it may start to cross the line of what you want the plugin to be doing.

I think it it's worthwhile, I'll have to test it myself, but I don't think it crosses the line. As long as it has something the represents a bullet and isn't messing with the margins too much it should be fine.

1 Like

I have changed it a little bit as far as the margins and bullet size. This feels more like how bullet points should be aligned:

/*make markdown tokens for list into dots*/
.cm-variable-2.cm-overlay.cm-rm-list-token.cm-overlay.cm-rm-em-token {
color: transparent !important;
background-color: #295244!important;
height: 6px;
width: 6px;
border-radius: 50%;
display: inline-block;
vertical-align: bottom;
margin: 0 0px 8px 8px;
}

FYI, the color: transparent !important; is needed because the original * doesn't align with the new dot.

I have not yet tried doing this for sub levels, but that should also be tested.

2 Likes

This issue is actually pretty new to me, I had to look it up! I have some filenames with spaces, and I found that the CommonMark syntax for problem filenames is to put the path in angle brackets, like so: ![image](<file name with spaces.jpg>)

There are other workarounds so it's not a big issue, but I figured this is worth mentioning since the CommonMark syntax is implemented in the preview pane, which creates a discrepancy in output.

In any case, thanks for this great plugin!

1 Like

Unfortunately, I missed this when you posted it, but I'd like to help you out with it now. The cm-rm-header-token already includes the space, but I can give it an additional class if that would be helpful? Just let me know if you're still interested in making this work better.

Thanks for sharing this @saeger ! I did not know about that aspect of CommonMark, and I'll do my best to support it now that I do know about it.

1 Like

This was easier to fix than I anticipated! I have just release v0.4.6 which includes a fix for this, please let me know if you encounter any other issues!

1 Like

Sure, always up for improving things.

I took a look back at the code I used, and looked at what you said about the space. You are correct that it is there. In retrospect, I think I am actually hitting the issue where HTML truncates trailing spaces on block-level items.

I tested adding a class to the space, setting it to inline-block, and giving it a defined width, and that solution seems to work.

Open to suggestions if anyone knows how to prevent the trailing space from disappearing in the first place!

After thinking about this more, I realized that I can fix this whole issue myself by adding the space... after! So, no need to add the extra class unless you think other folks might want it.

[For context, this edits the code found in this comment: Plugin: Rich Markdown - #108 by uxamanda]

.cm-header.cm-rm-header-token{
   /*makes the markdown #, ##, ###, etc less noticable*/
    color: var(--color-medium) !important;
    font-size: 70%; 
    margin-left: -50px;
    max-width: 50px;
    width: 50px;
    overflow: hidden;
    display: inline-block;
    text-align: right;
}
.cm-header.cm-rm-header-token:after {
	/*this adds space AFTER the markdown ## and the header*/
	content: '--'  !important;
	color: transparent;
}
2 Likes

I have a question. Is it possible to toggle checkbox only using keyboard shortcut when the cursor is on the line of specific checkbox (something like Ctrl+Enter or Ctrl+Shift+Enter)? I'm also using vim mode.

1 Like

Not yet, the code was written awhile ago but it depended on v1.8.5 of Joplin so I've been delaying it until everyone is updated. You asking is a good prompt, I'll re-test on my machine and likely push out a release this week.

3 Likes

I notice that I could use ctrl + mouse click to go to the linked notes.

Follow note links with Ctrl (or Opt)+Click

While I'm using vim with joplin, I hope I could use something like Ctrl + Enter to go to the link(under the cursor) without touch mouse.

Please consider add the feature into your plugin~~~

Really Thank you~

Hi @Edwardlin please see my previous reply.

Thanks.

1 Like

Haha, sorry, didn't look through the previous conversations~

Press and hold the CTRL key, the cursor points to the picture link to display the picture, but press the left mouse button can not open the picture, can you add such a function? thank you
@CalebJohn

1 Like

I like this, but unfortunately it kinda screwed with the line height for lines with links when they become active/inactive.

For me, it works perfectly if I just stick with this:

div:not(.CodeMirror-activeline) > .CodeMirror-line .cm-string.cm-url {
    display: none;
}

Any particular reason why you went with the font-size and pseudo-selector solution?

1 Like

Actually I just copied the code from the referenced forum and didn't really fiddle around with it. I tried yours and it's much smoother, thanks : )

v0.5.0

  • Added the "Perform Action" command (Ctrl+Enter by default) which will emulate Ctrl+Clicking on elements.
  • Clicking on images will now open them (@s4j4 thanks for the suggestion!)

Pretty small update this time, but I think it will be useful for most people! This update bumps the minimum supported Joplin version to v1.8.0, so if you haven't updated your base Joplin yet, now would be a good time!
As always, this has been pushed up and should become available shortly.

6 Likes

I don't know why, this "Perform Action" can't work on my app.

My Joplin Version is Joplin 2.2.1 (prod, darwin)

I had a few issues with this while testing and I think it might be related to a bug in the way Joplin assigns keyboard shortcuts. Can you open Tools -> Options -> Keyboard Shortcuts and confirm that Perform Action is bound to Ctrl+Enter? After that can you please test again.

edit: Actually, I just ran into this issue on my computer as well. I'll push out a fix asap.
The patch should be up in a few minutes, please let me know if it's working properly.