A tool for generating skill map/tree like diagram.
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
pip install skillmap
After installation, a skillmap
command is available.
- 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
.
- Each node can have a string label and an fontawsome icon.
- Skills with different statuses will be shown with different colors.
- 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.
- 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
entr
to watch toml file changes, and generate amd
makrdown file usingskillmap
every time when toml file changes. And usevscode
+Markdown Preview Enhanced
extension to open this generated markdown file. Check outbuild_sample
anddev_sample
in justfile to see how to make hot reloading work
- install several tools to make hot reloading to work