I’m not talking about editing the codebase for the curriculum, but being able to work on the lessons locally and synchronize it for being marked as complete in my freecodecamp profile.
I really don’t like using the mouse/trackpad, and I like being able to have my own layout when I work on things (limited screen real-estate and old eyes).
Freecodecamps curriculum layout bother’s the heck out of me, it keeps breaking my flow.
I already use surfingkeys in the browser, but it’s not ideal. It can’t flip from lesson details on the left to code input in the middle. I have to constantly grab the mouse and click several times (old eyes) to move to where I want it to be. Then I also have ‘Highlight cursor when moving’ (old eyes) on in my computer settings, and it doesn’t line up with the actual cursor in the code input. So it’s really distracting.
Open the lesson details on another pane in tmux. Move through it with vim.
In another pane, edit a file.
When finished, send it to fcc (ftp, ssh, scp, json file, or even crafting my own network packets, just whatever).
Then in my profile I can see that the lesson is completed if code worked.
If I need to build a wrapper of some sort, this is fine.
I just need a portal to submit to for validation.
Note: pc is an arm based chromebook, I’m using linux beta in a virtual machine, so my ability to run some apps is limited/non-existent, such as debug mode in chrome
This is certainly a unique usage/feature you are looking for.
Unfortunately, I am unaware of any easy way to do this.
If you are comfortable with Python, then I would suggest something like
Selenium to open a browser and automate the process.
Puppeteer. Same as above, but for Nodejs.
With the above, you can inject your scripts into the editor in fCC, and click submit, then repeat. This could be an excellent little project for you to complete, but is involved.
Hope this helps somewhat.
You should actually be able to touch the mouse very little, either using the built-in editor or your own. The challenges can be navigated using standard keyboard shortcuts:
Enter. This will let you move between the challenge description, editor, and the buttons. The only time you would need to use the mouse is if you are selecting text to copy.
I would probably write some custom hotkeys or macros to smooth out the process, but it would look something like this (actual keyboard shortcuts are Windows in this example, but if you’re an Arch user, I’m sure that you have experience with your own OS).
- Read the challenge description.
- On a desktop browser, your cursor is probably already in the editor. If not, tapping
Tab four times will get you there.
- I’m now assuming that for some reason you do not want to work directly in the freeCodeCamp editor, even though you do not have to use a mouse.
- On Windows, I would have my editor as a pinned shortcut and use the OS key with a number to jump to it, but you can also use your keyboard to jump between applications in Linux. I assume you know how to do this.
- write solution
- use your OS shortcuts to go back to your browser
Enter (runs the tests)
- If tests fail, use your shortcuts to return to your editor and modify your solution.
- If your tests pass, a popup will appear.
Enter will move you to the next challenge and you can repeat the process.
Tab will allow you to move through the popup buttons (close, submit, download).