Closed alodahl closed 4 years ago
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:techtonicaorg@gmail.com [✓] 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.
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