CSV Table

Academy theme csvtable shortcode for rendering permissions tables from CSV data.
2 minutes read

The csvtable shortcode turns a role permissions matrix into documentation tables, so the permissions stay in one CSV instead of hand-maintained markdown that drifts out of sync. It groups rows by their Category column and renders a table per category, with every role as a column — giving readers a feature-by-feature comparison of role access.

{{< csvtable >}}
{{< csvtable src="keys-backup.csv" >}}

Parameters:

ParameterDescriptionDefault
srcPath to the CSV. Resolved against the page bundle first, then assets/, then the project rootstatic/data/csv/keys-backup.csv
headerRow0-based index of the header row. Set to 1 for a CSV with a title row above the header0

Example:

Designs Permissions

PermissionDescriptionWorkspace AdminWorkspace EditorTeam AdminTeam EditorOrg AdminOrg EditorProvider Admin
DesignCreate and edit cloud native designs
DesignDelete designs
DesignShare designs with team

Environments Permissions

PermissionDescriptionWorkspace AdminWorkspace EditorTeam AdminTeam EditorOrg AdminOrg EditorProvider Admin
EnvironmentCreate environments
EnvironmentDelete environments
EnvironmentView environment details

Connections Permissions

PermissionDescriptionWorkspace AdminWorkspace EditorTeam AdminTeam EditorOrg AdminOrg EditorProvider Admin
ConnectionRegister connections
ConnectionTest connections
ConnectionDelete connections

The CSV needs a Category column, Function and Feature columns, and one column per role. Keychain ID, Key ID, Inserted, and Local Provider are hidden if present. Role cells render X as ✅, X* as ✅ *, and anything else as ❌.

Paths for assets/ are relative to that directory (data/keys.csv), while project-root paths keep their prefix (static/data/csv/keys-backup.csv).