https://github.com/github/docs/tree/main/data/tables • 267 KB fetched Open original page
docs/data/tables at main · github/docs · GitHub
Skip to content
Navigation Menu
Sign in Appearance settings
* Platform
* AI CODE CREATION
* GitHub Copilot Write better code with AI
* GitHub Copilot app Direct agents from issue to merge
* MCP Registry Integrate external tools
* DEVELOPER WORKFLOWS
* Actions Automate any workflow
* Codespaces Instant dev environments
* Issues Plan and track work
* Code Review Manage code changes
* Code Quality Enforce quality at merge
* APPLICATION SECURITY
* GitHub Advanced Security Find and fix vulnerabilities
* Code security Secure your code as you build
* Secret protection Stop leaks before they start
* EXPLORE
* Why GitHub
* Documentation
* Blog
* Changelog
* Marketplace
View all features
* Solutions
* BY COMPANY SIZE
* Enterprises
* Small and medium teams
* Startups
* Nonprofits
* BY USE CASE
* App Modernization
* DevSecOps
* DevOps
* CI/CD
* View all use cases
* BY INDUSTRY
* Healthcare
* Financial services
* Manufacturing
* Government
* View all industries
View all solutions
* Resources
* EXPLORE BY TOPIC
* AI
* Software Development
* DevOps
* Security
* View all topics
* EXPLORE BY TYPE
* Customer stories
* Events & webinars
* Ebooks & reports
* Business insights
* GitHub Skills
* SUPPORT & SERVICES
* Documentation
* Customer support
* Community forum
* Trust center
* Partners
View all resources
* Open Source
* COMMUNITY
* GitHub Sponsors Fund open source developers
* PROGRAMS
* Security Lab
* Maintainer Community
* GitHub Stars
* Archive Program
* REPOSITORIES
* Topics
* Trending
* Collections
* Enterprise
* ENTERPRISE SOLUTIONS
* Enterprise platform AI-powered developer platform
* AVAILABLE ADD-ONS
* GitHub Advanced Security Enterprise-grade security features
* Copilot for Business Enterprise-grade AI features
* Premium Support Enterprise-grade 24/7 support
* Pricing
Search /
Sign in
Sign up Appearance settings
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
Uh oh!
There was an error while loading. Please reload this page .
github
/
docs
Public
*
Notifications
You must be signed in to change notification settings
*
Fork
68.7k
*
Star
20.8k
*
Code
*
Issues
32
*
Pull requests
19
*
Actions
*
Projects
*
Security and quality
0
*
Insights
Additional navigation options
*
Code
*
Issues
*
Pull requests
*
Actions
*
Projects
*
Security and quality
*
Insights
Files Expand file tree
main
Breadcrumbs
* docs
* / data
/ tables
/
Copy path
Directory actions
More options
More options
Directory actions
More options
More options
Latest commit
History
History
History
main
Breadcrumbs
* docs
* / data
/ tables
/
Copy path
Top
Folders and files
Name Name Last commit message
Last commit date
parent directory
..
copilot
copilot
README.md
README.md
repository-roles.yml
repository-roles.yml
rest-api-versions.yml
rest-api-versions.yml
supported-code-languages.yml
supported-code-languages.yml
View all files
README.md
Outline
YAML-powered tables
Overview
GitHub Docs uses YAML files to manage some complex reference tables instead of hard-to-maintain Markdown tables. This approach provides:
* Maintainable format : Stakeholders can easily update readable YAML files
* Single source of truth : Centralized data prevents inconsistencies
* Accurate information : Reduces errors and outdated content
* Self-service process : Minimal engineering support needed
Important : The .yml files in this directory are maintained manually . Tables that need automatic updates from external sources require engineering work.
Table of contents
* When to use this approach
* How it works
* Step-by-step guide
* Testing and validation
* Next steps
When to use this approach
Use data-driven tables when you have:
* Complex reference tables with multiple columns
* Data that needs regular updates by different stakeholders
* Structured information that benefits from validation
How it works
Every data-driven table needs three files that work together:
File type
Location
Purpose
Data file
data/tables/
Stores the table content in YAML format
Content file
content/
Displays the table using Liquid templating
Schema file
src/data-directory/lib/data-schemas/tables/
Validates the YAML structure
Estimated time : 30-60 minutes for a new table
Step-by-step guide
Step 1: Create the data file
Create a new .yml file in data/tables/ with a descriptive name.
Copilot prompt template:
Create a YAML structure that will allow me to generate a table that looks like:
[describe your table headers, rows, and columns OR attach an example]
See data/tables/supported-code-languages.yml for an example.
Step 2: Create the content display
In your content file, add Liquid code to render the table. Access your data at {% data tables.TABLE_NAME %} (where TABLE_NAME is your filename without .yml ).
Copilot prompt template:
Create a Markdown table that is dynamically rendered using Liquid code.
Pull data from data/tables/TABLE_NAME.yml.
The table should look like: [describe your desired output OR attach an example]
See content/get-started/learning-about-github/github-language-support.md for an example.
Liquid docs: https://shopify.github.io/liquid
💡 Tip : Iterate between Steps 1 and 2 until the table renders correctly.
Step 3: Create the schema file
Create a .ts file in src/data-directory/lib/data-schemas/tables/ with the same name as your YAML file.
Copilot prompt template:
Create a TypeScript schema following prior art under data-schemas that enforces
the structure of the data/TABLE_NAME.yml file.
See src/data-directory/lib/data-schemas/tables/supported-code-languages.ts for an example.
Testing and validation
After creating all three files:
* Build the site : Run npm run build
* Test schemas : Run npm test -- src/data-directory/tests
* Fix any errors : If you get failures in src/data-directory/tests/data-schemas.ts :
* Copy the error message
* In VS Code Copilot Chat, type: "When I ran the schema test, I got this error:" and paste the error
* Update your schema file based on Copilot's suggestions
* Repeat testing until all tests pass
Next steps
Once your table is working and tests pass, create a pull request for review.
The docs-engineering team must review and approve your implementation.
Footer
(c) 2026 GitHub, Inc.
Footer navigation
*
Terms
*
Privacy
*
Security
*
Status
*
Community
*
Docs
*
Contact
*
Manage cookies
*
Do not share my personal information
You can’t perform that action at this time.