knative / client

Knative developer experience, docs, reference Knative CLI implementation
Apache License 2.0
353 stars 261 forks source link

[48h Knative] Color output #1891

Open rhuss opened 1 year ago

rhuss commented 1 year ago

πŸ‘‹ 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

github-actions[bot] commented 8 months ago

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

rhuss commented 8 months ago

/remove-lifecycle stale

github-actions[bot] commented 5 months ago

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.

github-actions[bot] commented 3 weeks ago

This issue is stale because it has been open for 90 days with no activity. It will automatically close after 30 more days of inactivity. Reopen the issue with /reopen. Mark the issue as fresh by adding the comment /remove-lifecycle stale.