common-workflow-language / cwl-website

www.commonwl.org
Apache License 2.0
10 stars 20 forks source link

linkchecker needs to take into account actual root location; add ignore list; and break the build if a link is broken #79

Closed mr-c closed 2 years ago

mr-c commented 3 years ago

@lunacodes can you open a PR to fix these soonish? https://github.com/common-workflow-language/common-workflow-language.github.io/blob/21704381d24d5774a12deab9503fc4541c87ea66/linkchecker-report.txt

@tetron can you configure the website build to fail if there are broken links?

lunacodes commented 3 years ago

@mr-c I think there's something wrong with the link checker tool. If those things were broken, the entire page would appear really messed up. It appears what's happening is that the tool is not picking up the fact that the file path for all these things is under /content/. So it's looking for e.g. /assets/js/bootstrap.min.js without understanding that the file path (not url) is actually /content/assets/js/bootstrap.min.js. You can verify this sort of thing by opening up your browser's Developer Tools (right click and hit inspect, or else F12 often works) and checking the Console tab. You'll see 404 errors there, if there's an issue.

I ran the site through brokenlinkcheck.com and ahrefs.com/broken-link-checker, which did find one broken link for the homepage (which I'll open a PR for in a few), and a handful for the various doc pages. I'm less familiar with those sections of the site, though I can try to take a look at them, if you want.

Here's the output from the ahrefs.com checker. The left column shows the page containing the broken link; the right column is the actual broken link:

lunacodes commented 3 years ago

Broken Link in Code Libraries section of homepage:

Ln. 64 of _includes/home/software-for-working-with-cwl.html currently reads: |[cwltool](https://github.com/common-workflow-language/cwltool)|cwltool (can be [imported as a Python module](https://www.commonwl.org/(https://github.com/common-workflow-language/cwltool#import-as-a-module)) and [extended to create custom cwl runners](https://github.com/common-workflow-language/cwltool#extension-points)|

Should read: |[cwltool](https://github.com/common-workflow-language/cwltool)|cwltool (can be [imported as a Python module](https://github.com/common-workflow-language/cwltool#import-as-a-module) and [extended to create custom cwl runners](https://github.com/common-workflow-language/cwltool#extension-points)|

mr-c commented 3 years ago

Thanks @lunacodes for the analaysis! @tetron can you configure the linkchecker to take this other root path into consideration?

mr-c commented 2 years ago

I fixed the link checker, and some broken links, in https://github.com/common-workflow-language/cwl-website/pull/86