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).