{"id":14008122,"url":"https://github.com/lucasepe/crumbs","last_synced_at":"2025-07-15T08:32:28.605Z","repository":{"id":57542826,"uuid":"293845438","full_name":"lucasepe/crumbs","owner":"lucasepe","description":"Turn asterisk-indented text lines into mind maps","archived":false,"fork":false,"pushed_at":"2020-09-11T19:31:46.000Z","size":479,"stargazers_count":105,"open_issues_count":0,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-10T11:02:38.269Z","etag":null,"topics":["commandline","golang","graphviz","mindmaps","text-to-image"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasepe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-08T15:06:01.000Z","updated_at":"2024-03-03T00:30:41.000Z","dependencies_parsed_at":"2022-09-26T18:31:24.534Z","dependency_job_id":null,"html_url":"https://github.com/lucasepe/crumbs","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasepe%2Fcrumbs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasepe%2Fcrumbs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasepe%2Fcrumbs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasepe%2Fcrumbs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasepe","download_url":"https://codeload.github.com/lucasepe/crumbs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226027883,"owners_count":17562152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commandline","golang","graphviz","mindmaps","text-to-image"],"created_at":"2024-08-10T11:01:15.822Z","updated_at":"2024-11-23T10:17:51.962Z","avatar_url":"https://github.com/lucasepe.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"\n# Crumbs\n\n\u003e Turn asterisk-indented text lines into mind maps.\n\nOrganize your notes in a hierarchical tree structure, using a simple text editor.\n\n- an asterisk at the beginning of the line means _level 1_\n- two asterisk at the beginning of the line means _level 2_\n- and so on...\n\n# How [crumbs](https://github.com/lucasepe/crumbs/releases/latest) works?\n\n- takes in input a text file and generates a [dot script](https://en.wikipedia.org/wiki/DOT_(graph_description_language)) for [Graphviz](https://graphviz.gitlab.io/download/).\n\n- depends on [GraphViz](https://graphviz.gitlab.io/download/)\n  - look at the bottom for info about [how to install graphviz](#how-to-install-graphViz).\n\n\n## Example (without icons)\n\nCreate a simple text file - let's say `meeting-ideas.txt`:\n\n```text\n* main idea\n** topic 1\n*** sub topic\n*** sub topic\n**** sub topic\n**** sub topic\n** topic 2\n*** sub topic\n```\n\nTo create the PNG image you can \n\n- _\"inject\"_ the text file to [crumbs](https://github.com/lucasepe/crumbs/releases/latest) and then the result to [dot](https://graphviz.org/doc/info/command.html) redirecting the output to the file `meeting-ideas.png` - (I love the Linux command pipelines! 😍)\n\n```bash\ncat meeting-ideas.txt | crumbs | dot -Tpng \u003e meeting-ideas.png\n```\n\n- or as alternative you can specify your text file to [crumbs](https://github.com/lucasepe/crumbs/releases/latest) directly:\n\n```bash\ncrumbs meeting-ideas.txt | dot -Tpng \u003e meeting-ideas.png\n```\n\nHere the output:\n\n![](./testdata/sample4.png)\n\n---\n\n## Example (with icons)\n\nYou can, eventually, add images too (one for text line) using a special syntax: `[[path/to/image.png]]`\n\n- if you specify the flag `-image-path` you can write `[[image.png]]` instead of `[[path/to/image.png]]`\n- if you specify the flag `-image-type` you can write `[[path/to/image]]` instead of `[[path/to/image.png]]`\n- therefore if you specify both you can write `[[image]]` instead of `[[path/to/image.png]]`\n\n```text\n* [[./png/bulb.png]] main idea\n** topic 1\n*** sub topic\n*** sub topic\n**** [[./png/comments-alt.png]] sub topic\n**** sub topic\n** [[./png/map-signs.png]] topic 2\n*** sub topic\n```\n\nthen as usual, let's feed graphviz with [crumbs](https://github.com/lucasepe/crumbs/releases/latest):\n\n```bash\ncrumbs meeting-ideas-with-icons.txt | dot -Tpng \u003e meeting-ideas-with-icons.png\n```\n\nand the output is...\n\n![](./testdata/sample5.png)\n\n## Example (with HTML)\n\nYou can enrich the output with a little bit of style, adding some HTML tag.\n\nThe following tags are understood:\n\n```html\n\u003cb\u003e, \u003cbr/\u003e, \u003ci\u003e, \u003co\u003e, \u003cs\u003e, \u003csub\u003e, \u003csup\u003e, \u003cu\u003e\n```\n\n```text\n* main idea\n** \u003cu\u003etopic 1\u003c/u\u003e\n*** sub \u003csub\u003etopic\u003c/sub\u003e\n*** sub \u003ci\u003etopic\u003c/i\u003e\n**** \u003cs\u003esub topic\u003c/s\u003e\n**** sub \u003co\u003etopic\u003c/o\u003e\n** topic \u003cb\u003e2\u003c/b\u003e\n*** sub \u003csup\u003etopic\u003c/sup\u003e\n```\n\nthen as usual, let's feed graphviz with [crumbs](https://github.com/lucasepe/crumbs/releases/latest):\n\n```bash\ncrumbs meeting-ideas-with-html.txt | dot -Tpng \u003e meeting-ideas-with-html.png\n```\n\nand the output is...\n\n![](./testdata/sample6.png)\n\n---\n\n# Installation Steps\n\nIn order to use the crumbs command, compile it using the following command:\n\n```bash\ngo get -u github.com/lucasepe/crumbs/crumbs\n```\n\nThis will create the crumbs executable under your $GOPATH/bin directory.\n\n\n## Ready-To-Use Releases \n\nIf you don't want to compile the sourcecode yourself, [Here you can find the tool already compiled](https://github.com/lucasepe/crumbs/releases/latest) for:\n\n- MacOS\n- Linux\n- Windows\n\n---\n\n# CHANGE LOG\n\n👉 [Record of all notable changes made to a project](./CHANGELOG.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasepe%2Fcrumbs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasepe%2Fcrumbs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasepe%2Fcrumbs/lists"}