From 12e3a5010161178c9ec9ac2b888ec07b6e3fcd0b Mon Sep 17 00:00:00 2001 From: Casey Rodarmor Date: Mon, 26 Oct 2026 19:54:14 -0700 Subject: [PATCH 1/2] Move metadata chapter to reference section --- .gitignore | 2 +- README.md | 3 +-- book/src/SUMMARY.md | 2 +- book/src/packages.md | 6 +++--- book/src/quickstart.md | 2 +- crates/generate/src/main.rs | 16 ++++++++-------- crates/generate/src/templates.rs | 10 +++++----- .../{authoring-metadata.md => metadata.md} | 4 ++-- crates/generate/templates/summary.md | 2 +- crates/generate/templates/yaml.md | 2 +- 10 files changed, 24 insertions(+), 25 deletions(-) rename crates/generate/templates/{authoring-metadata.md => metadata.md} (97%) diff --git a/.gitignore b/.gitignore index 241e3011..c3bec8b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ /book/build /book/src/api /book/src/api.md -/book/src/authoring-metadata.md /book/src/commands /book/src/commands.md /book/src/content-types.md @@ -14,6 +13,7 @@ /book/src/languages.md /book/src/lints.md /book/src/media-formats.md +/book/src/metadata.md /book/src/unstable-features.md /book/src/web /book/src/web.md diff --git a/README.md b/README.md index 2ee8bf44..c63e642b 100644 --- a/README.md +++ b/README.md @@ -177,8 +177,7 @@ filepack create [DIRECTORY] Which will validate metadata if present and write it to `metadata.filemeta`, as well as include it in `manifest.filepack`. -See [the book](https://filepack.com/book/authoring-metadata.html) for more -information. +See [the book](https://filepack.com/book/metadata.html) for more information. ### Signing a Package diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index a88ee960..c051a507 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -11,7 +11,6 @@ Summary # Guide - [Packages](packages.md) - [Configuration](configuration.md) -- [Authoring Metadata](authoring-metadata.md) - [Server](server.md) # Background @@ -160,6 +159,7 @@ Summary - [Languages](languages.md) - [Lints](lints.md) - [Media Formats](media-formats.md) +- [Metadata](metadata.md) - [Tagged Hex](hex.md) - [hash](hex/hash.md) - [package](hex/package.md) diff --git a/book/src/packages.md b/book/src/packages.md index da637e0b..6ab12330 100644 --- a/book/src/packages.md +++ b/book/src/packages.md @@ -197,9 +197,9 @@ covering a variety of media types. All metadata served by the demo server, including package artwork, video placeholders, thumbnail images, and media information, is sourced from package metadata. -See [Metadata](deco/metadata.md) for the deco schema and [Authoring -Metadata](authoring-metadata.md) for a description of `metadata.yaml`, the -template file used to generate package metadata. +See [Metadata](metadata.md) for a description of `metadata.yaml`, the template +file used to generate package metadata, as well as links to the deco and YAML +metadata schemas. Please feel free to [open an issue](https://github.com/casey/filepack/issues) with ideas for new metadata fields. diff --git a/book/src/quickstart.md b/book/src/quickstart.md index 47a28d32..e12eed59 100644 --- a/book/src/quickstart.md +++ b/book/src/quickstart.md @@ -53,7 +53,7 @@ filepack metadata ``` The metadata schema is extensive, with many fields and media types. See -[Authoring Metadata](authoring-metadata.md) for more information. +[Metadata](metadata.md) for more information. Linting Packages ---------------- diff --git a/crates/generate/src/main.rs b/crates/generate/src/main.rs index c319dadd..b37d7bfb 100644 --- a/crates/generate/src/main.rs +++ b/crates/generate/src/main.rs @@ -5,8 +5,8 @@ use { functions::{escape, list, path_parameter_type, route_link, route_path, write}, row::Row, templates::{ - ApiMd, AuthoringMetadataMd, CommandMd, CommandsMd, ContentTypesMd, DecoMd, DecoSchemaMd, - HexMd, JsonMd, JsonSchemaMd, LanguagesMd, LintsMd, MediaFormatsMd, RouteMd, SummaryMd, TagMd, + ApiMd, CommandMd, CommandsMd, ContentTypesMd, DecoMd, DecoSchemaMd, HexMd, JsonMd, + JsonSchemaMd, LanguagesMd, LintsMd, MediaFormatsMd, MetadataMd, RouteMd, SummaryMd, TagMd, UnstableFeaturesMd, WebMd, YamlMd, }, }, @@ -263,16 +263,16 @@ fn main() { ); write( - "authoring-metadata.md", - AuthoringMetadataMd { - example: &reference.metadata, + "media-formats.md", + MediaFormatsMd { + media_formats: &reference.media_formats, }, ); write( - "media-formats.md", - MediaFormatsMd { - media_formats: &reference.media_formats, + "metadata.md", + MetadataMd { + example: &reference.metadata, }, ); diff --git a/crates/generate/src/templates.rs b/crates/generate/src/templates.rs index dc1ef6d5..e8567656 100644 --- a/crates/generate/src/templates.rs +++ b/crates/generate/src/templates.rs @@ -6,11 +6,6 @@ pub(crate) struct ApiMd<'a> { pub(crate) routes: &'a BTreeMap, } -#[derive(Boilerplate)] -pub(crate) struct AuthoringMetadataMd<'a> { - pub(crate) example: &'a yaml::Example, -} - #[derive(Boilerplate)] pub(crate) struct CommandMd<'a> { pub(crate) help: &'a str, @@ -98,6 +93,11 @@ pub(crate) struct MediaFormatsMd<'a> { pub(crate) media_formats: &'a BTreeMap>, } +#[derive(Boilerplate)] +pub(crate) struct MetadataMd<'a> { + pub(crate) example: &'a yaml::Example, +} + #[derive(Boilerplate)] pub(crate) struct RouteMd<'a> { pub(crate) path: &'a str, diff --git a/crates/generate/templates/authoring-metadata.md b/crates/generate/templates/metadata.md similarity index 97% rename from crates/generate/templates/authoring-metadata.md rename to crates/generate/templates/metadata.md index 2ddfe562..aded53e1 100644 --- a/crates/generate/templates/authoring-metadata.md +++ b/crates/generate/templates/metadata.md @@ -1,5 +1,5 @@ -Authoring Metadata -================== +Metadata +======== Filepack packages may contain metadata describing the package in `metadata.filemeta`. This metadata is stored as [deco](deco.md), which is not diff --git a/crates/generate/templates/summary.md b/crates/generate/templates/summary.md index 297c6cdc..2ca5a827 100644 --- a/crates/generate/templates/summary.md +++ b/crates/generate/templates/summary.md @@ -11,7 +11,6 @@ Summary # Guide - [Packages](packages.md) - [Configuration](configuration.md) -- [Authoring Metadata](authoring-metadata.md) - [Server](server.md) # Background @@ -39,6 +38,7 @@ Summary - [Languages](languages.md) - [Lints](lints.md) - [Media Formats](media-formats.md) +- [Metadata](metadata.md) - [Tagged Hex](hex.md) %% for (tag, path) in &self.hex { - [{{ tag }}]({{ path }}) diff --git a/crates/generate/templates/yaml.md b/crates/generate/templates/yaml.md index 4cfb58d6..e3e8b09d 100644 --- a/crates/generate/templates/yaml.md +++ b/crates/generate/templates/yaml.md @@ -2,7 +2,7 @@ YAML ==== Filepack uses YAML for hand-authored files, namely -[metadata](authoring-metadata.md). +[`metadata.yaml`](metadata.md). This chapter includes the schemas of all types with YAML representations. From 97885e484d945a0059e88c1aec2bd6b26a1b7d35 Mon Sep 17 00:00:00 2001 From: Casey Rodarmor Date: Mon, 26 Oct 2026 19:55:12 -0700 Subject: [PATCH 2/2] Amend --- book/src/packages.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/src/packages.md b/book/src/packages.md index 6ab12330..167fb0a1 100644 --- a/book/src/packages.md +++ b/book/src/packages.md @@ -197,8 +197,8 @@ covering a variety of media types. All metadata served by the demo server, including package artwork, video placeholders, thumbnail images, and media information, is sourced from package metadata. -See [Metadata](metadata.md) for a description of `metadata.yaml`, the template -file used to generate package metadata, as well as links to the deco and YAML +See [Metadata](metadata.md) for an example `metadata.yaml` file, the template +used to generate package metadata, as well as links to the deco and YAML metadata schemas. Please feel free to [open an issue](https://github.com/casey/filepack/issues)