diff --git a/README.md b/README.md index f55bb5105c..d30bb44fc0 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Be sure to check out [Bubbles][bubbles], a library of common UI components for B Text Input Example from Bubbles

-*** +--- ## Tutorial @@ -48,7 +48,7 @@ By the way, the non-annotated source code for this program is available [on GitHub][tut-source]. [elm]: https://guide.elm-lang.org/architecture/ -[tut-source]:https://github.com/charmbracelet/bubbletea/tree/master/tutorials/basics +[tut-source]: https://github.com/charmbracelet/bubbletea/tree/master/tutorials/basics ### Enough! Let's get to it. @@ -71,9 +71,9 @@ import ( Bubble Tea programs are comprised of a **model** that describes the application state and three simple methods on that model: -* **Init**, a function that returns an initial command for the application to run. -* **Update**, a function that handles incoming events and updates the model accordingly. -* **View**, a function that renders the UI based on the data in the model. +- **Init**, a function that returns an initial command for the application to run. +- **Update**, a function that handles incoming events and updates the model accordingly. +- **View**, a function that renders the UI based on the data in the model. ### The Model @@ -298,12 +298,12 @@ your program in another window. ## Libraries we use with Bubble Tea -* [Bubbles][bubbles]: Common Bubble Tea components such as text inputs, viewports, spinners and so on -* [Lip Gloss][lipgloss]: Style, format and layout tools for terminal applications -* [Harmonica][harmonica]: A spring animation library for smooth, natural motion -* [BubbleZone][bubblezone]: Easy mouse event tracking for Bubble Tea components -* [Termenv][termenv]: Advanced ANSI styling for terminal applications -* [Reflow][reflow]: Advanced ANSI-aware methods for working with text +- [Bubbles][bubbles]: Common Bubble Tea components such as text inputs, viewports, spinners and so on +- [Lip Gloss][lipgloss]: Style, format and layout tools for terminal applications +- [Harmonica][harmonica]: A spring animation library for smooth, natural motion +- [BubbleZone][bubblezone]: Easy mouse event tracking for Bubble Tea components +- [Termenv][termenv]: Advanced ANSI styling for terminal applications +- [Reflow][reflow]: Advanced ANSI-aware methods for working with text [bubbles]: https://github.com/charmbracelet/bubbles [lipgloss]: https://github.com/charmbracelet/lipgloss @@ -316,72 +316,73 @@ your program in another window. For some Bubble Tea programs in production, see: -* [AT CLI](https://github.com/daskycodes/at_cli): execute AT Commands via serial port connections -* [Aztify](https://github.com/Azure/aztfy): bring Microsoft Azure resources under Terraform -* [brows](https://github.com/rubysolo/brows): a GitHub release browser -* [Canard](https://github.com/mrusme/canard): an RSS client -* [charm](https://github.com/charmbracelet/charm): the official Charm user account manager -* [chezmoi](https://github.com/twpayne/chezmoi): securely manage your dotfiles across multiple machines -* [chtop](https://github.com/chhetripradeep/chtop): monitor your ClickHouse node without leaving terminal -* [circumflex](https://github.com/bensadeh/circumflex): read Hacker News in the terminal -* [clidle](https://github.com/ajeetdsouza/clidle): a Wordle clone -* [cLive](https://github.com/koki-develop/clive): automate terminal operations and view them live in a browser -* [container-canary](https://github.com/NVIDIA/container-canary): a container validator -* [countdown](https://github.com/aldernero/countdown): a multi-event countdown timer -* [dns53](https://github.com/purpleclay/dns53): dynamic DNS with Amazon Route53. Expose your EC2 quickly, securely and privately -* [eks-node-viewer](https://github.com/awslabs/eks-node-viewer): a tool for visualizing dynamic node usage within an eks cluster -* [enola](https://github.com/sherlock-project/enola): hunt down social media accounts by username across social networks -* [flapioca](https://github.com/kbrgl/flapioca): Flappy Bird on the CLI! -* [fm](https://github.com/knipferrc/fm): a terminal-based file manager -* [fork-cleaner](https://github.com/caarlos0/fork-cleaner): clean up old and inactive forks in your GitHub account -* [fztea](https://github.com/jon4hz/fztea): a Flipper Zero TUI -* [gambit](https://github.com/maaslalani/gambit): chess in the terminal -* [gembro](https://git.sr.ht/~rafael/gembro): a mouse-driven Gemini browser -* [gh-b](https://github.com/joaom00/gh-b): a GitHub CLI extension for managing branches -* [gh-dash](https://www.github.com/dlvhdr/gh-dash): a GitHub CLI extension for PRs and issues -* [gitflow-toolkit](https://github.com/mritd/gitflow-toolkit): a GitFlow submission tool -* [Glow](https://github.com/charmbracelet/glow): a markdown reader, browser, and online markdown stash -* [gocovsh](https://github.com/orlangure/gocovsh): explore Go coverage reports from the CLI -* [got](https://github.com/fedeztk/got): a simple translator and text-to-speech app build on top of simplytranslate's APIs -* [httpit](https://github.com/gonetx/httpit): a rapid http(s) benchmark tool -* [IDNT](https://github.com/r-darwish/idnt): a batch software uninstaller -* [kboard](https://github.com/CamiloGarciaLaRotta/kboard): a typing game -* [mandelbrot-cli](https://github.com/MicheleFiladelfia/mandelbrot-cli): a multiplatform terminal mandelbrot set explorer -* [mc](https://github.com/minio/mc): the official [MinIO](https://min.io) client -* [mergestat](https://github.com/mergestat/mergestat): run SQL queries on git repositories -* [Neon Modem Overdrive](https://github.com/mrusme/neonmodem): a BBS-style TUI client for Discourse, Lemmy, Lobste.rs and Hacker News -* [Noted](https://github.com/torbratsberg/noted): a note viewer and manager -* [pathos](https://github.com/chip/pathos): a PATH env variable editor -* [portal](https://github.com/ZinoKader/portal): secure transfers between computers -* [redis-viewer](https://github.com/SaltFishPr/redis-viewer): a Redis databases browser -* [sku](https://github.com/fedeztk/sku): Sudoku on the CLI -* [Slides](https://github.com/maaslalani/slides): a markdown-based presentation tool -* [SlurmCommander](https://github.com/CLIP-HPC/SlurmCommander): a Slurm workload manager TUI -* [Soft Serve](https://github.com/charmbracelet/soft-serve): a command-line-first Git server that runs a TUI over SSH -* [solitaire-tui](https://github.com/brianstrauch/solitaire-tui): Klondike Solitaire for the terminal -* [StormForge Optimize Controller](https://github.com/thestormforge/optimize-controller): a tool for experimenting with application configurations in Kubernetes -* [Storydb](https://github.com/grrlopes/storydb): a bash/zsh ctrl+r improved command history finder. -* [STTG](https://github.com/wille1101/sttg): a teletext client for SVT, Sweden’s national public television station -* [sttr](https://github.com/abhimanyu003/sttr): a general-purpose text transformer -* [tasktimer](https://github.com/caarlos0/tasktimer): a dead-simple task timer -* [termdbms](https://github.com/mathaou/termdbms): a keyboard and mouse driven database browser -* [ticker](https://github.com/achannarasappa/ticker): a terminal stock viewer and stock position tracker -* [tran](https://github.com/abdfnx/tran): securely transfer stuff between computers (based on [portal](https://github.com/ZinoKader/portal)) -* [Typer](https://github.com/maaslalani/typer): a typing test -* [typioca](https://github.com/bloznelis/typioca): Cozy typing speed tester in terminal -* [tz](https://github.com/oz/tz): an aid for scheduling across multiple time zones -* [ugm](https://github.com/ariasmn/ugm): a unix user and group browser -* [wander](https://github.com/robinovitch61/wander): a HashiCorp Nomad terminal client -* [WG Commander](https://github.com/AndrianBdn/wg-cmd): a TUI for a simple WireGuard VPN setup -* [wishlist](https://github.com/charmbracelet/wishlist): an SSH directory +- [AT CLI](https://github.com/daskycodes/at_cli): execute AT Commands via serial port connections +- [Aztify](https://github.com/Azure/aztfy): bring Microsoft Azure resources under Terraform +- [brows](https://github.com/rubysolo/brows): a GitHub release browser +- [Canard](https://github.com/mrusme/canard): an RSS client +- [charm](https://github.com/charmbracelet/charm): the official Charm user account manager +- [chezmoi](https://github.com/twpayne/chezmoi): securely manage your dotfiles across multiple machines +- [chtop](https://github.com/chhetripradeep/chtop): monitor your ClickHouse node without leaving terminal +- [circumflex](https://github.com/bensadeh/circumflex): read Hacker News in the terminal +- [clidle](https://github.com/ajeetdsouza/clidle): a Wordle clone +- [cLive](https://github.com/koki-develop/clive): automate terminal operations and view them live in a browser +- [container-canary](https://github.com/NVIDIA/container-canary): a container validator +- [countdown](https://github.com/aldernero/countdown): a multi-event countdown timer +- [dns53](https://github.com/purpleclay/dns53): dynamic DNS with Amazon Route53. Expose your EC2 quickly, securely and privately +- [eks-node-viewer](https://github.com/awslabs/eks-node-viewer): a tool for visualizing dynamic node usage within an eks cluster +- [enola](https://github.com/sherlock-project/enola): hunt down social media accounts by username across social networks +- [flapioca](https://github.com/kbrgl/flapioca): Flappy Bird on the CLI! +- [fm](https://github.com/knipferrc/fm): a terminal-based file manager +- [fork-cleaner](https://github.com/caarlos0/fork-cleaner): clean up old and inactive forks in your GitHub account +- [fztea](https://github.com/jon4hz/fztea): a Flipper Zero TUI +- [gambit](https://github.com/maaslalani/gambit): chess in the terminal +- [gembro](https://git.sr.ht/~rafael/gembro): a mouse-driven Gemini browser +- [gh-b](https://github.com/joaom00/gh-b): a GitHub CLI extension for managing branches +- [gh-dash](https://www.github.com/dlvhdr/gh-dash): a GitHub CLI extension for PRs and issues +- [gitflow-toolkit](https://github.com/mritd/gitflow-toolkit): a GitFlow submission tool +- [Glow](https://github.com/charmbracelet/glow): a markdown reader, browser, and online markdown stash +- [gocovsh](https://github.com/orlangure/gocovsh): explore Go coverage reports from the CLI +- [got](https://github.com/fedeztk/got): a simple translator and text-to-speech app build on top of simplytranslate's APIs +- [httpit](https://github.com/gonetx/httpit): a rapid http(s) benchmark tool +- [IDNT](https://github.com/r-darwish/idnt): a batch software uninstaller +- [kboard](https://github.com/CamiloGarciaLaRotta/kboard): a typing game +- [mandelbrot-cli](https://github.com/MicheleFiladelfia/mandelbrot-cli): a multiplatform terminal mandelbrot set explorer +- [mc](https://github.com/minio/mc): the official [MinIO](https://min.io) client +- [mergestat](https://github.com/mergestat/mergestat): run SQL queries on git repositories +- [Neon Modem Overdrive](https://github.com/mrusme/neonmodem): a BBS-style TUI client for Discourse, Lemmy, Lobste.rs and Hacker News +- [Noted](https://github.com/torbratsberg/noted): a note viewer and manager +- [pathos](https://github.com/chip/pathos): a PATH env variable editor +- [portal](https://github.com/ZinoKader/portal): secure transfers between computers +- [redis-viewer](https://github.com/SaltFishPr/redis-viewer): a Redis databases browser +- [sku](https://github.com/fedeztk/sku): Sudoku on the CLI +- [Slides](https://github.com/maaslalani/slides): a markdown-based presentation tool +- [SlurmCommander](https://github.com/CLIP-HPC/SlurmCommander): a Slurm workload manager TUI +- [Soft Serve](https://github.com/charmbracelet/soft-serve): a command-line-first Git server that runs a TUI over SSH +- [solitaire-tui](https://github.com/brianstrauch/solitaire-tui): Klondike Solitaire for the terminal +- [StormForge Optimize Controller](https://github.com/thestormforge/optimize-controller): a tool for experimenting with application configurations in Kubernetes +- [Storydb](https://github.com/grrlopes/storydb): a bash/zsh ctrl+r improved command history finder. +- [STTG](https://github.com/wille1101/sttg): a teletext client for SVT, Sweden’s national public television station +- [sttr](https://github.com/abhimanyu003/sttr): a general-purpose text transformer +- [tasktimer](https://github.com/caarlos0/tasktimer): a dead-simple task timer +- [termdbms](https://github.com/mathaou/termdbms): a keyboard and mouse driven database browser +- [ticker](https://github.com/achannarasappa/ticker): a terminal stock viewer and stock position tracker +- [tran](https://github.com/abdfnx/tran): securely transfer stuff between computers (based on [portal](https://github.com/ZinoKader/portal)) +- [Typer](https://github.com/maaslalani/typer): a typing test +- [typioca](https://github.com/bloznelis/typioca): Cozy typing speed tester in terminal +- [tz](https://github.com/oz/tz): an aid for scheduling across multiple time zones +- [ugm](https://github.com/ariasmn/ugm): a unix user and group browser +- [walk](https://github.com/antonmedv/walk): a terminal navigator +- [wander](https://github.com/robinovitch61/wander): a HashiCorp Nomad terminal client +- [WG Commander](https://github.com/AndrianBdn/wg-cmd): a TUI for a simple WireGuard VPN setup +- [wishlist](https://github.com/charmbracelet/wishlist): an SSH directory ## Feedback We'd love to hear your thoughts on this project. Feel free to drop us a note! -* [Twitter](https://twitter.com/charmcli) -* [The Fediverse](https://mastodon.social/@charmcli) -* [Discord](https://charm.sh/chat) +- [Twitter](https://twitter.com/charmcli) +- [The Fediverse](https://mastodon.social/@charmcli) +- [Discord](https://charm.sh/chat) ## Acknowledgments @@ -398,7 +399,7 @@ of days past. [MIT](https://github.com/charmbracelet/bubbletea/raw/master/LICENSE) -*** +--- Part of [Charm](https://charm.sh).