How URLs are created
Last Updated:
Understanding how content URLs are generated by Metalsmith helps prevent build errors. Here's how it works.
Pages in vagov-content
Document paths are based on the Markdown file paths.
Each Markdown file generates a corresponding directory and
index.html
file. For example:_education/tools-programs.md
→/education/tools-programs/index.html
_education/tools-programs/index.md
→/education/tools-programs/index.html
_education/work-learn/non-traditional.md
→_education/work-learn/non-traditional/index.html
Make sure that every collection sub-directory also has a Markdown file that shares its name.
Take the the _employment/job-seekers/
directory as an example. It also has an _employment/job-seekers.md
file. Each Markdown file in _employment/job-seekers/
compiles to employment/jobs-seekers/name_of_markdown_file/index.html
, while _employment/job-seekers.md
itself compiles to employment/job-seekers/index.html
.
Failing to take the above step means that you could generate breadcrumbs to pages that do not exist.
Pages in Drupal
In Drupal, URLs are created based off the entityUrl.path
property included on each node. Similar to vagov-content pages, an index.html page is appended to that path so that URLs can reference just the path without an html extension.
More information on URLs
See VA.gov Design System URL standards
Help and feedback
Get help from the Platform Support Team in Slack.
Submit a feature idea to the Platform.