goldbergyoni / nodebestpractices

:white_check_mark: The Node.js best practices list (July 2024)
https://twitter.com/nodepractices/
Creative Commons Attribution Share Alike 4.0 International
100.61k stars 10.2k forks source link

Add formatter and linter for markdown #985

Closed rluvaton closed 2 years ago

rluvaton commented 3 years ago

As discussed with @goldbergyoni we think we should add a formatter for the markdown and the code examples (except for the style section in the README.md and for the style section markdown files as they show bad behavior on purpose)

elektronik2k5 commented 3 years ago

I recently added markdownlint-cli to a project with git hooks and CI. I can add it to this repo too. Related: I can also add cspell for all the English pages, assuming they're easy to identify.

rluvaton commented 3 years ago

Great suggestion!

@goldbergyoni suggested (here https://github.com/goldbergyoni/nodebestpractices/pull/966#discussion_r633078664) that maybe we should see the lint errors in the GitHub files tab

I think that maybe Review Dog can do it but I only heard of that tool and haven't used it

goldbergyoni commented 3 years ago

@elektronik2k5 and @rluvaton Sounds awesome, gotta love PRs that address many future PRs at once

Layman question - Can't markdown and cspell be configured as eslint plugins so we have one configuration?

elektronik2k5 commented 3 years ago

Looks like it is possible for markdown: https://www.npmjs.com/package/eslint-plugin-md. However, this plugin uses remark-lint and I have no experience with it. It looks like a serious project and even has a VSCode extension for it. I can try it and see how it competes with markdownlint.

And it also looks to be possible for spelling: https://www.npmjs.com/package/eslint-plugin-spellcheck. This looks less promising cause it is based on hunspell-spellchecker, which was updated last 6 years ago. It also has a VSCode extension, so maybe it is just mature and doesn't need maintenance. 🤷🏻‍♂️ I can try it and report back on how it fares against cspell.

However @goldbergyoni, I was hoping to just copy/paste the setup I've been using for years and be done with it. I don't don't mind trying new (to me) and competing tools, but it will take me longer to do that.

Also, as a great believer in the Unix philosophy, I prefer having small, single purpose and discrete tools instead of a monolith with plugins. But the latter definitely has advantages too.

goldbergyoni commented 3 years ago

However @goldbergyoni, I was hoping to just copy/paste the setup I've been using for years and be done with it. I don't don't mind trying new (to me) and competing tools, but it will take me longer to do that.

This sounds super-sensible, our time matters most:)

And thanks for the explanations, I'm now familiar with tools I didn't know

@elektronik2k5

rluvaton commented 3 years ago

@elektronik2k5 I think it's a great idea, just so you know, we already using markdown-cli but only on the README.md file, so it will help if it would run on all Markdown file.

BTW, we can identify the English files if they only have 1 dot, for example:

- sections/
  - ...
  - projectstructre/
    - configguide.md
    - configguide.russian.md
    - ...
rluvaton commented 3 years ago

@elektronik2k5 is there anything I can help?

stale[bot] commented 2 years ago

Hello there! 👋 This issue has gone silent. Eerily silent. ⏳ We currently close issues after 100 days of inactivity. It has been 90 days since the last update here. If needed, you can keep it open by replying here. Thanks for being a part of the Node.js Best Practices community! 💚