Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Proposal] Updates, fixes and new features #28

Open
jenkin opened this issue Jul 4, 2023 · 8 comments
Open

[Proposal] Updates, fixes and new features #28

jenkin opened this issue Jul 4, 2023 · 8 comments

Comments

@jenkin
Copy link

jenkin commented Jul 4, 2023

I think this project has unique features (ie. built-in globbing and direct md analysis without compilation to html) among competitors (ie. markdown-link-check) and is good enough to deserve a proper evolution path in next future.

For an internal open source project (a knowledge base written in markdown and powered by Raneto) I took the v1.0.1 (8 Jun 2021) of markdown-link-validator and made some changes to adapt it to our requirements: https://github.com/jenkin/markdown-link-validator/.

  1. update all dependencies and resolve all known vulnerabilities highlighted by npm audit
  2. add support to absolute local links (ie. [internal page](/path/to/page.md))
  3. [-q option] add a quiet mode to report only errors if present (see issue Allow show only the errors in the report. #6)
  4. [-e option] add support to optional .md extension (ie. for [internal page](./path/to/page) it searches also for [internal page](./path/to/page.md) or [internal page](./path/to/page/index.md)
  5. [-o option] add support to other extension checking (ie. [local asset](./path/to/image.png) (see issue Relative Image links are reported as invalid #27)
  6. ignore links in code blocks and inline code
  7. add support to standalone links checking (ie. without [anchor](https...) or [anchor] https...)
  8. [-c option] ignoring failing external urls based on response status codes (added to final report)
  9. [--ignorePatternsFrom option] ignoring files by patterns taken from a file
  10. [--noEmptyFiles option] raising error if linked files are empty

No breaking changes to the API are introduced. All existing options have the same behavior and defaults and new optional features depends on options disabled by default. Only 2), 6) and 7) are opinionated and could require some discussions. All new features have tests (but I know we can improved them further).

All changes live on feature/sparkfabrik-enhancements branch. I think all of them can met a broader interest beyond our company playbook, so I propose you to review my work and consider to accept a PR and update the npm package.

@molant
Copy link
Member

molant commented Jul 4, 2023

@jenkin nice!
Do you mind opening a PR so it's easier to see the diff?

@mi-hol
Copy link

mi-hol commented Jul 4, 2023

made some changes to adapt it to our requirements

the list of addl. requirements makes perfect sense!

@jenkin
Copy link
Author

jenkin commented Jul 6, 2023

Cool! My roadmap for coming days includes two more steps:

  1. Check and fix Add support to check Link labels #7
  2. Add warnings (ie. shown in report in yellow, but no error code on exit) for empty md files and ignored status codes (see 8)

That would be all for the purpose of our internal project.

Please, let me know if something needs to change to merge the PR (ie. I added dist/ folder to repo to allow npm to install the package from github).

@jenkin
Copy link
Author

jenkin commented Aug 4, 2023

@molant I finished to implement steps 10 and 11. Are you going to consider to merge my PR? If so, let's talk to finalize it! :)

@molant
Copy link
Member

molant commented Aug 4, 2023 via email

@jenkin
Copy link
Author

jenkin commented Aug 4, 2023

No problem, I will be on vacation for the next two weeks, so take your time. Thanks!

@jenkin
Copy link
Author

jenkin commented Sep 18, 2023

Hi @molant , I'm back, I hope you are well too. Let me know next steps to close this issue... 😃

@mi-hol
Copy link

mi-hol commented Nov 20, 2023

It will be a bit until I have time to finalize reviewing it.

@molant hope you are doing fine. Would you be in a position to forecast the rough timeline(s) until completion?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants