17 Commits

Author SHA1 Message Date
Craig Osterhout 5862e80e5b guides: update python & add files component (#25206)
<!--Delete sections as needed -->

## Description

Updated Python guide

- Removed DOI in favor of DHI only. DHI Community is now free, so
there's no reason to keep the DOI fallback path.
- Removed the git clone sample-app pattern. Maintaining external sample
repos is a burden, and split source of truth between the docs and the
sample.
- New file browser / scaffolding component. Lets users copy individual
files or scaffold the whole project with one command. Replaces the role
the cloned sample repo used to play.
- New "Secure your supply chain" topic highlighting what DHI gives you
and how to attach matching attestations to your own image in CI.
- A bunch of smaller improvements: clearer intros for each topic,
progressively updating the same app in all topics, ran and fixed issues,
etc.

https://deploy-preview-25206--docsdocker.netlify.app/guides/python/

## Related issues or tickets

ENGDOCS-3308

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Technical review
- [ ] Editorial review

---------

Signed-off-by: Craig Osterhout <craig.osterhout@docker.com>
2026-06-08 12:07:31 -07:00
David Karlsson 93b011aeee sandboxes: add release notes page sourced from GitHub releases
Add content/manuals/ai/sandboxes/release-notes.md as a single page listing
the latest stable releases of Docker Sandboxes, with a link to the GitHub
release history for older versions.

The block between BEGIN/END GENERATED RELEASES markers is populated by
hack/sbx-release-notes.py — a single-file uv-run script (PEP 723 inline
deps, Jinja2 only) that hits the GitHub Releases API for
docker/sbx-releases, filters to strict-semver stable tags with non-empty
bodies, and emits H2-per-release sections for the latest N minor releases
(default 3) and their patches.

Re-runs are idempotent and only touch content between the markers. The
script also invokes `prettier --write` so the output stays lint-clean.

Extend the existing release-notes Vale skip rule with
content/manuals/**/release-notes.md so the new file under ai/sandboxes/
picks up the same lint exclusions as engine/desktop/build release notes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2026-05-21 11:45:16 +02:00
David Karlsson 6419162c4e vale: ignore shortcodes inside markdown links via BlockIgnores
The previous TokenIgnores pattern only caught isolated shortcodes
and couldn't handle markdown links whose text or URL contained a
shortcode, because TokenIgnores can't span multiple tokens. Moving
that pattern into BlockIgnores lets it match across whitespace.

Also widen the inner pattern from `{{[%<]…[%>]}}` to `{{[^}]+}}` so
Go template actions (`{{- $url := … }}`, `{{ .Content }}`) inside
.inline shortcode blocks are ignored too. Fixes spurious URL/term
hits in the engine/install pages and the docker-agent examples.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:11:13 +02:00
David Karlsson 44e75340dc vale: drop above/below swaps, ignore shortcodes in links, fill vocab gaps
The above/below substitutions fired on idioms ("above and beyond"),
numeric comparisons ("above the 90th percentile"), and version
references ("macOS Ventura and above"), where "previous"/"following"
makes no sense. Drop them — the canonical "see the example above"
case is mild enough that human review can catch it.

Extend TokenIgnores so shortcodes followed by path segments
(``{{% param "x" %}}/dists/``) and shortcodes nested inside markdown
link text are both treated as opaque. Fixes spurious URL/term hits
across the engine/install pages.

Add vocab entries for legitimate technical terms previously flagged by
Vale.Spelling (bootloader, crypto, Kubuntu/Lubuntu/Xubuntu, lockfile,
multimodal, multithreading, NLP, oldoldstable, parallelizable, pnpm,
superset, tokenization, WebGL). Also wrap the `println` heading in
formatting.md in backticks — it's a Go template function, not prose.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 15:03:04 +02:00
David Karlsson f6f287b6d4 vale: overhaul ruleset and clean up vocab
The vale ruleset was producing ~1,600 violations, a meaningful fraction
of which were noise from a hard-to-maintain vocabulary file, sprawling
shortcode-ignore regex, and rule patterns with known false positive
modes. This commit cleans up all three.

Vocabulary fixes (accept.txt):
- Fix the case-insensitive catch-all `(?i)[A-Z]{2,}'?s` which was
  matching every plural word and suppressing other rule checks on them
- Fix wrong-cased canonical entries that caused cascading Vale.Terms
  false positives: Duckduckgo→DuckDuckGo, fluentd→Fluentd, [Rr]eadme
  removed (README is correct), VPNKit, AppArmor, OpenSSL, etc.
- Remove `Mac` (Apple brand) — conflicted with `MAC` (address) under
  Vale's case-insensitive vocab matching; both are in the base dictionary
- Resolve duplicate case entries (uncaptured/Uncaptured, etc.) by using
  narrow character-class regex like `[Uu]ncaptured` to opt out of Terms
  enforcement
- Add common tech terms missing from the vocab (Vitest, Deno, Pinecone,
  Wolfi, Streamlit, ESLint, Kustomize, HAProxy, Qdrant, etc.)
- Add common acronyms and abbreviations as canonical uppercase (URL,
  JSON, TCP, UID, SHA, CMD, VM, GPG, KVM)

Rule fixes:
- TokenIgnores/BlockIgnores collapsed from 7 patterns to 2 (one for
  inline shortcodes, one for multi-line block shortcodes)
- Docker.Capitalization regex tightened to skip `docker` preceded or
  followed by `-`/`.` (image names, URLs) and word chars after
  (`dockerd`, `Dockerfile`)
- Docker.RecommendedWords `vs: versus` now excludes "VS Code" and "vs."
  (heading abbreviation)
- Docker.We becomes case-sensitive so `US` (country) isn't flagged as
  the pronoun `us`
- Docker.VersionText requires X.Y minimum to avoid matching port numbers
  like "1025 or higher"
- Docker.Units drops KB→kB swap (KB is conventional in user-facing docs)

Section overrides:
- Brace-expansion glob `[{a,b,c}]` consolidates repeated path lists
- Release notes and previous-versions content fully disabled (each rule
  listed explicitly because Vale's BasedOnStyles= empty in a section
  doesn't actually disable rules, despite the docs)
- Reference content disables Vale.Spelling/Vale.Terms/Docker.Capitalization

Net result: 1,429 → ~1,070 violations, with spot-checks confirming the
remaining violations are real (CLI commands without backticks, first-
person plurals, `allows`→`lets`, etc.) and not artifacts of the rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12 12:40:03 +02:00
Allie Sadler af0ff2b9d9 ENGDOCS-3118 (#23940)
<!--Delete sections as needed -->

## Description

Changes release notes for Build to point to the GitHub release pages
instead

## Related issues or tickets

<!-- Related issues, pull requests, or Jira tickets -->

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Technical review
- [ ] Editorial review
- [ ] Product review
2026-01-08 09:38:05 +00:00
Arthur 26d2041243 chore(vale): build fixes (#23277) 2025-08-20 11:23:38 +02:00
Arthur 7193d2a882 chore: reduce noice in Vale error reporting (#23146)
Exclude extra release notes from Spelling/Term checks.
Exclude `<a>` from checks.
Add new terms and fix some double space errors.

- Before: 2691
- After: 967
2025-07-24 11:04:55 +02:00
Arthur 4e1d7e3c8d chore: reduce Vale reporting noise (#23142)
Edit Vale config to be more lenient with generated content. 

Number of errors:
- Before: 5473
- After: 2690
2025-07-23 11:10:56 +02:00
CrazyMax 5516d06d3c model-cli reference docs (#22681)
## Description

Adds model-cli reference docs.

## Related issues or tickets

* https://github.com/docker/model-cli/pull/62
* https://github.com/docker/model-cli/pull/69

## Reviews

<!-- Notes for reviewers here -->
<!-- List applicable reviews (optionally @tag reviewers) -->

- [ ] Technical review
- [ ] Editorial review
- [ ] Product review

---------

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
Co-authored-by: ArthurFlag <arthur.flageul@docker.com>
2025-06-02 10:11:37 +02:00
David Karlsson 183b0dcdd0 vale: improve ignores for hugo markup
Shortcode tags spanning over multiple lines were not being ignored

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-09-27 14:28:32 +02:00
David Karlsson 51853b6ca9 chore: move vale out from .github directory
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-08-28 15:35:47 +02:00
David Karlsson 1ebdffea52 chore: vale styles cleanup
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-02-15 18:25:53 +01:00
David Karlsson a910fdb6dc chore: fix/remove broken vale rules
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2023-09-14 11:39:07 +02:00
David Karlsson 4b5671431f Add information about new Domain data point (#15798)
Co-authored-by: Diogo Ferreira <diogoff94@gmail.com>
Co-authored-by: jerae-duffin <83294991+jerae-duffin@users.noreply.github.com>
2022-10-17 15:08:13 +00:00
David Karlsson a6127cb34b add tokenignore for {:} liquid tag 2022-09-21 20:26:29 +02:00
David Karlsson 51d15e721b vale poc (#15371)
* added vale config embryo

* added some more example rules

* update rules

* add more formatting rules

* expanded vocab

* added more rules

* added dvp vocabulary terms

* rm link text from sentence case rule
2022-09-14 05:31:36 +02:00