skillmap
A tool for generating skill map/tree like diagram.
What is a skill map/tree?
Skill tree is a term used in video games, and it can be used for describing roadmaps for software project development as well.
This project borrows inspiration and ideas from two sources:
- https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/
- https://github.com/nikomatsakis/skill-tree
Features
- skill tree/map generation
- specify pre-requisite skills
- multiple themes
- multiple skill progress bar styles
Installation
pip install skillmap
After installation, a skillmap command is available.
Usage
- Create a toml format skill map descriptor file. You can find more details about this descriptor format here. For a minimal example, see
docs/examples/hello_world.toml
[skillmap]
name = "hello world"
icon = "bicycle"
[groups.learn_python]
name = "learn python"
icon = "rocket"
[groups.learn_python.skills.print]
name = "print statement"
icon = "printer"
[groups.learn_python.skills.string]
name = "string literal"
icon = "book"
- Run
skillmap path/to/your/skillmap.toml- For example,
skillmap docs/examples/hello_world.toml
- For example,
- Copy the generated skill map diagram to your clipboard.
- Paste the diagram to a mermaid diagram editor, for example,
https://mermaid-js.github.io/mermaid-live-editor.
Examples
- Each node can have a string label and an fontawsome icon.
- Skills with different statuses will be shown with different colors.
- Each skill may have a progress bar to indicate its learning progress.
- Unnamed skill will be shown as a locked skill.
- Pre-requisite skills will be connected with an directed edge.
- You can embed the generated mermaid diagram into github markdown directly, but the fontawesome icons in the diagrams are not shown by github so far.
License
More details
- Skillmap toml descriptor format can be found here
- hot reloading when authoring a skillmap toml file
- install several tools to make hot reloading to work
entr, run arbitrary commands when files change- Visual Studio Code + Markdown Preview Enhanced Visual Studio Code Extension
- Basically, use
entrto watch toml file changes, and generate amdmakrdown file usingskillmapevery time when toml file changes. And usevscode+Markdown Preview Enhancedextension to open this generated markdown file. Check outbuild_sampleanddev_samplein justfile to see how to make hot reloading work
- install several tools to make hot reloading to work
Known issues
- Sometimes, the group's text will be clipped when rendered in mermaid. And you have to edit the generated file slightly and then change it back to ask mermaid to refersh the diagram to avoid clipping. It is probably a bug for mermaid as far as I can tell.
Metadata
Release files for skillmap 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| skillmap-0.3.0.tar.gz | 9.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skillmap-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.1 kB
Release files / skillmap-0.3.0.tar.gz
| Download URL | skillmap-0.3.0.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
72ee34764f1ed959b405dfd8c03579a34fb9b8babaebe66c93a85e3f8ef26564
|
|
BLAKE2b-256 checksum How to use checksums |
a96d5c0e635824177ef5915c46ab17fa2b3287d2ba9c6ab2a436825eb2b02b11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.9.0 Darwin/21.3.0
|
Release files / skillmap-0.3.0-py3-none-any.whl
| Download URL | skillmap-0.3.0-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bbaffc47ac1972fec7d8f607fc9427dea286a5dba3442fb707d4e39268e03475
|
|
BLAKE2b-256 checksum How to use checksums |
13f6a11a6bfeec1323efaa0657ce13f90800d2c2b99cf0189838313818841a82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.9.0 Darwin/21.3.0
|