kyma-incubator / milv Goto Github PK
View Code? Open in Web Editor NEWMarkdown internal & external links validation library and CLI
License: Other
Markdown internal & external links validation library and CLI
License: Other
Description
Milv has problem with detecting headers in markdown links.
Expected result
Milv validates all headers
Actual result
Steps to reproduce
create markdown and run milv against it:
[dasd](#dasd)
and run milv:
./milv --base-path ./bug -v
----- ./bug/1.md - status: true
NO ISSUES :-)
Troubleshooting
Description
Currently we call external URL in uni tests.
Reasons
We shouldn't do call to external service in unit tests.
We can introduce governance job which uses milv from PR as intergration test
Plan
Description
Historical log:
Add 2 missing features to 0.7, which are not available in 0.6:
black-list-internal
and black-list-external
flags for not checking relative and external links in provided path.basePath
feature- checking relative links with additional prefix and/or suffixWe use black-list-internal
, which means: ignore all internal links in those files.
Reasons
in https://github.com/kyma-project/kyma/tree/master/docs we have a lot of links which are correctly rendered on webiste.
Attachments
Description
We should remove all white/black
names, because those parameters are hard to understand.
We propose following renaming:
Old Name | New Name |
---|---|
white-list-internal | internal-links-to-ignore |
white-list-external | external-links-to-ignore |
black-list | files-to-ignore |
black-list-internal | files-to-ignore-internal-links-in |
Reasons
Those names are hard to understand.
Description
While writing a document and creating a TOC for a markown file I discovered that milv has issues with linting internal anchors.
Expected result
Linting this document with milv succeeds.
Actual result
Milv fails with the following error:
+--------------------------------------------------+------------------------+--------------------------------+
| FILE | LINK | DESCRIPTION |
+--------------------------------------------------+------------------------+--------------------------------+
| ./community/concepts/eventing-code-guidelines.md | #dockerfile-guidelines | The specified header doesn't |
| | | exist in file |
+ +------------------------+ +
| | #coding-guidelines | |
| | | |
+ +------------------------+ +
| | #testing-guidelines | |
| | | |
+--------------------------------------------------+------------------------+--------------------------------+
Steps to reproduce
Troubleshooting
@m00g3n suggested to try out the following but it also does not work for me:
[Dockerfile Guidelines](.eventing-code-guidelines.md#dockerfile-guidelines)
[Dockerfile Guidelines](./eventing-code-guidelines.md#dockerfile-guidelines)
Description
milv.config.yaml
file in a repo. (folders vs. address)See the example of the milv file from the
kyma
repo.
community
repo that describe how to create correct links between docs (that milv later validates).Description
README.md
says that base-path
is the root directory of repository, but unfortunately the milv looks for md
files in current working directory. Because of this behavior we have not intuitive settings like this:
files:
- path: "./milv/README.md"
In my opinion, the setting file should looks like:
files:
- path: "./README.md"
Expected result
base-path
should also configure milv to look for md
files in base-path
directory.
Steps to reproduce
The bugs is in this line of code: https://github.com/kyma-incubator/milv/blob/main/cli/cli.go#L54
find
command is not correctly executed.
Troubleshooting
Clone community
and kyma
repository and run milv with base-path
:community
.
Milv will also validate kyma
.
Description
Milv can't detect invalid link, when in the same line we have 2 links: valid and invalid link. The first one is checked, but the other one is not.
Expected result
All links should be validated
Actual result
Only the first links is validated
Steps to reproduce
Create 2 markdowns:
1.md
2.md
in the 1.md
create two links:
[Valid](./2md), [Invalid](./whatever)
and run milv against it.
Description
kyma-governance-nightly
started to return 403 Forbidden
for http://azure.com
4 days in a row. The Azure link is fully accessible so there is a chance there is sth wrong in the milv configuration.
As a temporary workaround, I added the link to the allowlist in the milv config file in PR 11167.
Expected result
Milv should allow this link.
Description
Milv sometimes call external service too intensively
Expected result
Milv should retried the call when got 429 status code after some time.
Actual result
Milv is flaky in CI pipelines, because it sends too many request.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.