File Location and Frontmatter Reference
Filenames
Section titled “Filenames”Page filenames should be:
- all lowercase
- with no spaces, underscores, or punctuation (except hyphens)
- using real words (not abbreviations) separated by hyphens
- that represents the page title (or a short version of it)
as in: font-licensing.md or style-guide.mdx.
Image filenames can be flexible in format as long as it includes some hint of which page uses it.
Topic article images could use the format pppp[-n]-shortname.png where
- pppp is the topic page order number (suggestion not an absolute requirement)
- n is an optional counter if you have multiple images on a page
- shortname can be whatever you want (it-can-even-have-multiple-hyphens) but should be all lowercase
Article Library images could use the format articlename[-n][-shortname].png where
- articlename is the filename of the article using the image
- n is an optional counter if you have multiple images in an article
- shortname is optional if you want to add some further info about the image
In all image filenames there should be no spaces. Use hyphens, not underscores. The optional counter is not required and does not need to relate to any figure numbering.
If you want to reuse an image on multiple pages within the same folder, name it based on one page and then reference it on another.
Images can be any size, but those intended to fill the main content column should be at least 720 pixels wide, and any size above that can be used. Astro will adjust the size and optimize the image automatically. There is no need to manually optimize images for a particular size.
File locations
Section titled “File locations”New articles should be placed in the Articles Library folder (/articlelib) and in the subfolder that matches the first letter of the filename. Files whose titles (and filenames) begin with a number should be placed in the 0-9 subfolder (/articlelib/0-9). Files in the Articles Library do not need any sidebar: frontmatter and will not be tracked in the WSTR Classification spreadsheet.
Topic pages that should appear in the sidebar Topics sections - both old and new - should be placed in the appropriate folder under /topics. These do require sidebar: frontmatter to specify their order in the sidebar. See the Frontmatter section below for details. There are tracked in the WSTR Classification spreadsheet in order to assign them an appropriate order.
Guides should be placed in the Topics subfolder that most closely matches their content. They also need to be manually added to the Guides sidebar definition in astro.config.mjs.
Images used on a page should be placed in an images folder in the same location as the page. They should normally be .png or .jpg. Other formats may work but are untested.
Frontmatter
Section titled “Frontmatter”Metadata for each page is defined in the frontmatter - the YAML header of each page. Here is a complete example including all optional fields. Note that formatting and indentation is very important, particularly for sidebar.
---title: Page Titlesubtitle: This is a page subtitledescription: What this page is about - will be used for article list annotationsauthors: Jane Jones, Adam Smithshorturl: slug-for-short-urlsidebar: order: 1234 label: Alternate sidebar title hidden: truetags: [tag, another tag]lastUpdated: 2025-11-18draft: true---Here are details, with required fields in bold.
title- required by system, should be unique, should use Title Casesubtitle- optionaldescription- optional, used for article list annotations and for search summariesauthors- optional, a single string of text that describes the author(s) and editor(s), normally listed in alphabetical order by last nameshorturl- optional, a short string that will be used as the ‘slug’ for an alternate URL that is redirected to the page (see Page URLs and Short URLs section below)sidebar: order- required only for Topic pages, use topic # from the WSTR Classificationsidebar: label- optional, replaces title in sidebar only, useful if page title is too long for sidebarsidebar: hidden- optional, keeps page from being listed in sidebartags- strongly recommended but not required, see Tags section belowlastUpdated- required, use yyyy-mm-dd format, should be the date the content is current as of, not the date a minor typo was fixed. This will not be strictly enforced as there may be good reasons for a specific page to not include it.draft- optional, hides page from production builds, not currently recommended
There are additional frontmatter fields (beginning with scrprop)that are used for special types of pages (e.g. Script pages).
Article example
Section titled “Article example”---title: Archaic form of nnadescription: Visual comparison between the standard and archaic form of U+0923tags: [script-deva, char-0923]lastUpdated: 2025-10-16---Topic page example
Section titled “Topic page example”---title: Application Development Best Practicedescription: Guide for software developerssidebar: order: 2500 label: App Development Best Practicetags: [conversion, encoding, fonts, input, layout, rendering]lastUpdated: 2025-11-05---Page URLs and Short URLs
Section titled “Page URLs and Short URLs”Page URLs (permalinks) are automatically generated from the filename and the folder structure. If you want a page to have a shorter or different URL you can set that in the frontmatter using the custom shorturl field. For example, a page with the filename-based path of /topics/computing/langtech-webinar-links-2025 could have a simpler slug of ltweb25 by adding this to the frontmatter:
shorturl: ltweb25This will set up a redirect so that if someone goes to the short URL they will be automatically redirected to the full URL. The page is then accessible at both original and short URLs.
This should not be used for pages that are moved or renamed - in those cases use proper redirects in astro.config.mjs instead.
Tags should be included in the frontmatter of most articles and topic pages. They are mainly used to prepare lists of relevant resources for Script pages and Topic ‘Related Articles’ pages. They will not be shown to users or used as a navigational tool.
Use existing tags where possible - see Tag Reference. New tags can be created as needed but should be relevant and not overly specific. Tags should be in lowercase, separated by commas, and can include spaces. The list of tags should be included within square brackets, e.g., tags: [here is a tag, another tag, script-deva, char-0923].
Topic page tags do not need a tag for the topic itself, as that would result in a redundant listing on that topic’s Related Articles page.