Throughout my time in High School and Uni, I've toyed with many note-taking setups. From pen-and-paper, to digital solutions like OneNote and Notion. I think I've finally landed on the ultimate setup. In short, use Visual Studio Code to author markdown files, and use GitHub as version control / notes hosting / syncing between devices.
As a lot of the notes I take contain complex mathematical equations and code examples, there are various extensions I've installed to aide with this process:
/docs # This will contain compiled HTML files, to be hosted on GitHub pages
/assets # This will contain all images for the html files
/notes # This will contain raw Markdown files, that can be converted to HTML using Markdown + Math
/assets # This will contain all images for the Markdown files
/docs
directory and compile to Markdown using the Ctrl+k, ","
command implemented by Markdown+Math
alias update="cp *.html ../docs/ 2> /dev/null ; cp assets/ ../docs/ -r; "
This command writes STDERR of the cp command to /dev/null as we don't want it to warn if the cp command cannot find any HTML files to copy.