Curriculum: Use tool to scan links on the curriculum project

Created on 24 Oct 2019  ยท  8Comments  ยท  Source: Techtonica/curriculum

Use the following app to scan each Techtonica/curriculum project outline file for broken links. We recently scanned the readme file (noted in the comments), but things change quickly, so it wouldn't hurt to do it again.

Also, if this seems too large, please scan as many as you're comfortable with and report back your findings.

Fix any that you can in a PR, and report back with a list of clean/fixed and broken links in the comments so we know where to continue.

http://github.com/tcort/markdown-link-check


For FAQs on how to contribute, see: https://github.com/Techtonica/curriculum#volunteering

EASY

Most helpful comment

Hey there! I will add my touch on this one! :slightly_smiling_face:

All 8 comments

Hey there! I will add my touch on this one! :slightly_smiling_face:

When I scanned the README.md file, I got this report, and I thought of sharing with everyone on this issue.

[โœ“] http://techtonica.org
[โœ“] ./README.md#table-of-contents
[โœ“] https://docs.google.com/forms/d/e/1FAIpQLSeW0mo-Dpsig70374UEPvzexpas-31Ost_HsFwm0kjNOxtbtg/viewform?c=0&w=1
[โœ“] https://github.com/Techtonica/curriculum/projects/2
[โœ“] https://github.com/Techtonica/curriculum/blob/master/_templates/topic-outline.md
[โœ“] mailto:[email protected]
[โœ“] https://docs.google.com/presentation/d/1BvO6PrSpulHVSDNOkMaDZM-V7McmheLgm0Lg2PFae7k/edit#slide=id.p
[โœ“] https://github.com/Techtonica/curriculum/blob/master/databases/mongo-db.md
[โœ“] https://drive.google.com/file/d/1022MSkPjfRyGAUQa2I-pQltpUn4Q1NJc/view
[โœ–] /welcome-tips-rules/tech-industry-tips.md
[โœ“] https://docs.google.com/document/d/1IWny-IXB-XDWW21l3JODwPuh1QOVBFQbii_DjvF0g00/edit?usp=sharing
[โœ–] /learning-to-learn/learning-to-learn.md
[โœ“] https://github.com/Techtonica/curriculum/blob/master/conflict-resolution/conflict-resolution.md
[โœ“] https://github.com/Techtonica/curriculum/blob/master/diversity-inclusion-bias/inclusion.md
[โœ–] /professionalism/professionalism.md
[โœ–] /ergonomics/ergonomics.md
[โœ–] /roles-in-tech/roles-in-tech.md
[โœ“] https://docs.google.com/document/d/1SWiUl0lYQ0sYDM8vQnVhJVOvT4MRA-9pDglKOgqTWak/edit
[โœ–] /growth-mindset/YCLA_LessonPlan_v10.pdf
[โœ–] /command-line/command-line-interface.md
[โœ–] /command-line/command-line-advanced.md
[โœ–] /command-line/dot-profile.md
[โœ–] /command-line/vim.md
[โœ–] /operating-systems/operating-systems.md
[โœ–] /command-line/keyboard-shortcuts.md
[โœ–] /asking-good-questions/asking-good-questions.md
[โœ–] /vs-code/vscode.md
[โœ–] /networking/networking.md
[โœ–] /conflict-resolution/conflict-resolution.md
[โœ“] requests-and-responses/requests-and-responses.md
[โœ“] requests-and-responses/intro-to-dns-ip.md
[โœ–] /projects/first-assessment.md
[โœ–] /pair-programming/pair-programming.md
[โœ–] /html/html.md
[โœ–] /git-version-control/git-version-control.md
[โœ–] /projects/recipe-page/phase-1-html-prompt.md
[โœ–] /git-version-control/gitignore.md
[โœ–] /github-code-storage/github-storage.md
[โœ–] /css/css.md
[โœ“] https://bitsofco.de/what-exactly-is-the-dom/
[โœ–] /chrome-developer-tools/chrome-developer-tools.md
[โœ–] /projects/recipe-page/phase-2-css-prompt.md
[โœ–] /css/media-queries.md
[โœ–] /ui-ux-design/ui-ux-design.md
[โœ–] /web-patterns/web-patterns.md
[โœ–] /bootstrap/bootstrap.md
[โœ–] /professionalism/building-confidence.md
[โœ–] /projects/recipe-page/phase-3-bootstrap-prompt.md
[โœ“] giving-presentations/giving-presentations.md
[โœ–] /git-version-control/git-version-control-part2.md
[โœ–] /projects/portfolio/portfolio-webpage-1.md
[โœ–] /diversity-inclusion-bias/inclusion.md
[โœ–] /accessibility/accessibility.md
[โœ–] /seo/seo.md
[โœ–] /projects/portfolio/portfolio-webpage-2.md
[โœ–] /github-collaboration/github-collaboration.md
[โœ–] /personal-brand/personal-branding.md
[โœ–] /reading-and-writing-documentation/documentation.md
[โœ–] /writing-readable-code/writing-readable-code.md
[โœ–] /deploying/deploying-1-personal-site.md
[โœ–] /projects/portfolio/portfolio-webpage-3.md
[โœ–] /javascript/javascript-1.md
[โœ–] /javascript/javascript-2.md
[โœ–] /interviewing/whiteboarding.md
[โœ–] /datetime/datetime.md
[โœ–] /interviewing/week-3-whiteboard-challenges.md
[โœ–] /javascript/javascript-3.md
[โœ–] /javascript/javascript-4.md
[โœ–] /javascript/javascript-5.md
[โœ–] /javascript/javascript-6-object-literals.md
[โœ–] /runtime-complexity/runtime-complexity.md
[โœ–] /javascript/basic-js-practice.md
[โœ–] /javascript/week-4-JS-assessment.md
[โœ–] /javascript/javascript-7-oop.md
[โœ–] /javascript/first-js-oop-project.md
[โœ–] https://github.com/Techtonica/curriculum/blob/master/javascript/event-recommender.md
[โœ–] https://github.com/Techtonica/curriculum/blob/master/javascript/event-recommender-part2.md
[โœ–] /testing-and-tdd/testing-and-tdd.md
[โœ–] /testing-and-tdd/jasmine-testing.md
[โœ–] /javascript/javascript-8-regex.md
[โœ–] /debugging/debugging.md
[โœ–] /javascript/javascript-9.md
[โœ–] /api/apis-and-json.md
[โœ–] /ajax/ajax.md
[โœ–] /api/twilio-api.md
[โœ–] /data-visualization/data-visualization.md
[โœ–] /node-js/node-js.md
[โœ–] /express-js/express.md
[โœ“] databases/data-models.md
[โœ–] /command-line/env.md
[โœ–] /databases/data-models.md
[โœ–] /databases/sql.md
[โœ–] /databases/installing-postgresql.md
[โœ–] /databases/relational-databases.md
[โœ“] https://teamtreehouse.com/library/querying-relational-databases
[โœ–] /testing-and-tdd/integration-testing.md
[โœ“] https://teamtreehouse.com/library/using-sql-and-nodejs-with-sequelize
[โœ–] /projects/minimal-api-project.md
[โœ–] /databases/database-migrations.md
[โœ“] https://blog.logrocket.com/setting-up-a-restful-api-with-node-js-and-postgresql-d96d6fc892d8
[โœ“] https://teamtreehouse.com/library/introduction-to-rest-apis
[โœ“] https://teamtreehouse.com/library/rest-apis-with-express
[โœ–] /agile-development/scrum.md
[โœ–] /projects/eventonica-project.md
[โœ–] /databases/mongo-db.md
[โœ–] /react-js/react.md
[โœ–] /projects/eventonica-react.md
[โœ–] /testing-and-tdd/enzyme-testing.md
[โœ–] /projects/react-assessment.md
[โœ–] /security/web-security.md
[โœ–] /oauth/o-auth.md
[โœ–] /projects/auth0-assessment.md
[โœ–] /deploying/deploying.md
[โœ–] /recursion/recursion.md
[โœ–] /runtime-complexity/memoization.md
[โœ–] /optimization/optimization.md
[โœ–] /javascript/javascript-maps.md
[โœ–] /refactoring/refactoring.md
[โœ–] /optimization/optimizing-your-react-node-project.md
[โœ–] /agile-development/intro-to-agile.md
[โœ–] /functional-programming/FP.md
[โœ–] /projects/advanced-methods-assessment-10.md
[โœ–] /data-structures/intro-to-data-structures.md
[โœ–] /projects/data-structures-algorithms-sprint.md
[โœ–] /data-structures/stack.md
[โœ–] /data-structures/queues.md
[โœ–] /data-structures/deque.md
[โœ–] /data-structures/linked-lists.md
[โœ–] /data-structures/hash-tables.md
[โœ–] /data-structures/trees.md
[โœ–] /algorithms/intro-to-algorithms.md
[โœ–] /algorithms/searching.md
[โœ–] /algorithms/sorting.md
[โœ–] /interviewing/technical-interviewing.md
[โœ–] /projects/data-structures-algorithms-assessment.md
[โœ“] https://haseebq.com/how-to-break-into-tech-job-hunting-and-interviews/#general-study
[โœ–] /navigating-new-codebases/navigating-new-codebases.md
[โœ–] /open-source/open-source.md
[โœ–] /interviewing/non-technical-interviewing.md
[โœ–] /resume-writing/resume-writing.md
[โœ“] https://www.fullstackinterviewing.com/2018/02/02/the-ultimate-guide-to-kicking-ass-on-take-home-coding-challenges.html
[โœ–] /projects/take-home-problems/frontend.md
[โœ–] /projects/take-home-problems/backend.md
[โœ–] /roles-in-tech/technical-writing.md
[โœ–] /roles-in-tech/machine-learning.md
[โœ–] /roles-in-tech/entrepreneurship.md
[โœ–] /roles-in-tech/data-science.md
[โœ–] /roles-in-tech/security.md
[โœ–] /roles-in-tech/qa.md
[โœ–] /roles-in-tech/developer-advocate.md
[โœ–] /roles-in-tech/sales-engineering.md
[โœ–] /roles-in-tech/technical-program-manager.md
[โœ–] /projects/final-project/selecting-your-project.md
[โœ–] /projects/final-project/final-project.md
[โœ–] /mobile-development/mobile-development.md
[โœ–] /women-in-tech-resources/resources-list.md
[โœ–] /professionalism/difficult-workplace-situations.md
[โœ–] /financial-literacy/financial-literacy.md
[โœ–] /interviewing/negotiating.md
[โœ–] /ethics/ethics.md
[โœ–] /sass/sass.md
[โœ–] /python/python.md
[โœ“] https://creativecommons.org/licenses/by-sa/4.0/legalcode
[โœ“] https://i.creativecommons.org/l/by-sa/4.0/88x31.png

164 links checked.

ERROR: 137 dead links found!
[โœ–] /welcome-tips-rules/tech-industry-tips.md โ†’ Status: 400
[โœ–] /learning-to-learn/learning-to-learn.md โ†’ Status: 400
[โœ–] /professionalism/professionalism.md โ†’ Status: 400
[โœ–] /ergonomics/ergonomics.md โ†’ Status: 400
[โœ–] /roles-in-tech/roles-in-tech.md โ†’ Status: 400
[โœ–] /growth-mindset/YCLA_LessonPlan_v10.pdf โ†’ Status: 400
[โœ–] /command-line/command-line-interface.md โ†’ Status: 400
[โœ–] /command-line/command-line-advanced.md โ†’ Status: 400
[โœ–] /command-line/dot-profile.md โ†’ Status: 400
[โœ–] /command-line/vim.md โ†’ Status: 400
[โœ–] /operating-systems/operating-systems.md โ†’ Status: 400
[โœ–] /command-line/keyboard-shortcuts.md โ†’ Status: 400
[โœ–] /asking-good-questions/asking-good-questions.md โ†’ Status: 400
[โœ–] /vs-code/vscode.md โ†’ Status: 400
[โœ–] /networking/networking.md โ†’ Status: 400
[โœ–] /conflict-resolution/conflict-resolution.md โ†’ Status: 400
[โœ–] /projects/first-assessment.md โ†’ Status: 400
[โœ–] /pair-programming/pair-programming.md โ†’ Status: 400
[โœ–] /html/html.md โ†’ Status: 400
[โœ–] /git-version-control/git-version-control.md โ†’ Status: 400
[โœ–] /projects/recipe-page/phase-1-html-prompt.md โ†’ Status: 400
[โœ–] /git-version-control/gitignore.md โ†’ Status: 400
[โœ–] /github-code-storage/github-storage.md โ†’ Status: 400
[โœ–] /css/css.md โ†’ Status: 400
[โœ–] /chrome-developer-tools/chrome-developer-tools.md โ†’ Status: 400
[โœ–] /projects/recipe-page/phase-2-css-prompt.md โ†’ Status: 400
[โœ–] /css/media-queries.md โ†’ Status: 400
[โœ–] /ui-ux-design/ui-ux-design.md โ†’ Status: 400
[โœ–] /web-patterns/web-patterns.md โ†’ Status: 400
[โœ–] /bootstrap/bootstrap.md โ†’ Status: 400
[โœ–] /professionalism/building-confidence.md โ†’ Status: 400
[โœ–] /projects/recipe-page/phase-3-bootstrap-prompt.md โ†’ Status: 400
[โœ–] /git-version-control/git-version-control-part2.md โ†’ Status: 400
[โœ–] /projects/portfolio/portfolio-webpage-1.md โ†’ Status: 400
[โœ–] /diversity-inclusion-bias/inclusion.md โ†’ Status: 400
[โœ–] /accessibility/accessibility.md โ†’ Status: 400
[โœ–] /seo/seo.md โ†’ Status: 400
[โœ–] /projects/portfolio/portfolio-webpage-2.md โ†’ Status: 400
[โœ–] /github-collaboration/github-collaboration.md โ†’ Status: 400
[โœ–] /personal-brand/personal-branding.md โ†’ Status: 400
[โœ–] /reading-and-writing-documentation/documentation.md โ†’ Status: 400
[โœ–] /writing-readable-code/writing-readable-code.md โ†’ Status: 400
[โœ–] /deploying/deploying-1-personal-site.md โ†’ Status: 400
[โœ–] /projects/portfolio/portfolio-webpage-3.md โ†’ Status: 400
[โœ–] /javascript/javascript-1.md โ†’ Status: 400
[โœ–] /javascript/javascript-2.md โ†’ Status: 400
[โœ–] /interviewing/whiteboarding.md โ†’ Status: 400
[โœ–] /datetime/datetime.md โ†’ Status: 400
[โœ–] /interviewing/week-3-whiteboard-challenges.md โ†’ Status: 400
[โœ–] /javascript/javascript-3.md โ†’ Status: 400
[โœ–] /javascript/javascript-4.md โ†’ Status: 400
[โœ–] /javascript/javascript-5.md โ†’ Status: 400
[โœ–] /javascript/javascript-6-object-literals.md โ†’ Status: 400
[โœ–] /runtime-complexity/runtime-complexity.md โ†’ Status: 400
[โœ–] /javascript/basic-js-practice.md โ†’ Status: 400
[โœ–] /javascript/week-4-JS-assessment.md โ†’ Status: 400
[โœ–] /javascript/javascript-7-oop.md โ†’ Status: 400
[โœ–] /javascript/first-js-oop-project.md โ†’ Status: 400
[โœ–] https://github.com/Techtonica/curriculum/blob/master/javascript/event-recommender.md โ†’ Status: 404
[โœ–] https://github.com/Techtonica/curriculum/blob/master/javascript/event-recommender-part2.md โ†’ Status: 404
[โœ–] /testing-and-tdd/testing-and-tdd.md โ†’ Status: 400
[โœ–] /testing-and-tdd/jasmine-testing.md โ†’ Status: 400
[โœ–] /javascript/javascript-8-regex.md โ†’ Status: 400
[โœ–] /debugging/debugging.md โ†’ Status: 400
[โœ–] /javascript/javascript-9.md โ†’ Status: 400
[โœ–] /api/apis-and-json.md โ†’ Status: 400
[โœ–] /ajax/ajax.md โ†’ Status: 400
[โœ–] /api/twilio-api.md โ†’ Status: 400
[โœ–] /data-visualization/data-visualization.md โ†’ Status: 400
[โœ–] /node-js/node-js.md โ†’ Status: 400
[โœ–] /express-js/express.md โ†’ Status: 400
[โœ–] /command-line/env.md โ†’ Status: 400
[โœ–] /databases/data-models.md โ†’ Status: 400
[โœ–] /databases/sql.md โ†’ Status: 400
[โœ–] /databases/installing-postgresql.md โ†’ Status: 400
[โœ–] /databases/relational-databases.md โ†’ Status: 400
[โœ–] /testing-and-tdd/integration-testing.md โ†’ Status: 400
[โœ–] /projects/minimal-api-project.md โ†’ Status: 400
[โœ–] /databases/database-migrations.md โ†’ Status: 400
[โœ–] /agile-development/scrum.md โ†’ Status: 400
[โœ–] /projects/eventonica-project.md โ†’ Status: 400
[โœ–] /databases/mongo-db.md โ†’ Status: 400
[โœ–] /react-js/react.md โ†’ Status: 400
[โœ–] /projects/eventonica-react.md โ†’ Status: 400
[โœ–] /testing-and-tdd/enzyme-testing.md โ†’ Status: 400
[โœ–] /projects/react-assessment.md โ†’ Status: 400
[โœ–] /security/web-security.md โ†’ Status: 400
[โœ–] /oauth/o-auth.md โ†’ Status: 400
[โœ–] /projects/auth0-assessment.md โ†’ Status: 400
[โœ–] /deploying/deploying.md โ†’ Status: 400
[โœ–] /recursion/recursion.md โ†’ Status: 400
[โœ–] /runtime-complexity/memoization.md โ†’ Status: 400
[โœ–] /optimization/optimization.md โ†’ Status: 400
[โœ–] /javascript/javascript-maps.md โ†’ Status: 400
[โœ–] /refactoring/refactoring.md โ†’ Status: 400
[โœ–] /optimization/optimizing-your-react-node-project.md โ†’ Status: 400
[โœ–] /agile-development/intro-to-agile.md โ†’ Status: 400
[โœ–] /functional-programming/FP.md โ†’ Status: 400
[โœ–] /projects/advanced-methods-assessment-10.md โ†’ Status: 400
[โœ–] /data-structures/intro-to-data-structures.md โ†’ Status: 400
[โœ–] /projects/data-structures-algorithms-sprint.md โ†’ Status: 400
[โœ–] /data-structures/stack.md โ†’ Status: 400
[โœ–] /data-structures/queues.md โ†’ Status: 400
[โœ–] /data-structures/deque.md โ†’ Status: 400
[โœ–] /data-structures/linked-lists.md โ†’ Status: 400
[โœ–] /data-structures/hash-tables.md โ†’ Status: 400
[โœ–] /data-structures/trees.md โ†’ Status: 400
[โœ–] /algorithms/intro-to-algorithms.md โ†’ Status: 400
[โœ–] /algorithms/searching.md โ†’ Status: 400
[โœ–] /algorithms/sorting.md โ†’ Status: 400
[โœ–] /interviewing/technical-interviewing.md โ†’ Status: 400
[โœ–] /projects/data-structures-algorithms-assessment.md โ†’ Status: 400
[โœ–] /navigating-new-codebases/navigating-new-codebases.md โ†’ Status: 400
[โœ–] /open-source/open-source.md โ†’ Status: 400
[โœ–] /interviewing/non-technical-interviewing.md โ†’ Status: 400
[โœ–] /resume-writing/resume-writing.md โ†’ Status: 400
[โœ–] /projects/take-home-problems/frontend.md โ†’ Status: 400
[โœ–] /projects/take-home-problems/backend.md โ†’ Status: 400
[โœ–] /roles-in-tech/technical-writing.md โ†’ Status: 400
[โœ–] /roles-in-tech/machine-learning.md โ†’ Status: 400
[โœ–] /roles-in-tech/entrepreneurship.md โ†’ Status: 400
[โœ–] /roles-in-tech/data-science.md โ†’ Status: 400
[โœ–] /roles-in-tech/security.md โ†’ Status: 400
[โœ–] /roles-in-tech/qa.md โ†’ Status: 400
[โœ–] /roles-in-tech/developer-advocate.md โ†’ Status: 400
[โœ–] /roles-in-tech/sales-engineering.md โ†’ Status: 400
[โœ–] /roles-in-tech/technical-program-manager.md โ†’ Status: 400
[โœ–] /projects/final-project/selecting-your-project.md โ†’ Status: 400
[โœ–] /projects/final-project/final-project.md โ†’ Status: 400
[โœ–] /mobile-development/mobile-development.md โ†’ Status: 400
[โœ–] /women-in-tech-resources/resources-list.md โ†’ Status: 400
[โœ–] /professionalism/difficult-workplace-situations.md โ†’ Status: 400
[โœ–] /financial-literacy/financial-literacy.md โ†’ Status: 400
[โœ–] /interviewing/negotiating.md โ†’ Status: 400
[โœ–] /ethics/ethics.md โ†’ Status: 400
[โœ–] /sass/sass.md โ†’ Status: 400
[โœ–] /python/python.md โ†’ Status: 400

After checking a few of those "wrong links", they are all internal links, linking to .md files within the project. And they all work. The reason that the tool shows them as failed is, i suppose, because they are not proper http links, that u can do an http request and access them. Should we change the internal links, to point the files from the github project, instead of the relative path within the project?

Thanks for picking this up, @alexyiangou . Could you run the tool on our whole project to check the links in each file?

the internal links can stay.

The tool cannot check directories. It can check files from url, or files with relative path to the file location. What I can do is write a script, that you can run whenever you want, and check the whole project

Or I can just remove the broken links I found on README.md and let others work on this as well :slightly_smiling_face:

๐Ÿคฉ Yes please!

The only links that seem to need fixing are the event recommender ones, as they were renamed recently to something with eventonica in the name.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

judytuna picture judytuna  ยท  4Comments

judytuna picture judytuna  ยท  7Comments

vegetabill picture vegetabill  ยท  3Comments

k4y3ff picture k4y3ff  ยท  6Comments

alodahl picture alodahl  ยท  7Comments