Git Product home page Git Product logo

beauty's Introduction

Beauty

Beauty: beautiful things in the console.

I often have the needs to display some structured information in command line, e.g. display some list of items as a table, display a bar chart etc, so I write a small piece of code to make this easy, currently it supports basic table:

Basic Table

It supports display an object into a key-value pair styled layout table:

Basic Detail

and also it supports BarChart:

img.png

Enjoy!

Usage

To display a table:

String str = table(
        persons(),
        Arrays.asList(
                column("Name", (Person p) -> p.getName()),
                column("Age", (Person p) -> p.getAge()),
                column("Gender", (Person p) -> p.isMale() ? "Male" : "Female")
        ),
        x -> Color.NONE,
        Color.NONE
);

System.out.println(str);

To display one object in detail mode:

String str = detail(
        persons().get(0),
        Arrays.asList(
                column("Name", (Person p) -> p.getName()),
                column("Age", (Person p) -> p.getAge()),
                column("Gender", (Person p) -> p.isMale() ? "Male" : "Female")
        ),
        Color.NONE
);

System.out.println(str);

To display a bar chart:

String str = barChart(BarChart.intBarChart(Arrays.asList(
        new BarItem<>("Male", persons().stream().mapToInt(x -> x.isMale() ? 1 : 0).sum()),
        new BarItem<>("Female", persons().stream().mapToInt(x -> x.isMale() ? 0 : 1).sum()))));

System.out.println(str);

For more complete example, check out src/test/java/io/github/xumingming/beauty/BeautyTest.java

beauty's People

Contributors

xumingming avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.