Plugin: Markdownlint & Textlint integration (WIP)

This plugin is still under development.

What is Lint ?

Lint , or linter , is a kind of tool for programmers to mark source code fragment(s) which doesn't conform to a specific format. Programmers usually use lint to find potential bugs or nonstandard code when they're coding.

For non-programmers, lint is also helpful when they hope to keep their writing conformed to specific formats. For example, someone may want to be reminded not to leave todo: in text.

Markdownlint & textlint

Markdownlint and textlint are both open-source lint tool for daily writing, with many community-made rules(markdownlint rules, textlint rules). Each rule specify a format to check. For example, with textlint no-todo rule, textlint will check whether todo or - [] is existing in text, with markdownlint no-inline HTML rule, markdownlint will check whether HTML code is existing in text.

Some rules are also fixable, which means they can report and fix problems. For example, textlint no-todo rule can remove todo mark for you if you choose to do so.

Why two linters?

Markdownlint and textlint look similar: they both parse your markdown text and apply some rules to check. However, they have different goals and you can tell from their rules list:

  • markdownlint: focus on Markdown syntax check
  • textlint: focus on text's content check

Joplin with markdownlint & textlint

With this plugin, you can integrate markdownlint & textlint into Joplin. You can configure any rules you like, this plugin will download them to let markdownlint & textlint check and report.

9 Likes

Wow. That looks really cool.

It looks like it could almost be a substitute for Grammerly. Is that the idea?

Can it be triggered on just certain notes? By tag?

Thanks! Looking forward to trying it out.

@whitewall Grammerly is kind of based on NLP technology, but textlint is just based on static text check. You can view textlint rules list to get your conclusion. However, a textlint rule can do anything including NLP or call online API in theory. It depends on textlint community. Some examples:

1 Like

I just realized that markdownlint is also integratable. So this plugin will be joplin-lint instead of joplin-textlint.

1 Like

Nice plugin idea! I would also like to try it out when it's released.

Do you think it's possible to add auto fixing of the lint errors? That would be convenient. However, it might be difficult, since one linter may fix/detect different errors than the other.

JFYI: Here is a similar obsidian plugin.