Skip to content

[48h Knative] Color output #1891

@rhuss

Description

@rhuss

👋 Hello, awesome contributor!

Are you excited about Knative and open-source development? You're in the right place! This is a mini-project for the upcoming 48h Knative event—a 48-hour hackathon designed to boost contributions to the Knative Client project. For more details, check out Issue #1842.

🎯 Project Description

Colorify the output of kn.

This includes using emojis to indicate actions. See #1589 and #75 color for an early attempt, which is outdated for quite some time.

For proper layout and less work when implementing, it might be worth to consider introducing a color library like https://github.com/charmbracelet/lipgloss or something similar.

Color output should be optional, so always keep the existing layout when colors are switched off.

As a bonus (optional), think about possibly adding theme support to support dark and light backgrounds. Such themes might be possible to be defined in the configuration file.

🌟 Benefits

Having a modern UI is essential to stand out from other CLI tools, and event if it might not add to the functionality, it's more fun to work with a beautiful tool.

Using colors also adds an extra dimension to highlight important parts and to structure the output. There are just more possibilities to interact with the user.

🛠 Difficulty Level

Intermediate

👥 Recommended Team Size

1-2

🎉 Expected Outcome

Having some of kn outputs be colorized and developing a particular theme that can be worked on later. It is not expected that everything already has color output.

Coloring should be optional, and it should be possible to switch it off via a command line option (e.g. --color no or --no-color). There should also be an auto-detection whether a TTY is attached and if not, no color output should be used (e.g., when kn is used in pipes or scripts)

🤝 Mentor

📝 Additional Information

Some interesting libraries:

🌐 Entrypoints


📋 Organizer Checklist

  • Added to Project Board
  • Proposal Reviewed
  • Assigned a Mentor
  • Expected Outcome define

Metadata

Metadata

Assignees

Labels

knative48hIssue selected for the "48h Knative" hackathonlifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions