Release notes for 0.1
The first release of OpenD: the build and filter core, the hosted path, embedded help and PDF publications.
Build, filter and preview
- A DITA 1.3 subset parsed in TypeScript, with line and column for every problem: topics, maps,
bookmaps, keys,
conrefandconkeyref. - One applicability rule:
productandfeatureagainst entitlements,releaseranges against the reader's version, other attributes through a build-time DITAVAL. Fail-closed, with conditional keys resolved per reader. opend validatewith text, JSON and GitHub annotation output;opend build; andopend previewwith "Preview as", a staff view that marks conditions, live reload and git refs.- A starter template with sample content, a bookmap, reusable chunks, a theme and a validation workflow.
Hosted path
- Push to publish: a GitHub webhook queues a build, the worker builds and validates the exact commit, and a failing push never goes live.
- Release lines: 1.x and 2.x docs live side by side, each reader served their own line.
- OIDC reader sign-in, matched by verified email; filtered pages, navigation and images, cached per entitlement set.
- Site-wide search: a search box in the header of every page and a results page that finds only what the reader can see in their release, with stemming, phrases and prefix matching. See Search the docs.
- An admin API with an audit log, a seed command, one Docker image for every role, a Compose file, S3-compatible blob storage, published images, and a Railway runbook.
- An admin console for staff readers at
/admin: site access, the docs repository and builds, people, sign-in, the GitHub connection and the editor, from the browser. See Run your site from the admin console. - Connect GitHub: the console creates and installs a GitHub App for the site, its credentials stored encrypted. See Connect GitHub from the admin console.
Web editor
- A browser editor on its own host, for authors who do not use Git. Developers sign in with
GitHub; other authors with company OIDC, once an administrator adds them with
opend-server editor add-user. - DITA source editing with a live preview of unsaved text, validation problems listed next to the source, new topics from templates, and preview as an org.
- Saves are commits to the author's own branch, crediting them. Publishing opens one pull request, shows what the branch rules still require, and merges when nothing blocks it.
- The main branch is merged in on every page open and save. Authors resolve conflicts by keeping their version, the current one, or editing by hand; structural conflicts go to a developer.
Context-sensitive help
resourceidcontext keys with parent fallback, and route patterns inhelp-contexts.yaml.- An embeddable help panel with per-reader search, the
OpenDHelpwidget and<opend-help-button>, host-signed tokens and partitioned sessions. - A JSON API for apps that render help themselves, and the previewer's help lab.
PDF publications
- Bookmaps printed per reader through the same filter, with a cover, linked contents, an outline and the project theme.
- Print HTML and PDFs in the previewer; cached per release and entitlement set on the server.
Known limitations
- Not supported yet: DTD specialisation,
conrefend, relationship tables, key scopes and branch filtering. See Supported DITA subset. - The contents list in PDFs has no page numbers.
- One docs site and one embed secret per deployment.
- The web editor edits DITA source; there is no visual editor yet. It edits one repository per deployment.
- No operator console yet.