Skip to main content

Skillmap generates a skill tree from a toml file

Project description

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:

  1. https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/
  2. 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

  1. 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"
  1. Run skillmap path/to/your/skillmap.toml
    1. For example, skillmap docs/examples/hello_world.toml
  2. Copy the generated skill map diagram to your clipboard.
  3. Paste the diagram to a mermaid diagram editor, for example, https://mermaid-js.github.io/mermaid-live-editor.

Examples

ocean_theme_example orientation_example

  • 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

MIT 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 entr to watch toml file changes, and generate a md makrdown file using skillmap every time when toml file changes. And use vscode + Markdown Preview Enhanced extension to open this generated markdown file. Check out build_sample and dev_sample in justfile to see how to make hot reloading 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skillmap-0.3.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

skillmap-0.3.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file skillmap-0.3.0.tar.gz.

File metadata

  • Download URL: skillmap-0.3.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.0 Darwin/21.3.0

File hashes

Hashes for skillmap-0.3.0.tar.gz
Algorithm Hash digest
SHA256 72ee34764f1ed959b405dfd8c03579a34fb9b8babaebe66c93a85e3f8ef26564
MD5 b081374d785cff7c5f76d4bb00f90c2f
BLAKE2b-256 a96d5c0e635824177ef5915c46ab17fa2b3287d2ba9c6ab2a436825eb2b02b11

See more details on using hashes here.

File details

Details for the file skillmap-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: skillmap-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.9.0 Darwin/21.3.0

File hashes

Hashes for skillmap-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bbaffc47ac1972fec7d8f607fc9427dea286a5dba3442fb707d4e39268e03475
MD5 2328dc691d80f51a06e15be49372890b
BLAKE2b-256 13f6a11a6bfeec1323efaa0657ce13f90800d2c2b99cf0189838313818841a82

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page