SQ | CI |
---|---|
We read training material from the web and learn from it by doing, but how do we keep that a bit organized? I came up with an idea: this small tool.
Given a 'url', it creates the entry in a markdown map and a folder and links them; in this way, you can easily jump between different sections inside your preferred ide. As you expand the map with new contents, you build some reference material, keep it local all the time, and searchable all the time on your daily coding and use it to fee your local llm
:).
in you want to check this quickly ...
just open this repo in your GitHub Codespace and run the demo as:
bash demo.sh zo
bash demo.sh sb
0 to 100 ... learn anything from the web
commands:
create_section = create a new section
section=https://www.cloudskillsboost.google/paths/16
./main.py zo create_section "$section"
done_section = tag a section as done
section=https://www.cloudskillsboost.google/paths/16
./main.py zo done_section "$section"
refresh_map = refresh the section map
./main.py zo refresh_map
refresh_section_contents = refresh links to sections in the readme.md(s) and delete orphaned image(s)
./main.py zo refresh_section_contents
in create_section
you can override the default toc title adding another #
hint below the one header created automatically in the section folder
ex
# <https§§§www.cloudskillsboost.google§catalog>
> <https://www.cloudskillsboost.google/catalog>
# catalog
in refresh_section_contents
you can expand links from other sections automatically
ex
# <https§§§www.cloudskillsboost.google§catalog>
> <https://www.cloudskillsboost.google/catalog>
https://www.cloudskillsboost.google/doc
expand the last link to point to the section for the doc - handy as anchor technique
and it will delete img in the folder that have no reference in md readme anymore
graph TD
direction TB
A["Take Screenshot"] --> B["Add Context Text"]
B --> C{"Complete?"}
C -->|"No"| D["Continue Video"]
D --> A
C -->|"Yes"| E["End Documentation"]
direction TB
E["Review Content"] --> F{"Needs Update?"}
F -->|"Yes"| G["Update Image/Text"]
G --> H["Replace with Snippet"]
H --> I["Final Review"]
F -->|"No"| Complete([Complete])
I --> Complete
# env
make setup
source venv/bin/activate
pre-commit install # optional
# each time new code is ready for PRs :P
make refactor
# copy sample yaml conf
cp ./zero_to_one_hundred/tests/resources/map.yaml .
cat map.yaml
export MAP_YAML_PATH=map.yaml
# tip: add it to .bash_rc etc or some shell script
chmod +x *.py
# run main
./main.py zo help
0 to 100 ... learn anything from safari books https://learning.oreilly.com/member/login/
same as above but it can use some external lib to grab epub from oreilly
current commands:
snatch_book = snatch a book from safari
./main.py sb snatch_book https://learning.oreilly.com/library/view/rewire-your-brain/9781119895947
refresh_toc = refresh the toc with al the books info
./main.py sb refresh_toc
use what you prefer to grab epub/pdf from O'Reilly check this https://github.com/lorenzodifuccia/safaribooks or just save as pdf section by section with this https://chromewebstore.google.com/detail/reader-view/ecabifbgmdmgdllomnfinbmaellmclnh
# copy sample yaml conf
cp ./zero_to_one_hundred/tests_sb/resources/map.yaml .
cat map.yaml
export MAP_YAML_PATH=map.yaml
# tip: add it to .bash_rc etc or some shell script
vim map.yaml
# add your membership details :)
add your membership details :) and it will work
ex with mine :)
chmod +x *.py
./main.py sb help
- create new meta-book
url=https://learning.oreilly.com/library/view/hunt-the-pragmatic-programmer/020161622X/
./main.py sb snatch_book $url
and you have a toc.md
for free to use as your index (bookmark it)
as I use myself Lorenzo's great utility
safaribooks
I added some code to convert the downloaded epub contents into a related pdf and split that in chunks so I can easily use it on ipad or better remarkable for studying and later sync back in a repo for hands-on code... they call that learning by doing 🖖🏻
when you start to have a a few 0to100 based folders
gist to sync multiple 0to100 based repos gist venv auto activate for 0to100 folders
- zo
https://github.com/obar1/zero2hero
- sb
mostly private contents,
sorry but I don't want to get suited :P