Closed Grae-Drake closed 3 years ago
@mindovermiles262 Can you take a look to see what this would take to add to the CI/CD?
The curriculum repo does not currently have any CICD.
I will look into adding this codespell as a GH Action.
Seems do-able with the correct settings. Issues will come from student's names:
$ codespell --skip="*.csv,./.git/*,./archive/*,*.png" -q 4
./web_development_101/javascript_basics/project_etch_a_sketch.md:72: Brower ==> Browser
./web_development_101/javascript_basics/project_etch_a_sketch.md:185: Brower ==> Browser
./web_development_101/javascript_basics/project_etch_a_sketch.md:187: Brower ==> Browser
./web_development_101/javascript_basics/project_etch_a_sketch.md:188: Brower ==> Browser
./web_development_101/javascript_basics/project_etch_a_sketch.md:842: Dameon ==> Daemon, demon, damien
./web_development_101/javascript_basics/project_etch_a_sketch.md:899: Wil ==> Will, well
./web_development_101/javascript_basics/project_rock_paper_scissors.md:54: Chang ==> Change
./web_development_101/javascript_basics/project_rock_paper_scissors.md:1358: Dameon ==> Daemon, demon, damien
./web_development_101/javascript_basics/project_rock_paper_scissors.md:1447: Wil ==> Will, well
./web_development_101/javascript_basics/fundamentals-4.md:36: leapYears ==> leap years
./web_development_101/javascript_basics/project_calculator.md:124: Broser ==> Browser
./web_development_101/javascript_basics/project_calculator.md:360: Bridget ==> Bridged
./web_development_101/the_front_end/project_html_css.md:710: Ege ==> Edge
./web_development_101/the_front_end/project_html_css.md:1911: Bridget ==> Bridged
./web_development_101/the_front_end/project_html_css.md:2206: Hart ==> Heart, harm
./web_development_101/the_front_end/project_html_css.md:2470: Wen ==> We, when
./web_development_101/the_front_end/project_html_css.md:2471: Wen ==> We, when
./web_development_101/the_front_end/project_html_css.md:2991: Dameon ==> Daemon, demon, damien
./web_development_101/archive/javascript_basics.md:298: Alo ==> Also
./web_development_101/archive/project_js_jquery.md:392: Alo ==> Also
./web_development_101/archive/JS101/JS_resources.md:10: higly ==> highly
./web_development_101/archive/JS101/oldFundamentalsLessons/fundamentals-2-project.md:23: leapYears ==> leap years
./web_development_101/archive/JS101/oldFundamentalsLessons/fundamentals-1.md:104: Od ==> Of
./nodeJS/APIs/APIs.md:15: seperating ==> separating
./html_css/links.md:24: od ==> of
./html_css/new_html5.md:23: od ==> of
./rails_programming/apis_mailers_advanced_topics/api_interfacing.md:128: intergrating ==> integrating
./rails_programming/forms_and_authentication/project_forms.md:217: Bridget ==> Bridged
./rails_programming/rails_basics/project_blog_app.md:376: Upto ==> Up to
./rails_programming/rails_basics/project_blog_app.md:387: Bridget ==> Bridged
./rails_programming/old_lessons/introduction_to_rails/project_feet_wet.md:145: Bridget ==> Bridged
./python/OUTLINE.md:23: Concatination ==> Concatenation
./python/drafts/python-types.md:43: hight ==> height, high
./javascript/frameworks/angular.md:54: whats ==> what's
./javascript/frameworks/angular.md:55: framwework ==> framework
./ruby_programming/intermediate_ruby/project_event_manager.md:738: recieve ==> receive
./ruby_programming/basic_ruby_projects/sub_strings.md:215: subtrings ==> substrings
./ruby_programming/basic_ruby_projects/caesar_cipher.md:233: ceasar ==> caesar
./ruby_programming/basic_ruby_projects/caesar_cipher.md:421: ceasar ==> caesar
./ruby_programming/basic_ruby/loops.md:132: Upto ==> Up to
./ruby_programming/basic_ruby/loops.md:137: upto ==> up to
./ruby_programming/basic_ruby/problem_solving.md:122: upto ==> up to
./ruby_programming/basic_ruby/problem_solving.md:149: upto ==> up to
./ruby_programming/basic_ruby/problem_solving.md:182: upto ==> up to
./ruby_programming/basic_ruby/problem_solving.md:215: upto ==> up to
./ruby_programming/archive/basic_ruby/project_building_blocks.md:235: ceasar ==> caesar
./ruby_programming/archive/basic_ruby/project_building_blocks.md:423: ceasar ==> caesar
./ruby_programming/archive/basic_ruby/project_building_blocks.md:1217: subtrings ==> substrings
./ruby_programming/archive/basic_ruby/ruby_project.md:523: Bridget ==> Bridged
@mindovermiles262
Hey mate. Is this still of interest for keeping alive?
As student submissions have now been moved out this may be more realistic to set up in github actions. Are you still interested in taking it on?
@mindovermiles262 With the new submissions feature, I think we can easily implement this and not worry about student's names.
Per @leila-alderman's suggestion, I'm opening an issue to recommend Codespell as a tool to help combat misspellings in the curriculum source.
Codespell is a Python-based command line tool that uses a dictionary of common misspellings to flag potential spelling issues. You can see an example of items flagged by Codespell in the PR linked above where I ran it against the
curriculum
repo and suggested 62 changes based on them. I've used Codespell in the past for markdown-based coding education content and generally been pretty happy with it. Without configuration it will give you plenty of false positives, but even with those the signal-to-noise ratio is pretty good. I've never actually tried to configure it enough to, for example, work it into CI/CD but that's certainly a possibility for the extremely automation-minded. What I'd have liked to do, but never had the resources to try, is set it up to automatically report (not fix) on revisions as they go through CI/CD.Happy to share more about my experience here if useful.