Skip to content

Latest commit

 

History

History
433 lines (417 loc) · 20.2 KB

zoo.md

File metadata and controls

433 lines (417 loc) · 20.2 KB

In this example, the inventory of various Zoo animals from different City Zoos is maintained in a KVITable, where each animal is additionally classified by parameters such as Biome and Diet.

The KVITable creation is somewhat lengthy due to the size of the inventory; the SampleTables.hs file should be consulted for the definition of the KVITable zooTable and zooTable2.

Rendering the data without any column stacking, but with multiple row groupings:

import Data.KVITable.Render.ASCII

render (defaultRenderConfig
        { sortKeyVals = True
        , rowRepeat   = False
        , rowGroup = [ "Location", "Biome", "Category" ]
        })
       zooTable2

results in the following:

____ snip vv ____
|  Location |    Biome | Category |      Diet |    Name |     Subtype | Count |
+-----------+----------+----------+-----------+---------+-------------+-------+
|        LA |   Jungle |   Animal | Herbivore |   Hippo |             |     1 |
|           |----------+----------+-----------+---------+-------------+-------+
|           | Savannah |   Animal | Carnivore |    Lion |             |     4 |
|           |          |          | Herbivore | Giraffe |             |     2 |
|           |          |          |           |   Rhino |             |     3 |
+-----------+----------+----------+-----------+---------+-------------+-------+
|     Miami |    Polar |     Bird | Carnivore | Penguin |      Gentoo |    20 |
|           |----------+----------+-----------+---------+-------------+-------+
|           | Savannah |   Animal | Carnivore |    Lion |             |     2 |
|           |          |          | Herbivore | Giraffe | Reticulated |     3 |
+-----------+----------+----------+-----------+---------+-------------+-------+
|  New York | Savannah |   Animal | Carnivore |    Lion |             |     3 |
+-----------+----------+----------+-----------+---------+-------------+-------+
| San Diego |   Jungle |   Animal |  Omnivore |    Bear |         Sun |     1 |
|           |----------+----------+-----------+---------+-------------+-------+
|           |   Plains |   Animal |  Omnivore |    Bear |       Black |     1 |
|           |          |          |           |         |       Brown |     1 |
|           |----------+----------+-----------+---------+-------------+-------+
|           |    Polar |   Animal |  Omnivore |    Bear |       Polar |     1 |
|           |          |----------+-----------+---------+-------------+-------+
|           |          |     Bird | Carnivore | Penguin |     Emperor |     8 |
|           |          |          |           |         |      Gentoo |     2 |
|           |----------+----------+-----------+---------+-------------+-------+
|           | Savannah |   Animal | Carnivore |    Lion |             |     9 |
+-----------+----------+----------+-----------+---------+-------------+-------+
____ snip ^^ ____

or in HTML (with CSS inherited from the Markdown configuration... imagine how much nicer this could be with your own CSS styling!):


Location
Biome
Category
Diet
Name
Subtype
Count
LA
Jungle
Animal
Herbivore
Hippo
1
Savannah
Animal
Carnivore
Lion
4
Herbivore
Giraffe
2
Rhino
3
Miami
Polar
Bird
Carnivore
Penguin
Gentoo
20
Savannah
Animal
Carnivore
Lion
2
Herbivore
Giraffe
Reticulated
3
New York
Savannah
Animal
Carnivore
Lion
3
San Diego
Jungle
Animal
Omnivore
Bear
Sun
1
Plains
Animal
Omnivore
Bear
Black
1
Brown
1
Polar
Animal
Omnivore
Bear
Polar
1
Bird
Carnivore
Penguin
Emperor
8
Gentoo
2
Savannah
Animal
Carnivore
Lion
9

With Column Stacking

Removing the "Subtype" field from the zoo table and then modifying the rendering configuration to add column stacking on the "Name" key Vals results in:

____ snip vv ____
|  Location |    Biome | Category |      Diet | Bear | Giraffe | Hippo | Lion | Penguin | Rhino | <- Name
+-----------+----------+----------+-----------+------+---------+-------+------+---------+-------+
|        LA |   Jungle |   Animal | Herbivore |      |         |     1 |      |         |       |
|           |----------+----------+-----------+------+---------+-------+------+---------+-------+
|           | Savannah |   Animal | Carnivore |      |         |       |    4 |         |       |
|           |          |          | Herbivore |      |       2 |       |      |         |     3 |
+-----------+----------+----------+-----------+------+---------+-------+------+---------+-------+
|     Miami |    Polar |     Bird | Carnivore |      |         |       |      |      20 |       |
|           |----------+----------+-----------+------+---------+-------+------+---------+-------+
|           | Savannah |   Animal | Carnivore |      |         |       |    2 |         |       |
|           |          |          | Herbivore |      |       3 |       |      |         |       |
+-----------+----------+----------+-----------+------+---------+-------+------+---------+-------+
|  New York | Savannah |   Animal | Carnivore |      |         |       |    3 |         |       |
+-----------+----------+----------+-----------+------+---------+-------+------+---------+-------+
| San Diego |   Jungle |   Animal |  Omnivore |    1 |         |       |      |         |       |
|           |----------+----------+-----------+------+---------+-------+------+---------+-------+
|           |   Plains |   Animal |  Omnivore |    2 |         |       |      |         |       |
|           |----------+----------+-----------+------+---------+-------+------+---------+-------+
|           |    Polar |   Animal |  Omnivore |    1 |         |       |      |         |       |
|           |          |----------+-----------+------+---------+-------+------+---------+-------+
|           |          |     Bird | Carnivore |      |         |       |      |      10 |       |
|           |----------+----------+-----------+------+---------+-------+------+---------+-------+
|           | Savannah |   Animal | Carnivore |      |         |       |    9 |         |       |
+-----------+----------+----------+-----------+------+---------+-------+------+---------+-------+
____ snip ^^ ____

And as HTML:


Location
Biome
Category
Diet
Bear
Giraffe
Hippo
Lion
Penguin
Rhino
 ←Name
LA
Jungle
Animal
Herbivore
1
Savannah
Animal
Carnivore
4
Herbivore
2 3
Miami
Polar
Bird
Carnivore
20
Savannah
Animal
Carnivore
2
Herbivore
3
New York
Savannah
Animal
Carnivore
3
San Diego
Jungle
Animal
Omnivore
1
Plains
Animal
Omnivore
2
Polar
Animal
Omnivore
1
Bird
Carnivore
10
Savannah
Animal
Carnivore
9