Plugin: Many enhancement for my daily usage [v0.9.0][2022-08-03]

Hello! To meet my requirements in daily usage, I created a plugin that contains several different functions. Hope it can help you. :slight_smile:

Update

0.9.0 [2022-08-03]

  1. Search & Replace [Bug exists. Check the details]
  2. Border for indent list in markdown editor
  3. Clickable task checkbox in markdown editor
  4. Toggle Sidebar and Note List panel together

Features

Each feature can be disabled/enabled in the settings.

ReadCube Papers

ReadCube Papers and others like Dida365 are standalone plugins now.
Please refer to:

Pseudocode

Pseudocode block:

Image

Allow following md works:

![Your Figure Caption Here](/path/to/your/img){width=60%}

This plugin can:

  • Specific the width/height of the image with {width=80px}, {height=30}, {width=50%}
  • Render the image ![]() in a <figure> block with figcaption
  • Use the alt attribute as the figure caption, and display the caption under the image if not empty
  • Center alignment for image and caption
  • Automatic image numbering

Cat and Dog

Table

Auto add row/column, delete column, and format table.

This part mainly comes from takumisoft68: vscode-markdown-table. Please refer to it for the feature description.
I just convert the code from vscode's editor to joplin's codemirror. :slight_smile:

Because I have no idea how to create a context menu, currently all the operations are triggered by shortcut:

Function Shutcut
Insert a row above/below ctrl + shift + up/down
Insert a column left/right ctrl + shift + left/right
Delete current column ctrl + shift + backspace
Navigate to previous cell tab
Navigate to next cell shift + tab
  1. It will automatically format your table code for alignment when navigation between cells with tab
  2. A new line is appended when trying to navigate to next cell from the last cell

Table column colorize from the plugin: hieuthi/joplin-plugin-markdown-table-colorize

tableFormatter

Admonition Renderer in markdown editor

It supports both !!! style and ::: style admonitions.

It only renders the editor. For admonition in the preview, please check the Admonition markdown extension

It conflicts with the 'Align wrapped list items' of Rich Markdown plugin.

This feature could be removed if the conflicts are solved, and it will be pushed to the Rich Markdown plugin.

Admonition Editor Renderer

Enhanced blockquote support

  • It supports [color=red] item in blockquote area so that the blockquote can be rendered with the given color border.
  • [name=SeptemberHX] and [date=20220202]
  • Automatically fold the [xxx=xxx] to keep the editor clean

ColorfulBlockquote

EnhancedQuote

Search & Replace

Code mainly comes from GitHub - zhuhs/codemirror-search-replace: codemirror search and replace

Current Bug: Cannot save after replacement. User needs to manually modify the note to save the change (for example: add a space)
It is disabled by default

Imgur

Border for indent list in markdown editor

It needs the joplin-rich-markdown plugin installed and the feature 'indent list' enabled

IndentBorder

Clickable task checkbox in markdown editor

Codes mainly comes from Zettlr

TaskRender

Toggle Sidebar and Note List panel together

A button on the note toolbar to toggle the sidebar and note list panel together.

It should be useful when the horizontal space of your screen is tight :slight_smile:

Imgur

Render Front Matter to Nothing

It just renders the front matter to nothing. It is helpful when you try to keep the front matter part and avoid the unwanted rendered content (write a blog for example).

frontMatter

Local file preview

Currently only local pdf file can be previewed.

Quick Commands

Type /command in the editor for quick input of table, mermaid, etc.

  • /table
  • /graph
  • /flowchart
  • /sequenceDiagram
  • /gantt
  • /classDiagram
  • /erDiagram
  • /journey
  • /now
  • /today
  • /tomorrow

Auto folder in the editor

  • mermaid block
  • link

Thanks to

16 Likes

Thanks!

I'd love it if the table features could be made as a standalone, or possibly merged into one of the other table plugins, like the Table Formatter.

5 Likes

That's an interesting collection of improvements!
Can you tell if there is perf impact when some features are disabled?

1 Like

Each feature should work fine with some of them disabled because each feature are independent of each other at the code level.

1 Like

It is not likely to make it as a standalone for my convenience. However, I think I can make a PR to the plugin Table Formatter.

Edit: PR is already created.

5 Likes

Is there a ready package to install / copy to the plugin folder?

Or maybe publish the CodeMirror module separately? Then each plugin can choose to integrate it or not (I think it would be good for Rich Markdown too), or we may even integrate it to the app.

5 Likes

It sounds good. I will try to package it as a CodeMirror module once I figure out what a standard npm package looks like.

You can get the packaged plugin file *.jpl from Releases ยท SeptemberHX/joplin-plugin-enhancement ยท GitHub

1 Like

this is the best so far. waiting since years for resizing pictures. thanks so much.
btw. there is another "folder" machanism plugin: Persistent text folding in editor and also a table sorter: GitHub - hieuthi/joplin-plugin-markdown-table-sortable: Add the ability to sort rendered tables on the fly

Any plans to add this to the plugin list, so it would be installable directly from the app?

1 Like

Yes, I have noticed these two plugins before I tried to implement this one. I think 'Persistent text folding plugin' is used to fold one section under a header, but I just want to fold the mermaid code block;

And the 'joplin-plugin-markdown-table-sortable' aims to sort markdown table. This plugin tries to format the table: make it aligned by '|' character in the editor. This plugin also helps to navigate between cells, add row/column, and remove column in the editor.

Not sure I published the plugin in the right way. I just followed Official Joplin plugin repository is now ready! If you are developing a plugin please read on and run npm publish minutes ago.

2 Likes

Which cookie I've to copy to use the Readcube Papers part?

Bildschirmfoto 2022-05-21 um 12.59.35

Not sure which one exactly. When I inspect the Papers' webapp, all the four cookies are used in each requests to the Papers' server. But I am sure that the first three are set after signing in, so I guess we only need the first three.

For me, I copied all the four cookies.

If you are trying to use the Papers feature, please make sure that you get the plugin >= v0.6.2. Some incompatible changes were happened.

I am mostly interested in the image captions. Is there a way to make them smaller and to get rid of the 'Fig #' prefix, pls? I've searched the options but found nothing.

Found a bug:

This keeps popping up, even when I have disabled Papers in the settings.
image

It can be done in your userstyle.css [settings -> appearance -> advance -> markdown], and add:

figcaption::before {
    content: '' !important;
}

figcaption {
    font-size: 10px !important;
}
1 Like

I will check the bug later, and I will make the Papers as a standalone plugin in the next version I think.

2 Likes

:+1: