> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

# User profile

> The code for this example can be used in a Markdown column to combine a user's name, email, and avatar into a single table column.

The code for these examples can be used in a Markdown column to combine a user's details—like their name, email, and an avatar—into a single [table](/visualize-present/visualizations/types/table) column.

For each example, select the column you want to format in the table visualization, set **Display as** to **Markdown**, and add the Markdown template and CSS. The fields are referenced using [Mustache syntax](/visualize-present/mustache-reference); replace them with your own fields.

## Name and email

This style stacks a bold name over a smaller, muted email in a single column.

<img src="https://mintcdn.com/omni-e7402367/yeWZzwadMOqVYKJ6/showcase/visualizations/images/user-profile.png?fit=max&auto=format&n=yeWZzwadMOqVYKJ6&q=85&s=19259844b9433e47302ac78a8fd8b67c" alt="A table column showing each person's name in bold with their email address in smaller gray text below" width="647" height="285" data-path="showcase/visualizations/images/user-profile.png" />

### Setup

This example references the `name` and `email` fields from the `saas__users_detailed` view. Because the email is rendered inside the name column, you can [hide the original email column](/visualize-present/visualizations/types/table#showing-and-hiding-columns) so it doesn't appear twice in the table.

| Col | Name  | Description or formula | Purpose                        |
| --- | ----- | ---------------------- | ------------------------------ |
| A   | Name  | User's name field      | Shown as the bold primary text |
| B   | Email | User's email field     | Shown as the muted subtext     |

### Example code

**Markdown template**:

```handlebars wrap theme={null}
**{{saas__users_detailed.name.value}}**
<br>
<div style="color:#94a3b8;font-size:11px;">{{saas__users_detailed.email.value}}</div>
```

**CSS styles**:

No custom CSS is required for this example, so you can leave the **CSS style** field empty.

## Avatar with initials

This style adds a circular avatar showing each user's initials next to their name and email.

<img src="https://mintcdn.com/omni-e7402367/yeWZzwadMOqVYKJ6/showcase/visualizations/images/user-profile-initials.png?fit=max&auto=format&n=yeWZzwadMOqVYKJ6&q=85&s=241eb951f1d77100463425d26d62a14d" alt="A table column showing a colored circular avatar with each user's initials, next to their name in bold and email in smaller gray text" width="684" height="295" data-path="showcase/visualizations/images/user-profile-initials.png" />

### Setup

This example adds a [calculation](/analyze-explore/calculations) that extracts the user's initials from their name—the first letter of the first name and the first letter of the last name, where column `A` is the name field. Set the initials calculation column to **Display as** **Markdown**, then hide the original name and email columns so only the combined profile renders.

The Markdown template references the initials calculation as `{{calc_1.value}}`. If your calculation has a different name, update the reference to match.

| Col | Name                | Description or formula                           | Purpose                                    |
| --- | ------------------- | ------------------------------------------------ | ------------------------------------------ |
| A   | Name                | User's name field                                | Bold primary text; source for the initials |
| B   | Email               | User's email field                               | Muted subtext                              |
| C   | Initials (`calc_1`) | `=LEFT(A5, 1) & MID(A5, (FIND(" ", A5) + 1), 1)` | First and last initial shown in the avatar |

### Example code

**Markdown template**:

```handlebars wrap theme={null}
<div style="display:flex; align-items:center; gap:10px; white-space:nowrap;">
  <div class="avatar-circle" style="display:flex; align-items:center; justify-content:center;">
    {{calc_1.value}}
  </div>
  <span style="display:flex; flex-direction:column;">
    <div class="avatar-name">{{saas__users_detailed.name.value}}</div>
    <div class="avatar-email">{{saas__users_detailed.email.value}}</div>
  </span>
</div>
```

**CSS styles**:

```css expandable theme={null}
<style>
  .avatar-row {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
  }

  .avatar-circle {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    background: #6366f1;
    color: white;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .avatar-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
  }

  .avatar-name {
    font-weight: 600;
  }

  .avatar-email {
    font-size: 12px;
    color: #888;
  }
</style>
```
