Κρυμμένα διαμάντια του CLI::UI 💎
Ανακάλυψε τα κρυμμένα διαμάντια του CLI::UI: προσθήκη συνδέσμων, εκτύπωση πινάκων και διαχωρισμός frames για καλύτερη εμπειρία στη γραμμή εντολών.
Το CLI::UI είναι ένα Ruby gem που σχεδιάστηκε για να βελτιώνει τα command-line interfaces (CLIs), προσφέροντας ένα framework για τη μορφοποίηση και το styling του κειμένου εξόδου. Ενσωματώνεται άψογα με άλλα Ruby gems όπως το Thor, επεκτείνοντας ακόμα περισσότερο τις δυνατότητές του.
Υπάρχουν μερικά ωραία χαρακτηριστικά που δεν τεκμηριώνονται πουθενά. Ορίστε κάποια από αυτά 👇
Προσθήκη συνδέσμων 🔗#

puts CLI::UI.link('https://logs.panos.codes', 'My blog')Εκτύπωση πινάκων#

Η μορφοποίηση του CLI::UI μπορεί να συνδυαστεί με το gem Thor, που μας δίνει πρόσβαση στη μέθοδο print_table
row_1 = [
CLI::UI.fmt("{{red:Header}}"),
CLI::UI.fmt("{{red:Value}}"),
]
row_2 = [
CLI::UI.fmt('{{info:Accept-Encoding:}} '),
CLI::UI.fmt('{{white:gzip, deflate, br, zstd}}')
]
row_3 = [
CLI::UI.fmt('{{info:Accept:}} '),
CLI::UI.fmt('{{white:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8}}')
]
row_4 = [
CLI::UI.fmt('{{info:Cache-Control:}} '),
CLI::UI.fmt('{{white:no-cache}}')
]
Thor::Shell::Basic.new.print_table([ row_1, row_2, row_3, row_4]) Διαχωρισμός frames#

Το CLI::UI.Frame μας δίνει την πρακτική μέθοδο .divider
CLI::UI::Frame.open(CLI::UI.link('https://logs.panos.codes', 'My blog'), timing: false) do
CLI::UI::Frame.divider('Headers', frame_style: :bracket)
Thor::Shell::Basic.new.print_table([ row_1, row_2, row_3, row_4])
CLI::UI::Frame.divider('Response')
puts "<html>...</html>"
end