* docs: note that MDX expression values are evaluated client-side and absent from static output
* docs: tighten wording of the client-side evaluation note
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Apply suggestion from @ethanpalm
---------
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Document className and Tailwind arbitrary value support
All built-in components now accept a className prop (mint#10540), and
dynamic Tailwind utilities work in className on MDX components
(mint#6737). Two pages stated the opposite.
- Correct the claims that Tailwind arbitrary values are unsupported in
customize/custom-scripts and guides/custom-layouts
- Add className and arbitrary value guidance to the Tailwind section of
custom-scripts, including the runtime-class limitation and the Tab
content-panel caveat
- Add a Style components section to the components overview
- Add className property rows to every component reference page that
supports it, and note the three components that do not
- Document inline Markdown support in component title props
- Correct the callouts page, which said typed callouts accept only
children
- Replace inline style resizing with Tailwind classes in image embeds
- Add a help center article for Tailwind classes not applying in the
editor's live preview, and note the limitation in custom-layouts
- Point skill.md at className before custom.css
- Accept className, keyframes, and unstyled in the Vale vocabulary
Resolves DOC-316, DOC-317
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Apply batched suggestions from code review
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
* Apply batched suggestions from code review
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
mintlify/mint#10203 shipped the flag as `nocopy` (single name, no aliases).
Fixes the auto-generated docs from #7017 which used `noCopy` and described
aliases that don't exist. Also repairs the malformed fences in es/fr/zh.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* docs: standardize documentation writing style
* docs: apply brand tone and style fixes
* docs: refine brand tone and writing style
* Revert changelog.mdx changes
The changelog is generated content and shouldn't be rewritten by the
brand tone and writing style pass.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
* Update ai/model-context-protocol.mdx
* Update ai/model-context-protocol.mdx
---------
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
* fix: reduce Vale false positives via vocab and config updates
- Make English-word vocab entries case-insensitive so sentence-start
capitalization and normal prose usage stop flagging (agents, rest,
cursor, setup, endpoints, etc.)
- Add vocab entries for filenames and code identifiers that appear in
frontmatter and JSX contexts (docs.json, llms.txt, CLAUDE.md, etc.)
- Ignore openapi frontmatter lines, filenames, JSX attributes, email
addresses, and internal link targets via TokenIgnores
- Skip inline code scope and indented code fences
- Add Headings exceptions for proper nouns (Claude Code, GitHub
Actions, Route 53, GA4, etc.)
- Disable linting for the all-code vercel-json-generator snippet
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: resolve all Vale warnings and errors across docs
Content fixes:
- Reword sentences using 'will', first person, spaced em dashes,
'e.g.', Latin abbreviations, and hyphenated adverbs
- Sentence-case headings that started with dotted filenames
- Backtick literal API values instead of bolding them
- Move periods inside quotation marks
- Fix Oxford comma rule misfires by restructuring sentences
False-positive suppression:
- Vale toggles around example user questions, keyboard shortcut keys
(Cmd+I), UI labels, and code samples in JSX contexts that Vale
misparses
- Exclude vale toggle comments from the brace Token/BlockIgnores so
in-document commands actually reach Vale (the greedy brace pattern
was also silently swallowing large regions; now lazy)
- Vocab entries for code identifiers (internal_id, handleSubmit, etc.)
- Per-file rule disables for component docs with dotted JSX names and
files where link-target linting ignores in-document toggles
Result: vale --minAlertLevel warning is clean repo-wide; only
suggestion-level items (Passive, Semicolons, Acronyms) remain.
mint broken-links passes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: correct WordList rule instead of degrading prose
- Restore sentence-start "Email" in advanced-support; the rule now
only flags hyphenated e-mail/E-mail forms
- Restore the idiom "above all else"; the above->preceding swap now
exempts "above all"
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: restore deliberate prose flagged by blunt rules
- Restore spatial 'above the navbar' / 'above a page title' in
custom-scripts; the above->preceding swap now exempts 'above
the/a/an'
- Restore the '= ...' in the react-components named-export example
(the ellipsis is inside inline code) with an Ellipses toggle
- Restore SLA phrasing 'will use commercially reasonable efforts'
with a Will toggle
- Restore the quoted developer question in the GEO guide intro with a
FirstPerson toggle, matching the file's other example questions
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: remove WordList swaps that flag legitimate English
- Drop tablet->device and firewalls->firewall rules; both words are
correct in ordinary prose
- Narrow touch->tap to UI-instruction phrasing (touch the/a) so
'keep in touch' and 'touch devices' stop flagging
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: reposition vale toggles to wrap whole blocks
Toggle comments placed between list items split the lists (restarting
ol numbering in deployments) and comments flush against tables risked
breaking GFM table parsing. Wrap entire lists/tables with blank-line
separation instead. Verified rendering with mint dev: single ol with
two items, tables intact, no comments in visible DOM.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* refactor: prune accept.txt to load-bearing entries
Empirically removed 166 vocab entries (575 -> 409) whose removal
causes no Vale flags across all 908 English pages: dictionary words
that never needed listing (agents, setup, endpoints, webhooks, yaml),
lowercase entries the speller already accepts, and filename entries
made redundant by inline vale toggles.
Kept every case-enforcing entry (API, JSON, GitHub, ...) so casing
policy is unchanged, plus entries that double as capitalization
exceptions for headings (mcp, md, auth, cursor, txt).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Update ai/mintlify-mcp.mdx
* Update api/agent/v2/create-agent-job.mdx
* chore: alphabetize Headings exceptions and accept.txt
Case-insensitive sort, ignoring the (?i) prefix; also drops a
duplicate Scala entry.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix: re-apply OxfordComma rewrite lost in branch merge
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs: resolve Vale suggestions batch 1 (acronyms, semicolons, passive voice)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs: resolve remaining Vale suggestions (passive voice batch 2)
Rewrite ~90 passive constructions to active voice across deploy,
guides, migration-services, and organize docs. Toggle the deliberate
passive examples in the style-and-tone guide ('by zombies' test).
Add axios/lodash vocab entries for a repositioned code example.
vale . is now fully clean: 0 errors, 0 warnings, 0 suggestions.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
The "Format text" page documented the LaTeX toggle as `styles.latex`, but the
canonical key is `styling.latex` (see organize/settings-appearance.mdx, where it
is a boolean under `styling`). Setting `styles.latex` has no effect. Fixed the
English page and the es/fr/zh copies carrying the same typo.
Closes#6107
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* docs: fix Vale warnings from PRs merged in the last week
* docs: mirror Vale style fixes into es/fr/zh translations
---------
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
* clarify MCP returns MD
* Fix doc issues surfaced by user feedback
- Fix claude mcp add --header argument order: the flag must come after
the positional <name> and <url> args because --header is variadic and
otherwise consumes everything that follows it, causing the "missing
required argument 'name'" error users reported.
- Add tip to wrap iframes in Frame component to prevent overflow (user
suggestion on image-embeds page).
- Fix broken anchor link in quickstart CLI tab: /cli/install has no
#clone-your-repository section; replaced with inline git clone
instructions and a correct link to /deploy/github.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Document wide-mode behavior for side panel
Wide mode hides the entire side panel (not just the TOC), including
Panel components and OpenAPI request/response examples. This was
undocumented and actively confused a user who couldn't understand why
their OpenAPI example panels disappeared on wide-mode pages.
- Fix the wide mode description in organize/pages.mdx (it previously
said only the TOC was hidden, but ContentSideLayout.tsx returns null
for wide/center/custom modes entirely)
- Add a Note to components/panel.mdx calling out that the side panel
is absent on wide, center, and custom pages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Resolve user feedback: clarify path formats, load timing, and analytics config
- react-components: add Constraints section (hooks pre-injected, no npm, no default exports)
- posthog: fix default host from app.posthog.com to ph.mintlify.com (confirmed via source)
- plausible: add ParamField descriptions including server field explanation
- create/text: note that internal links require root-relative paths without file extensions
- create/image-embeds: clarify image paths are root-relative, relative paths unsupported
- create/redirects: show redirects as top-level field in full docs.json example
- customize/custom-scripts: note that custom JS runs after page is interactive, applies globally
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* 💅
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: document MDX comment syntax in text formatting page
* docs: translate MDX comments section into es and fr
---------
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
* docs: boost search ranking for single-word title pages
Apply `boost: 3` to English pages whose H1 / frontmatter title is a single word (e.g. "Assistant", "Quickstart", "Cards"). Short titles tend to be canonical landing pages for a topic, so users searching the exact term should land on them first.
* docs: drop boost on websocket-playground stub to keep canonical Playground ranking
`api-playground/websocket-playground.mdx` is an auto-generated AsyncAPI stub with no body content but shares the title "Playground" with `api-playground/overview.mdx`. Boosting both equally diluted the canonical overview page in search for the query "playground". Drop the boost on the stub.
* Improve SEO metadata: fix titles, descriptions, and remove redundant OpenAPI descriptions
- Remove description frontmatter from 19 API pages where the OpenAPI spec already supplies the description
- Fix 2 titles that exceeded 60 characters (content-templates, content-types)
- Improve 15 descriptions that were too short (<130 chars) or too long (>160 chars) to target 130-155 characters
- All descriptions are unique and include relevant search terms
Generated-By: mintlify-agent
* re-add API descriptions
* Apply suggestion from @ethanpalm
* Apply suggestion from @ethanpalm
* Apply suggestion from @ethanpalm
* Apply suggestion from @ethanpalm
---------
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>