• Stars
    star
    101
  • Rank 338,166 (Top 7 %)
  • Language
    Go
  • License
    MIT License
  • Created about 4 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Turn asterisk-indented text lines into mind maps

Crumbs

Turn asterisk-indented text lines into mind maps.

Organize your notes in a hierarchical tree structure, using a simple text editor.

  • an asterisk at the beginning of the line means level 1
  • two asterisk at the beginning of the line means level 2
  • and so on...

How crumbs works?

Example (without icons)

Create a simple text file - let's say meeting-ideas.txt:

* main idea
** topic 1
*** sub topic
*** sub topic
**** sub topic
**** sub topic
** topic 2
*** sub topic

To create the PNG image you can

  • "inject" the text file to crumbs and then the result to dot redirecting the output to the file meeting-ideas.png - (I love the Linux command pipelines! 😍)
cat meeting-ideas.txt | crumbs | dot -Tpng > meeting-ideas.png
  • or as alternative you can specify your text file to crumbs directly:
crumbs meeting-ideas.txt | dot -Tpng > meeting-ideas.png

Here the output:


Example (with icons)

You can, eventually, add images too (one for text line) using a special syntax: [[path/to/image.png]]

  • if you specify the flag -image-path you can write [[image.png]] instead of [[path/to/image.png]]
  • if you specify the flag -image-type you can write [[path/to/image]] instead of [[path/to/image.png]]
  • therefore if you specify both you can write [[image]] instead of [[path/to/image.png]]
* [[./png/bulb.png]] main idea
** topic 1
*** sub topic
*** sub topic
**** [[./png/comments-alt.png]] sub topic
**** sub topic
** [[./png/map-signs.png]] topic 2
*** sub topic

then as usual, let's feed graphviz with crumbs:

crumbs meeting-ideas-with-icons.txt | dot -Tpng > meeting-ideas-with-icons.png

and the output is...

Example (with HTML)

You can enrich the output with a little bit of style, adding some HTML tag.

The following tags are understood:

<b>, <br/>, <i>, <o>, <s>, <sub>, <sup>, <u>
* main idea
** <u>topic 1</u>
*** sub <sub>topic</sub>
*** sub <i>topic</i>
**** <s>sub topic</s>
**** sub <o>topic</o>
** topic <b>2</b>
*** sub <sup>topic</sup>

then as usual, let's feed graphviz with crumbs:

crumbs meeting-ideas-with-html.txt | dot -Tpng > meeting-ideas-with-html.png

and the output is...


Installation Steps

In order to use the crumbs command, compile it using the following command:

go get -u github.com/lucasepe/crumbs/crumbs

This will create the crumbs executable under your $GOPATH/bin directory.

Ready-To-Use Releases

If you don't want to compile the sourcecode yourself, Here you can find the tool already compiled for:

  • MacOS
  • Linux
  • Windows

CHANGE LOG

πŸ‘‰ Record of all notable changes made to a project

More Repositories

1

draft

Generate High Level Cloud Architecture diagrams using YAML syntax.
Go
572
star
2

modgv

Converts 'go mod graph' output into Graphviz's DOT language
Go
474
star
3

yml2dot

Turn YAML into beautiful Graph
Go
132
star
4

jumble

Create (not just) diagrams stitching, connecting and labelling images on a grid using HCL syntax (like terraform!).
Go
105
star
5

codename

Generate random, pronounceable, sometimes even memorable, "superhero like" codenames - just like Docker does with container names.
Go
100
star
6

tiles

Commandline tool that makes building tilesets and rendering static tilemaps super easy!
Go
51
star
7

lib_mysqludf_haversine

MySQL UDF to compute the Haversine formula
C
46
star
8

go-ps4

Search your favorite PS4 games from Playstation Store using the Command Line
Go
44
star
9

g2d

Craft beautiful geometric art using code.
Go
43
star
10

using-client-go

Source code related to my Golang Notebook "Using client-go"
Go
30
star
11

tbd

"to be defined" - a really simple way to create text templates with placeholders
Go
24
star
12

grasp

Create strong passwords using words that are easy for you to remember. A password manager that does not require any type of storage
Go
22
star
13

uri

A commandline tool to resolve URI Templates expressions as specified in RFC 6570.
Go
17
star
14

pwsafe

Cross Platform simple and secure password management from commandline.
Go
16
star
15

yo

An alternative syntax to generate YAML (or JSON) from commandline. => https://youtu.be/QL6DsCLFQ30
Go
10
star
16

clon

A convenient syntax to generate JSON (or YAML) for commandline "mumbo-jumbo".
Go
9
star
17

gptcli

An interactive ChatGPT client featuring shortcuts and auto-complete.
Go
7
star
18

kvs

KVS is a commandline tool to store and organize key-value data on your local file system.
Go
6
star
19

dot

Go package for writing Graph descriptions using the Graphviz DOT language
Go
6
star
20

slackify

Upload files to your preferred Slack channels using CLI or pipe in stdin
Go
3
star
21

memo

Store and organize notes on your local file system.
Go
3
star
22

locker

Store secrets on your local file system.
Go
3
star
23

yamldo

Create YAML documents from a directory tree or a ZIP archive.
Go
2
star
24

lib_mysqludf_qrencode

MySQL UDF for QRCode generation
C
2
star
25

local-container-registry

Create a local development environment to pull/push your images without relying on external services.
Makefile
1
star
26

expose

Markdown Driven Slides Viewer
Go
1
star
27

image-cloner

kubernetes controller that watches the Deployments and β€œcaches” the images by re-uploading to your own registry repository and reconfiguring the applications to use these copies
Go
1
star
28

envsubst

Go package emulates bash environment variable substitution
Go
1
star
29

giso

isometric graphics library
Go
1
star
30

mini

Parse (sort of) INI files like "flag" package in Go.
Go
1
star
31

markdown

A CommonMark-compliant markdown parser and renderer in Go.
Go
1
star
32

gg

Go Graphics - 2D rendering in Go with a simple API.
Go
1
star
33

todoist

A Go library for Todoist's REST API
Go
1
star
34

totp

Simple library to generate TOTP codes and parse TOTP URIs
Go
1
star
35

boilr

Projects and text templates using ${var} expansion syntax.
Go
1
star
36

strcase

Utilities for converting strings between different cases
Go
1
star
37

spinner

Simple activity indicator for your command line tools.
Go
1
star
38

nginx_apikey_access_filter_module

Nginx filter to restrict the access at your backend APIs
1
star
39

terraform-provider-codename

The Terraform Codename provider is used to generate random _"superhero like"_ codenames.
Go
1
star
40

xdg

Go
1
star