File: basic-usage.md

package info (click to toggle)
node-cli-table 0.3.11%2B~cs0.13.4-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,036 kB
  • sloc: javascript: 7,508; makefile: 9
file content (146 lines) | stat: -rw-r--r-- 5,918 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
##### Basic Usage
![table image](./examples/screenshots/basic-usage-with-colors.png)
```javascript
      // By default, headers will be red, and borders will be grey
      var table = new Table({head:['a','b']});

      table.push(['c','d']);

```


##### Basic Usage - disable colors - (used often in the examples and tests)
    ┌──────┬─────────────────────┬─────────────────────────┬─────────────────┐
    │ Rel  │ Change              │ By                      │ When            │
    ├──────┼─────────────────────┼─────────────────────────┼─────────────────┤
    │ v0.1 │ Testing something … │ rauchg@gmail.com        │ 7 minutes ago   │
    ├──────┼─────────────────────┼─────────────────────────┼─────────────────┤
    │ v0.1 │ Testing something … │ rauchg@gmail.com        │ 8 minutes ago   │
    └──────┴─────────────────────┴─────────────────────────┴─────────────────┘
```javascript
      // For most of these examples, and most of the unit tests we disable colors.
      // It makes unit tests easier to write/understand, and allows these pages to
      // display the examples as text instead of screen shots.
      var table = new Table({
           head: ['Rel', 'Change', 'By', 'When']
        , style: {
            head: []    //disable colors in header cells
          , border: []  //disable colors for the border
        }
        , colWidths: [6, 21, 25, 17]  //set the widths of each column (optional)
      });

      table.push(
          ['v0.1', 'Testing something cool', 'rauchg@gmail.com', '7 minutes ago']
        , ['v0.1', 'Testing something cool', 'rauchg@gmail.com', '8 minutes ago']
      );

```


##### Create vertical tables by adding objects a that specify key-value pairs
    ┌────┬──────────────────────┐
    │v0.1│Testing something cool│
    ├────┼──────────────────────┤
    │v0.1│Testing something cool│
    └────┴──────────────────────┘
```javascript
      var table = new Table({ style: {'padding-left':0, 'padding-right':0, head:[], border:[]} });

      table.push(
          {'v0.1': 'Testing something cool'}
        , {'v0.1': 'Testing something cool'}
      );

```


##### Cross tables are similar to vertical tables, but include an empty string for the first header
    ┌────────┬────────┬──────────────────────┐
    │        │Header 1│Header 2              │
    ├────────┼────────┼──────────────────────┤
    │Header 3│v0.1    │Testing something cool│
    ├────────┼────────┼──────────────────────┤
    │Header 4│v0.1    │Testing something cool│
    └────────┴────────┴──────────────────────┘
```javascript
      var table = new Table({ head: ["", "Header 1", "Header 2"], style: {'padding-left':0, 'padding-right':0, head:[], border:[]} }); // clear styles to prevent color output

      table.push(
        {"Header 3": ['v0.1', 'Testing something cool'] }
        , {"Header 4": ['v0.1', 'Testing something cool'] }
      );

```


##### Stylize the table with custom border characters
    ╔══════╤═════╤══════╗
    ║ foo  │ bar │ baz  ║
    ╟──────┼─────┼──────╢
    ║ frob │ bar │ quuz ║
    ╚══════╧═════╧══════╝
```javascript
      var table = new Table({
        chars: {
          'top': '═'
          , 'top-mid': '╤'
          , 'top-left': '╔'
          , 'top-right': '╗'
          , 'bottom': '═'
          , 'bottom-mid': '╧'
          , 'bottom-left': '╚'
          , 'bottom-right': '╝'
          , 'left': '║'
          , 'left-mid': '╟'
          , 'right': '║'
          , 'right-mid': '╢'
        },
        style: {
          head: []
          , border: []
        }
      });

      table.push(
        ['foo', 'bar', 'baz']
        , ['frob', 'bar', 'quuz']
      );

```


##### Use ansi colors (i.e. colors.js) to style text within the cells at will, even across multiple lines
![table image](./examples/screenshots/multi-line-colors.png)
```javascript
      var table = new Table({style:{border:[],header:[]}});

      table.push([
        colors.red('Hello\nhow\nare\nyou?'),
        colors.blue('I\nam\nfine\nthanks!')
      ]);

```


##### Set `wordWrap` to true to make lines of text wrap instead of being truncated
    ┌───────┬─────────┐
    │ Hello │ I am    │
    │ how   │ fine    │
    │ are   │ thanks! │
    │ you?  │         │
    └───────┴─────────┘
```javascript
      var table = new Table({
        style:{border:[],header:[]},
        colWidths:[7,9],
        wordWrap:true
      });

      table.push([
        'Hello how are you?',
        'I am fine thanks!'
      ]);

```