Closed XhmikosR closed 1 year ago
We really need this added. I'm gonna spend some time later to have a patch, I'm just not sure how to speed it up.
If anyone wants to help, let me know. I'm not sure how to proceed with linkinator and I'm not aware of another package that works equally good.
The problems I hit so far with linkinator:
linkinator build/
since the build folder doesn't have any html filehttps://nodejs.org/en/foo/
-> /en/foo/
. This isn't a simple search and replace, though, because currently, we leverage Markdown's auto linking feature in many placesI'm unsure how to proceed with this at the moment. I know for sure we need such a check, even if it's just for the local files.
I'd like to hear what others think; maybe someone else has a better solution.
Exclude external links for now and figure out how to handle those later? That will at least prevent an issue like the slash-replace thing that broke a bunch of links on the site.
Alright, I'll wrap my branch up and make a PR later. Note that for the canonical issue, it wouldn't have been caught since it's not an internal link.
Although, there's still the first issue I have.
I made an upstream issue - https://github.com/JustinBeckwith/linkinator/issues/82
Here's the updated list with the 404s I have PRs that fix them removed:
[404] https://foundation.nodejs.org/board
[410] https://vote.linuxfoundation.org/
[0] https://certified.nodesource.com/
[404] https://nodesource.com/blog/announcing-nodesource-certified-modules-for-node-js
[404] http://events.linuxfoundation.org/events/node-interactive
[0] https://liftsecurity.io/
[404] http://eventloop.noders.com/
[404] https://nodejs.org/docs/v4.6.2/api/
[0] https://2016.nodeconf.com.ar/
[404] https://www.openssl.org/news/openssl-1.0.1-notes.html
[0] https://sweet32.info/
[404] http://events.linuxfoundation.org/events/node-interactive-europe
[404] http://events.linuxfoundation.org/events/node-interactive-europe/attend/diversity-scholarship
[0] http://nodeup.com/onehundredtwo
[0] http://ctt.marketwire.com/?release=11G082331-001&id=8448115&type=0&url=https%3a%2f%2fnodejs.org%2fen%2ffoundation%2f
[0] http://nodeup.com/onehundred
[404] https://www.npmjs.com/settings/tokens
[0] http://sphinx.sg/
[0] https://ssrg.nicta.com.au/projects/TS/cachebleed/
[404] https://www.openssl.org/news/cl101.txt
[404] http://jona.io/blog/board-application/
[404] http://contra.io/node_board.txt
[404] http://bnb.im/blog/Individual-Membership-on-the-Board-of-Directors-for-Node-js.html
[410] https://medium.com/@evan.cowden/the-world-s-worst-resume-e0adf234baa0
[0] http://nodeup.com/ninetyseven
[0] https://www.bithound.io/
[404] https://www.joyent.com/innovation
[0] https://marketing.nodesource.com/acton/fs/blocks/showLandingPage/a/15680/p/p-001f/t/page/fm/4
[0] https://synchro.io/launch
[0] http://nodeup.com/ninetysix
[404] http://blog.bithound.io/why-we-stopped-vendoring-our-npm-dependencies/
[0] http://nodeup.com/ninetyfive
[404] https://foundation.nodejs.org/tsc/
[404] https://nodejs.org/download/release/latest-v4.x/node-v4.2.2-linux-armv6l.tar.gz
[0] http://nodeup.com/ninetythree
[0] http://nodeup.com/ninetyfour
[0] https://codek.tv/2095
[0] http://nodeup.com/ninetytwo
[404] http://ditrospecta.com/javascript/plugin/hubot/2015/10/03/hubot-plugin-choose-place-to-drink-coffee.html
[0] https://playnode.io/
[0] http://nodeup.com/ninetyone
[404] http://interactive.nodejs.org/
[404] http://events.linuxfoundation.org/events/node-interactive/program/cfp
[999] https://www.linkedin.com/in/danesecooper
[999] https://www.linkedin.com/pub/scott-hammond/1/a4b/92a
[999] https://www.linkedin.com/in/brianmccallister
[999] https://www.linkedin.com/pub/todd-moore/2b/540/798
[999] https://www.linkedin.com/in/stevenewcomb
[999] https://www.linkedin.com/in/gianugo
[999] https://www.linkedin.com/in/charlierobbins
[999] https://www.linkedin.com/pub/imad-sousou/6/b49/2b8
[999] https://www.linkedin.com/in/rvagg
[999] https://www.linkedin.com/pub/bill-fine/2/497/916
[999] https://www.linkedin.com/in/mikealrogers
[404] https://twitter.com/aminekabab
[404] https://twitter.com/bananaoomarang
[404] https://nodesource.com/products/nsupport
[403] https://apigee.com/
[404] http://www.linuxfoundation.org/news-media/announcements/2015/06/nodejs-foundation-advances-community-collaboration-announces-new
[404] https://strongloop.com/strongblog/deploying-multiple-node-js-apps-with-strong-pm-io/
[0] http://dailyjs.com/2015/06/19/not-really-single-page-apps/
[404] https://strongloop.com/strongblog/containerizing-node-js-apps-with-docker-and-strongloop/
[403] http://builtinnode.com/
[0] https://paulb.gd/comparing-nodejs-ides/
[0] https://unpm.nodesource.com/
[0] http://blog.modulus.io/top-10-reasons-to-use-node
[404] http://developer.leankit.com/painless-sql-server-with-nodejs-and-seriate/
[0] http://blog.upwardsmotion.com/golden-rules-for-js-introduction-to-your-ee-project/
[0] http://blog.modulus.io/modulus-and-progress-software-join-nodejs-foundation
[0] https://blog.famous.org/famous-industries-joins-the-node-foundation/
[404] https://strongloop.com/strongblog/announcing-the-node-js-foundation/
[404] https://strongloop.com/strongblog/should-i-use-node-js-or-io-js-and-which-version/
[404] https://twitter.com/edatrero/status/605040698992164864
[404] https://strongloop.com/strongblog/new-io-js-features-you-may-not-be-using/
[404] https://soundcloud.com/node-foundation/tsc-meeting-2015-05-27
[0] http://blog.modulus.io/promise-errors-in-iojs
[404] https://www.linux.com/news/featured-blogs/205-mike-dolan/763051-five-key-features-of-a-project-designed-for-open-collaboration
[0] http://nodeadvisoryboard.com/
[404] https://chromium.googlesource.com/v8/v8/+/refs/heads/4.2.77/ChangeLog
[0] http://blog.modulus.io/upcoming-updates-for-nodejs-applications
[0] http://jsconf.uy/
[404] https://iojs.org/dist/v1.7.0/
[404] https://vimeo.com/121707989
[0] http://nodeup.com/eightyfour
[0] http://descriptive.audio/
[0] http://descriptive.audio/episodes/12
[403] http://dockeri.co/
[404] https://strongloop.com/strongblog/are-node-and-io-js-affected-by-the-freak-attack-openssl-vulnerability/
[0] http://blog.technical.io/post/112787427217/tessel-2-new-hardware-for-the-tessel-ecosystem
[0] http://blog.technical.io/post/112888410737/moving-faster-with-io-js
[409] http://hueniverse.com/2015/03/02/the-node-version-dilemma/
[0] http://blog.iojs.jp/
[0] http://cn.iojs.org/
[0] https://semaphoreapp.com/blog/2015/02/17/platform-update-on-february-24th.html?utm_source=twitter&utm_medium=social&utm_content=platform_update_launch&utm_campaign=platformupdate
[0] http://nodegovernance.io/
[0] http://www.actionherojs.com/
[404] https://www.totaljs.com/
[404] https://soundcloud.com/iojs/iojs-build-wg-meeting-2015-02-19
[404] https://soundcloud.com/iojs/iojs-tc-meeting-meeting-2015-02-18
[404] https://soundcloud.com/iojs/iojs-website-wg-meeting-2015-02-16
[0] http://blog.technical.io/post/110115579867/upcoming-hardware-from-technical-machine
[404] https://nodejs.org/en/about/advisory-board/
[404] https://nodejs.org/en/404.md/
[404] https://nodejs.org/en/about/organization
[501] https://t.me/nodejsarmenia
[999] https://www.linkedin.com/in/ioannis-nikolaou/
[999] https://www.linkedin.com/in/ayush-rawal
[0] https://slack.js.la/
[404] https://nodejs.org/en/about/organization/
[404] http://www.joyent.com/noderoad/cities/minneapolis-6-17-2014
[404] http://www.joyent.com/noderoad/cities/cincinnati-6-19-2014
[404] http://www.joyent.com/noderoad/cities/suggest
[0] https://scalenpm.org/
[503] https://www.nodejitsu.com/company/press/2013/05/22/iriscouch/
[404] http://wiki.apache.org/couchdb/Compaction
[404] https://nodejs.org/benchmarks-v0.10-vs-v0.8/
[0] http://jenkins.nodejs.org/
[404] http://strongloop.com/products
[0] http://thenodefirm.com/
[0] http://thenodefirm.com/nodejs-consulting-subscriptions
[0] https://www.irisnpm.com/
[403] http://www.iriscouch.com/
[404] https://dl.dropbox.com/u/3685/presentations/streams2/streams2-ko.pdf
[404] http://substack.net/posts/16a9d8/multi-server-continuous-deployment-with-fleet
[404] http://substack.net/posts/7a1c42
[404] http://substack.net/posts/5bd18d
[404] https://cs.brown.edu/people/dapachec/helloworld.svg
[404] http://json.org/java/
[404] http://www.flickr.com/photos/luc_viatour/4247957432/
[404] https://npmjs.com/doc/semver.html
[404] https://npmjs.com/doc/shrinkwrap.html
[404] https://npmjs.com/doc/outdated.html
[404] http://www.mikealrogers.com/posts/nodemodules-in-git.html
[404] http://corp.klout.com/blog/2011/10/the-tech-behind-klout-com/
[404] http://www.engineyard.com/blog/2009/ldap-directories-the-forgotten-nosql/
[404] https://nodejs.org/meetup/
[0] https://www.cloudkick.com/
[0] http://marakana.com/forums/java/general/278.html
Some are FP like most of the linkedin links. Let me know how to proceed.
I've pushed the branch which checks all links here https://github.com/nodejs/nodejs.org/runs/257523435
It's too much running this on each commit, so for now, I think just doing this manually from time to time is better.
Remember there are still some false positives, but most of those are really broken links.
I really think we should decide about these and not have a new issue/PR for each on of them :/
Anyway, in some cases, we might need to add redirects in build.
Are most of the ones in the GitHub Actions results in old blog posts/news items? I'd be OK with any of these to solve those:
Archive old news/blog items at archive.org or whatever (they're probably already there) and remove them from the site. We can subsequently work with releasers to get rid of the blog. It seems like releases are the only thing that gets regularly published there, and I think trying to curate/maintain a blog is too ambitious. Our main site should be simple, easy to navigate, and manageable in size.
Configure linkinator to ignore blog/news items.
https://github.com/nodejs/community-committee/blob/master/GOVERNANCE.md should probably be https://github.com/nodejs/community-committee/tree/master/governance
https://github.com/nodejs/nodejs-ro should probably be removed along with all the other individual repos listed in that list. That is way too much information for a brief working group summary. Each of those repos is going away, slowly. Translation work happens elsewhere now. Link to CrowdIn maybe if it's not already there. But if you want to keep the change set small and hopefully uncontroversial, just remove https://github.com/nodejs/nodejs-ro and leave everything else for now.
For http://events.linuxfoundation.org/events/node-interactive, the link can be removed. The text can just be plain text with no link.
This shouldn't be relevant anymore. Inexistent links might exist, but for now there no feasible actions here, not to mention afaik we already fixed (within the website) all broken links.
For the future we could use linkinator, although we'd need to tweak it to handle the internal docs links that are missing from this repo.