Skip to content

Layered PDF configuration, cover credits and translation-team contributor files - #54

Merged
MrHinsh merged 4 commits into
mainfrom
feature/guide-pdf-and-contributors
Sep 23, 2026
Merged

MrHinsh merged 4 commits into
mainfrom
feature/guide-pdf-and-contributors

Conversation

@MrHinsh

@MrHinsh MrHinsh commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Summary

Implements Guide PDFs and contributor records.

PDF generation

  • The recipe comes only from committed configuration, layered platform → <site>/pdf/ → <site>/pdf/<guide>/ → <site>/pdf/<guide>/<edition>/, with .<lang> variants at every level. The per-run HeaderPaths / LuaFilterPaths / FontOverrides parameters are removed.
  • Default cover, licence, back page, running header/footer and style templates. The callouts and Hugo image filters come from ScrumGuide-ExpansionPack, reviewed and fixed. The Kanban-specific cover-page.tex is removed.
  • Cover credits come from contributor data. Labels come from site i18n (pdf_* ids, English defaults).
  • CJK font keys (CJKmainfont…) enable Japanese line breaking.
  • Right-to-left PDFs:
    • babel bidi=bidi-r, because the default XeTeX mode loses colour changes.
    • An rtl-latin filter keeps Latin word and digit order.
    • Cover values are marked the same way.
  • Missing fonts are all reported at once, each with the settings file that chose it and its fontSources entry. Test-GuidePdfFonts checks a whole site.

Contributors

  • data/contributions/<guide>.<lang>.yml holds each translation team.
  • localizedNames gives a per-language spelling.
  • Get-GuideCredits resolves authors (role: creator), contributors and translators.
  • Equal weights keep the data file's order, as on the website.
  • Website translator displays read the data files, which also covers PDF-only translations.

Prepare / discovery

  • Blocks:
    • retired front matter (author, translators, font keys, dir)
    • invalid contributor records
    • invalid PDF settings
  • Warns on missing creators, translators or PDF labels.
  • Discovery reads declared PDF downloads and records each language's text direction.

Sample site

  • Migrated to the new format.

Not included

  • The generated-by-default redesign (PDFs built automatically in the build, supplied: opt-in, en/en-us variants) is agreed in principle but not implemented here.

Testing

  • ./build.ps1 -Version 0.0.0-local: 530 passed, 0 failed, 3 skipped; sample preview and production pass Prepare/Validate.
  • Real PDFs generated with Pandoc 3.10 and MiKTeX XeLaTeX for English, French, Spanish, Polish, Persian and Japanese content and inspected page by page (see the KanbanGuides adoption PR).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Guide credits now come from structured contributor records, including edition-specific authors, contributors and language-specific translators. Localized names are supported in guide pages and PDF credits.
    • PDF settings and templates can be tailored by site, guide, edition and language. Only PDFs marked for generation are generated; other declared downloads retain their specified handling.
    • PDF covers can include contributor credits, and PDF generation supports translated labels, right-to-left languages, callouts and configurable templates.
  • Documentation
    • Added guidance for contributor records, PDF configuration and declared PDF downloads.
  • Bug Fixes
    • Prepare now reports retired front-matter keys and invalid contributor or PDF settings.

MrHinsh and others added 3 commits September 23, 2026 15:25
…r files

PDFs: Get-GuidePdfPlan now builds the recipe only from committed
configuration, layered platform -> <site>/pdf -> guide -> edition with
.<lang> variants. Adds default cover, licence, back, running header/footer
and style templates, the reviewed callouts and Hugo image filters, CJK font
keys, RTL support and per-download overrides. Removes the per-run
HeaderPaths/LuaFilterPaths/FontOverrides parameters and the Kanban-specific
cover-page.tex.

Contributors: data/contributions/<guide>.<lang>.yml holds translation
teams; localizedNames per record; Get-GuideCredits resolves authors
(role creator), contributors and translators for PDFs. Website translator
displays read the data files, including PDF-only translations.

Prepare blocks retired front matter (author, translators, fonts, dir),
invalid contributor records and PDF settings, and warns on missing
creators, translators and PDF labels. Discovery reads declared downloads
and records language direction.

The sample site is migrated. Spec: docs/architecture/guide-pdf-and-contributors.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PDF covers broke weight ties alphabetically while the website keeps the
data file's order; both now list equal-weight records in file order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fonts: pdf.yaml gains fontSources (font name -> where to get it). The plan
records which settings file chose each font; New-GuidePdf checks every font
before rendering and lists all missing ones with that file and the source.
Test-GuidePdfFonts reports font status for every generated PDF of a site.

Right-to-left: use babel bidi=bidi-r (the default XeTeX mode loses colour
changes), add the rtl-latin filter that marks Latin runs and Latin-only
paragraphs as English so their order survives, and mark cover values,
including editions and dates, the same way.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 23, 2026 15:46
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Sep 23, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: dd0d42a1-1aa4-4d49-901c-c408c1da1bc6

📥 Commits

Reviewing files that changed from the base of the PR and between 43f8831 and e2df48e.

📒 Files selected for processing (61)
  • docs/architecture/current-system.md
  • docs/architecture/guide-pdf-and-contributors.md
  • examples/reference-guide-site/content/Guide1/2020.12/index.md
  • examples/reference-guide-site/content/Guide1/2020.12/index.min.md
  • examples/reference-guide-site/content/Guide1/2020.7/index.md
  • examples/reference-guide-site/content/Guide1/2020.7/index.min.md
  • examples/reference-guide-site/content/Guide1/2025.5/index.md
  • examples/reference-guide-site/content/Guide1/2025.5/index.min.md
  • examples/reference-guide-site/content/Guide2/2025.7/index.md
  • examples/reference-guide-site/content/Guide2/2025.7/index.min.md
  • examples/reference-guide-site/data/contributions/guide1.min.yml
  • examples/reference-guide-site/data/contributions/guide1.yml
  • examples/reference-guide-site/data/contributions/guide2.min.yml
  • examples/reference-guide-site/data/contributions/guide2.yml
  • examples/reference-guide-site/i18n/en.yaml
  • examples/reference-guide-site/i18n/min.yaml
  • examples/reference-guide-site/pdf/README.md
  • examples/reference-guide-site/pdf/pdf.ja.yaml
  • examples/reference-guide-site/pdf/pdf.yaml
  • system/OpenGuidePlatform.Agents.Integration/instructions/guide-site.md
  • system/OpenGuidePlatform.Agents.Integration/skills/guide.contributions/SKILL.md
  • system/OpenGuidePlatform.Agents.Integration/skills/guide.genpdfs/SKILL.md
  • system/OpenGuidePlatform.Hugo.Guides/layouts/_partials/components/guide/guide-translators.html
  • system/OpenGuidePlatform.Hugo.Guides/layouts/_partials/components/translations/community-translations2.html
  • system/OpenGuidePlatform.Hugo.Guides/layouts/_partials/functions/get-contributors.html
  • system/OpenGuidePlatform.Hugo.Guides/layouts/_partials/functions/get-participants.html
  • system/OpenGuidePlatform.Hugo.Guides/layouts/_partials/functions/get-translators.html
  • system/OpenGuidePlatform.Hugo.Guides/layouts/_partials/functions/localize-contributor.html
  • system/OpenGuidePlatform.PowerShell.Core/Assessment/Get-GuideAssessment.ps1
  • system/OpenGuidePlatform.PowerShell.Core/Contracts/site-policy.schema.json
  • system/OpenGuidePlatform.PowerShell.Core/ContributorManagement/Get-GuideCredits.ps1
  • system/OpenGuidePlatform.PowerShell.Core/ContributorManagement/New-GuideContributions.ps1
  • system/OpenGuidePlatform.PowerShell.Core/ContributorManagement/Update-GuideContributions.ps1
  • system/OpenGuidePlatform.PowerShell.Core/GuideInventory/Get-GuideInventory.ps1
  • system/OpenGuidePlatform.PowerShell.Core/OpenGuidePlatform.PowerShell.Core.psd1
  • system/OpenGuidePlatform.PowerShell.Core/OpenGuidePlatform.PowerShell.Core.psm1
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/Get-GuidePdfPlan.ps1
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/Resolve-GuidePdfRecipe.ps1
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/Test-GuidePdfCache.ps1
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/back.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/body-start.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/cover-page.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/cover.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/filters/callouts.lua
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/filters/callouts.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/filters/hugo-images.lua
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/filters/rtl-latin.lua
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/labels.yaml
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/licence.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/page-footer.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/page-header.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/pdf.yaml
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/rtl.tex
  • system/OpenGuidePlatform.PowerShell.Core/PdfPublishing/templates/style.tex
  • system/OpenGuidePlatform.PowerShell.Core/README.md
  • system/OpenGuidePlatform.PowerShell.GuideSiteBuild/Discovery/New-GuideSiteDiscovery.ps1
  • tests/Core/Assessment.Tests.ps1
  • tests/Core/Discovery.Tests.ps1
  • tests/Core/GuideCredits.Tests.ps1
  • tests/Core/GuidePdfRecipe.Tests.ps1
  • tests/Core/HugoGuideRendering.Tests.ps1
 ______________________________________________
< Looking for trouble in all the right places. >
 ----------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

The packaged contributor workflow deletes and re-creates a translation;
its team file must remain valid meanwhile. An unknown guide still blocks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Unresolved language-scoping, PDF planning, cache, discovery, and contributor issues remain.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity · 2 Medium severity · 1 Low severity

Open (4)
What changed in this PR

This PR introduces layered PDF configuration and structured contributor/translation-team records, updating PDF generation, discovery, validation, Hugo rendering, documentation, tests, and the reference site.

Changes:

  • Adds configurable PDF recipes, templates, filters, RTL/CJK support, and font diagnostics.
  • Centralizes contributor credits and localized translation-team data.
  • Updates discovery, Prepare validation, website rendering, documentation, tests, and sample content.
File Reviewed change
tests/​Core/​HugoGuideRendering.Tests.ps1 Tests contributor and translator rendering.
tests/​Core/​GuidePdfRecipe.Tests.ps1 Tests PDF recipes, metadata, templates, filters, and fonts.
tests/​Core/​GuideCredits.Tests.ps1 Tests contributor resolution and validation.
tests/​Core/​Discovery.Tests.ps1 Tests PDF declarations and language direction.
tests/​Core/​Assessment.Tests.ps1 Tests retired metadata and PDF findings.
system/​OpenGuidePlatform.PowerShell.GuideSiteBuild/​Discovery/​New-GuideSiteDiscovery.ps1 Discovers declared PDFs and language directions.
system/​OpenGuidePlatform.PowerShell.Core/​README.md Documents contributor and PDF APIs.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​Test-GuidePdfCache.ps1 Expands PDF cache evidence.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​style.tex Adds default PDF styling.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​rtl.tex Adds RTL LaTeX support.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​pdf.yaml Defines default PDF settings.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​page-header.tex Adds running headers.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​page-footer.tex Adds running footers.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​licence.tex Adds licence page rendering.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​labels.yaml Defines default PDF labels.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​filters/​rtl-latin.lua Preserves Latin ordering in RTL PDFs.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​filters/​hugo-images.lua Resolves Hugo image paths.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​filters/​callouts.tex Adds callout LaTeX support.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​filters/​callouts.lua Converts callouts to PDF boxes.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​cover.tex Adds the default cover template.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​cover-page.tex Removes the obsolete cover template.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​body-start.tex Resets body page numbering.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​templates/​back.tex Adds the default back page.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​Resolve-GuidePdfRecipe.ps1 Resolves layered settings and templates.
system/​OpenGuidePlatform.PowerShell.Core/​PdfPublishing/​Get-GuidePdfPlan.ps1 Builds PDF metadata, arguments, and evidence.
system/​OpenGuidePlatform.PowerShell.Core/​OpenGuidePlatform.PowerShell.Core.psm1 Loads new credits and recipe functions.
system/​OpenGuidePlatform.PowerShell.Core/​OpenGuidePlatform.PowerShell.Core.psd1 Exports new public commands.
system/​OpenGuidePlatform.PowerShell.Core/​GuideInventory/​Get-GuideInventory.ps1 Records retired front matter keys.
system/​OpenGuidePlatform.PowerShell.Core/​ContributorManagement/​Update-GuideContributions.ps1 Supports language-specific files.
system/​OpenGuidePlatform.PowerShell.Core/​ContributorManagement/​New-GuideContributions.ps1 Validates translation-team roles.
system/​OpenGuidePlatform.PowerShell.Core/​ContributorManagement/​Get-GuideCredits.ps1 Resolves and validates credits.
system/​OpenGuidePlatform.PowerShell.Core/​Contracts/​site-policy.schema.json Adds language direction schema support.
system/​OpenGuidePlatform.PowerShell.Core/​Assessment/​Get-GuideAssessment.ps1 Reports source-convention findings.
system/​OpenGuidePlatform.Hugo.Guides/​layouts/​_partials/​functions/​localize-contributor.html Applies localized contributor names.
system/​OpenGuidePlatform.Hugo.Guides/​layouts/​_partials/​functions/​get-translators.html Loads translation-team records.
system/​OpenGuidePlatform.Hugo.Guides/​layouts/​_partials/​functions/​get-participants.html Includes data-backed translators.
system/​OpenGuidePlatform.Hugo.Guides/​layouts/​_partials/​functions/​get-contributors.html Localizes contributor output.
system/​OpenGuidePlatform.Hugo.Guides/​layouts/​_partials/​components/​translations/​community-translations2.html Credits PDF-only translators.
system/​OpenGuidePlatform.Hugo.Guides/​layouts/​_partials/​components/​guide/​guide-translators.html Renders translation teams.
system/​OpenGuidePlatform.Agents.Integration/​skills/​guide.genpdfs/​SKILL.md Documents committed PDF generation.
system/​OpenGuidePlatform.Agents.Integration/​skills/​guide.contributions/​SKILL.md Documents contributor workflows.
system/​OpenGuidePlatform.Agents.Integration/​instructions/​guide-site.md Updates guide-site conventions.
examples/​reference-guide-site/​pdf/​README.md Documents sample PDF configuration.
examples/​reference-guide-site/​pdf/​pdf.yaml Defines sample font settings.
examples/​reference-guide-site/​pdf/​pdf.ja.yaml Defines Japanese font settings.
examples/​reference-guide-site/​i18n/​min.yaml Adds translator UI text.
examples/​reference-guide-site/​i18n/​en.yaml Adds translator UI text.
examples/​reference-guide-site/​data/​contributions/​guide2.yml Migrates Guide 2 credits.
examples/​reference-guide-site/​data/​contributions/​guide2.min.yml Adds Guide 2 translation credits.
examples/​reference-guide-site/​data/​contributions/​guide1.yml Migrates Guide 1 credits.
examples/​reference-guide-site/​data/​contributions/​guide1.min.yml Adds Guide 1 translation credits.
examples/​reference-guide-site/​content/​Guide2/​2025.7/​index.min.md Removes retired metadata.
examples/​reference-guide-site/​content/​Guide2/​2025.7/​index.md Removes retired metadata.
examples/​reference-guide-site/​content/​Guide1/​2025.5/​index.min.md Removes retired metadata.
examples/​reference-guide-site/​content/​Guide1/​2025.5/​index.md Removes retired metadata.
examples/​reference-guide-site/​content/​Guide1/​2020.7/​index.min.md Removes retired metadata.
examples/​reference-guide-site/​content/​Guide1/​2020.7/​index.md Removes retired metadata.
examples/​reference-guide-site/​content/​Guide1/​2020.12/​index.min.md Removes retired metadata.
examples/​reference-guide-site/​content/​Guide1/​2020.12/​index.md Removes retired metadata.
docs/​architecture/​guide-pdf-and-contributors.md Defines the new architecture and rollout.
docs/​architecture/​current-system.md Updates system architecture documentation.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +74 to +76
$settings=Read-GuidePdfSettingsFile $file 'edition' "pdf/$GuideId/$EditionPath/$([IO.Path]::GetFileName($file))"
foreach($download in @($settings.downloads|Where-Object {$_})){
[pscustomobject]@{Path=[string]$download.path;Handling=$(if($download.Contains('handling')){[string]$download.handling}else{'supplied'})}
$base="$($sourceGuide[0].contentRoot)/$($sourceEdition[0].path)"
foreach($name in @("index.$resolvedLanguage.md",'index.md')){
$candidate=Resolve-GuideWorkspacePath $WorkspaceRoot "$base/$name"
if([IO.File]::Exists($candidate)){ $metadata.based_on=[string](Read-GuideDocument $candidate).Metadata['title'];$resources+="$base/$name";break }
$editionLanguages=@(@(Get-ChildItem $editionDirectory.FullName -Filter 'index*.md' -File|ForEach-Object {Language $_.Name})+@($pdfs|ForEach-Object {if($_.Name -match '\.([A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*)\.pdf$'){$Matches[1]}})|Sort-Object -Unique)
# Existing PDFs are supplied unless <site>/pdf/<guide>/<edition>/pdf.yaml declares
# otherwise; a declared generated PDF may not exist yet.
$declared=@(Get-GuidePdfDeclaredDownloads -SourceDirectory $source -GuideId $guideId -EditionPath $editionDirectory.Name)
- Contributors: other records in `g.yml` for `e`, filtered by the roles selected.
- Translators: records in `g.l.yml` for `e`. Absent for the source language.
- Names: `localizedNames[l]` when present, otherwise `name`.
- Order: `weight`, then `name`.
@github-actions

Copy link
Copy Markdown

Prepare completed. Workflow evidence. This is the candidate assessment, not independent policy or deployment approval.

Prepare: pass

Commit: 1ef1a46 · Platform: 1.1.1-PullRequest54.4 · Target: canary

Selection: v1.1.1-PullRequest54.4; resolved: v1.1.1-PullRequest54.4; OGP ring: preview.

Severity Scope Subject Finding What to fix
warning platform github.com/nkdAgility/OpenGuidePlatform/system/OpenGuidePlatform.Hugo.Guides MODULE_FRESHNESS_UNAVAILABLE: Could not establish module freshness: Go module query failed (1): go: module github.com/nkdAgility/OpenGuidePlatform/system/OpenGuidePlatform.Hugo.Guides: not a known dependency Review the module version through the coordinated platform update process; never change the pin during Prepare.

Guide status

No guide fixes identified by these checks.

Artifact and live-site checks run in later stages.

@github-actions

Copy link
Copy Markdown

Preview deployed for commit 1ef1a46: https://blue-field-06cea8c03-54.westeurope.6.azurestaticapps.net/. Live verification follows in Actions.

@MrHinsh
MrHinsh merged commit cfe9bd3 into main Sep 23, 2026
10 checks passed
@MrHinsh
MrHinsh deleted the feature/guide-pdf-and-contributors branch September 23, 2026 15:59
MrHinsh added a commit to KanbanGuides/KanbanGuides that referenced this pull request Sep 23, 2026
Coordinated update via ./build.ps1 Update -ring preview: installs the
release containing nkdAgility/OpenGuidePlatform#54 (layered PDF recipe,
contributor data, font reporting, right-to-left fixes), moves the site to
the preview ring and @v1-preview workflow callers, refreshes managed skills
and instructions, the Hugo module pin and the Actions lockfile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MrHinsh added a commit to KanbanGuides/KanbanGuides that referenced this pull request Sep 23, 2026
#116)

## Summary

Adopts the OGP contributor and PDF format from
nkdAgility/OpenGuidePlatform#54.

**Contributors**
- Translators move from front matter to
`site/data/contributions/<guide>.<lang>.yml`:
  - fa, ja and min are moved as they were.
- es-ES, pl and fr are copied from the translator notes in the guide
text, which stay in place.
- Authors come from `role: creator` records. The Persian and Minionese
spellings are in `localizedNames`, and the home page reads the creators.
- Removes a misplaced 2020.x Emily Coleman record from the Open Guide to
Kanban data. She's credited in `the-kanban-guide.yml`.

**Front matter**
- Removes `author`, `translators`, font keys, `dir` and `pdf-engine`
from every guide edition file.
- Adds `short_title` to The Kanban Guide translations.

**PDFs**
- `site/pdf/` holds fonts per language with `fontSources`, plus the
Kanban cover and heading styling for each guide: uppercase title, blue
or red accent bar, coloured section headings.
- Translated `pdf_*` labels are in every catalogue.
- Regenerated (15): Open Guide to Kanban 2025.7 en, en-us (Letter),
es-ES, fr, pl, fa, ja, min · The Kanban Guide 2025.5 en, es-ES, fr, pl,
fa, ja, min.
- Persian now uses Vazirmatn (SIL OFL). HMXRoya has no known public
source.
- Not regenerated:
- The 2020.7 and 2020.12 editions: their web text is an abridged
version, so the published PDFs stay authoritative.
  - Translations that exist only as PDFs.

## Before merging

- **Platform release:** needs an OGP release containing #54, then
`./build.ps1 Update -ring preview` on this branch to move the platform
lock. Until then it builds only with `-PlatformSource Path` against that
OGP branch.
- **Native-speaker review:** needed for the new label translations.
- **Remaining warning:** The Kanban Guide 2025.5 French has no
translator names recorded anywhere (Prepare reports
`TRANSLATORS_MISSING`).

## Testing

- `./build.ps1 -Target local -PlatformSource Path` against the OGP
branch: Prepare pass (warning above), Validate pass.
- Covers and representative pages were checked visually for en, en-us,
fr, pl, fa (right-to-left) and ja (CJK).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* PDF editions feature redesigned title pages with edition details,
optional descriptions, and available author, translator, and contributor
credits.
* PDF cover labels and callouts are localized across supported
languages, with dedicated font support for Persian and Japanese.
* Guide listings display localized creator credits, and Kanban Guide
editions use short titles where available.
* Translation-team credits are available for additional language
editions.
* **Updates**
* Reviewed PDFs for the latest editions of both Kanban guides have been
refreshed.
  * Platform builds now use a preview release.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants