メインコンテンツへスキップ

Current Web Device source

Directory and file conventions reference

Locate each public Web Device concern by responsibility, not by a copied historical tree.

Use this reference when you need a precise location. It is a current directory-reading contract, not a claim that every historical site has already migrated to this shape.

Site root

PathPurpose
.route/webDeclares that the blocklet has a Web entry for the local or published runtime
.web/site.yamlSite-level scalar configuration: locale, SEO, template/theme values, and related settings
.web/tokens.jsonLight/default design tokens plus optional dark overrides
.web/redirectsRedirect rules in its own line-oriented file form
.web/template/logo.svgSite logo asset
.web/components/<name>/Reusable site presentation component
.web/themes/Local theme material, with separate precedence rules from shared-library fallback
layouts/<name>.aupNamed object layout, selected by a content record's layout: <name> front matter; it does not create a route

Pages

PathPurpose
pages/index/Home-page entry point
pages/<name>/layout.aupDefault page layout source
pages/<name>/layout.<locale>.aupLocale-specific layout source when a layout genuinely differs
pages/<name>/seo/title / descriptionDefault page metadata
pages/<name>/seo/title.<locale> / description.<locale>Locale-specific page metadata
pages/<name>/sources/<source>Content source path for that page scope
`pages//sources/.sort.limit.filter`Optional source selection controls

The layout lookup order is locale AUP, default AUP, locale JSON, default JSON, then convention/default layout. New source should use the AUP form unless a verified compatibility consumer requires JSON.

Content objects

PathPurpose
content/<type>/<slug>/content.mdDefault reader-facing body and front matter
content/<type>/<slug>/content.<locale>.mdLocale-specific body
content/<type>/<slug>/layout.aupObject-specific layout when an object needs one

content.md wins over compatible index.md naming when both exist. Front matter has higher metadata precedence than sibling field files. A record can select either its own layout.aup or a named layouts/<name>.aup with layout: <name>, not both. Keep body/object identity here rather than copying it into a page layout.

Locale support files

.aup/locales/*.json can provide a compatibility locale fallback. A new multi-locale site should explicitly declare its supported locale and locales in .web/site.yaml, then use locale variants beside the thing they override instead of duplicating the whole tree.

For meaning rather than paths, read Understand a site directory. For route effects, read Routes and locales reference.