obar1 / 0to100

0 to 100 to learn anything
GNU Affero General Public License v3.0
1 stars 1 forks source link
learning python

readme

SQ CI
Quality gate Makefile 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 :).

quick demo

in you want to check this quickly ...

Open in GitHub Codespaces

just open this repo in your GitHub Codespace and run the demo as:

bash demo.sh zo

here

bash demo.sh sb

here

oto100

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_links = refresh links to sections in the readme.md(s)
./main.py zo refresh_links

tip 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

> tip
in `refresh_links` you can expand links from other sections automatically 
ex
```markdown
# <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

setup and usage:

# env
python -m venv .venv
. .venv/bin/activate
pip install .

# 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

oto100 safari books :construction:

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

setup and usage:

use what you prefer to grab epub/pdf from oreilly 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

# env
python -m venv .venv
. .venv/bin/activate
pip install .

# 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

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 🖖🏻

tools

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

online example

https://github.com/obar1/zero2hero

https://github.com/obar1/0to100.oreilly