5769 Commits
Author SHA1 Message Date
github-actions[bot]andGitHub e4d5c0062e Merge pull request #3414 from fuma-nama/tegami/version-packages
Version Packages
@fumadocs/[email protected] [email protected] @fumadocs/[email protected] [email protected] [email protected] [email protected] [email protected] @fumadocs/[email protected] [email protected]
2026-07-13 18:19:59 +08:00
Fuma Nama 9e10899d91 fix(api-docs): remove stale schema resolver APIs 2026-07-13 18:15:01 +08:00
Fuma Nama a5da935e8f migrate from broken takumi version 2026-07-13 17:19:27 +08:00
Fuma Nama 8a280f5d3b refactor(*): migrate to yaml 2026-07-13 17:10:02 +08:00
Fuma Nama 06dd35b3a8 feat(api-docs): use @scalar/json-magic for dereferencing 2026-07-13 16:47:23 +08:00
Fuma Nama b3c7fb3c90 docs: simplify 2026-07-13 02:32:50 +08:00
Fuma Nama 3958960afe fix types 2026-07-12 00:05:45 +08:00
github-actions[bot]andGitHub 1f9ca9a2b8 Merge pull request #3411 from fuma-nama/tegami/version-packages
Version Packages
[email protected] [email protected] @fumadocs/[email protected]
2026-07-11 23:38:52 +08:00
Fuma Nama 983d4e983a fix(satteri): workspace range 2026-07-11 23:33:54 +08:00
Fuma Nama fc69a45b48 docs: unify sponsors 2026-07-11 18:36:29 +08:00
Fuma Nama 9637b7a581 feat(ui): improve typography plugin 2026-07-11 18:36:29 +08:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
63b5fed265 Version Packages (#3408)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[email protected] @fumadocs/[email protected] [email protected] @fumadocs/[email protected]
2026-07-10 18:42:01 +08:00
Fuma Nama 549b249686 fix(base-ui): interaction problems 2026-07-10 18:33:23 +08:00
Fuma Nama 11e997399a chore: bump deps 2026-07-09 22:53:03 +08:00
Agustin GarciaandGitHub 8119e710c2 Add Astro framework support (#3407)
* feat: add Astro framework support

* fix: use official Astro favicon

* fix: address Astro template review feedback

* fix: map Astro search locales for Orama

* fix: make Astro MDX inheritance explicit

* fix: use language subtags for Astro search
2026-07-09 21:36:28 +08:00
Fuma Nama f5e6e24433 format 2026-07-08 20:19:24 +08:00
Kane WangandGitHub 8364cb7ee1 Merge pull request #3399 from kane50613/takumi-v2
enhance: upgrade to Takumi v2
2026-07-08 19:06:29 +08:00
Fuma Nama 7dba00659d fix: migrate away from deprecated APIs 2026-07-07 20:47:34 +08:00
Fuma Nama 583eb75339 fix(ui): don't override env types 2026-07-07 20:03:55 +08:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ab09f500cb Version Packages (#3405)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[email protected] @fumadocs/[email protected] [email protected] @fumadocs/[email protected] [email protected]
2026-07-07 19:54:04 +08:00
Fuma Nama 889a296d06 docs: update stale content 2026-07-07 18:31:14 +08:00
Fuma Nama a5c081d0c6 fix: UI inconsistencies 2026-07-07 18:25:54 +08:00
Fuma Nama 9a269030df Version Packages @fumadocs/[email protected] @fumadocs/[email protected] @fumadocs/[email protected] @fumadocs/[email protected] [email protected] [email protected] @fumadocs/[email protected] [email protected] @fumadocs/[email protected] @fumadocs/[email protected] [email protected] @fumadocs/[email protected] [email protected] @fumadocs/[email protected] @fumadocs/[email protected] @fumadocs/[email protected] [email protected] [email protected] [email protected] @fumadocs/[email protected] [email protected] [email protected] @fumadocs/[email protected] @fumari/[email protected] @fumadocs/[email protected] [email protected] 2026-07-07 17:53:33 +08:00
Fuma Nama 3e33f4362f perf(satteri): reduce clones 2026-07-07 17:41:17 +08:00
Fuma Nama 3597c9d1e6 perf(satteri): persist results 2026-07-07 17:37:53 +08:00
Fuma Nama 0f389cf3de feat(satteri): decouple imports/exports from compile() 2026-07-07 17:21:40 +08:00
Fuma Nama 4611f97d49 feat(satteri): full rehype-toc functionality 2026-07-07 17:17:05 +08:00
Fuma Nama d095300760 fix(satteri): workaround common issues 2026-07-07 01:09:48 +08:00
Fuma Nama 0297e25477 configure pretrust 2026-07-06 21:59:49 +08:00
Fuma Nama 02c242b0da chore(satteri): clean code 2026-07-06 21:45:30 +08:00
Fuma Nama 3d80b8b242 fix(mdx): ensure satteri integration is optional 2026-07-06 21:25:13 +08:00
Fuma Nama 0ec19af868 feat(satteri): more tests & move remark-include 2026-07-06 16:30:40 +08:00
Fuma Nama 6f703bfde7 feat(core): noCopy attribute for codeblocks 2026-07-06 02:11:15 +08:00
Fuma Nama d0221f6fbd fix types 2026-07-06 01:27:06 +08:00
Fuma Nama dd8eb99f50 fix(satteri): fix weird issues with satteri 2026-07-06 01:16:27 +08:00
Fuma Nama f1d35955b9 refactor(*): migrate all forwardRefs 2026-07-05 17:53:27 +08:00
Fuma Nama 76c8a9f6e7 refactor(*): default to Base UI 2026-07-05 17:49:46 +08:00
Fuma Nama 3b90b4f5e0 fix: dedupe type table generator 2026-07-04 01:18:40 +08:00
Fuma Nama ae33a96e64 remove duplicate export 2026-07-03 19:35:12 +08:00
aded98924a Integrate Satteri (#3402)
* feat(satteri): add @fumadocs/satteri package and compiler discriminator

Introduce @fumadocs/satteri with Sätteri-native ports of Fumadocs MDX
plugins (remark-heading, structure, image, code-tab, npm, rehype-toc,
rehype-code, and others), plus applySatteriPreset and compileMdx.

In fumadocs-mdx, add compiler: 'satteri' on doc collections with
satteriOptions typing, getSatteriOptions(), and a buildSatteriMDX path
that uses mdxToJs instead of @mdx-js/mdx.

Co-authored-by: Fuma Nama <[email protected]>

* Port native rehype-code and isolate Satteri as optional peer

- Rewrite @fumadocs/satteri rehype-code as a Satteri hast plugin using
  fumadocs-core Shiki (no unified/vfile deps in the package)
- Unwrap Shiki root fragments before ctx.replaceNode
- Move getSatteriOptions to fumadocs-mdx/config/build-satteri and expose
  fumadocs-mdx/satteri and fumadocs-mdx/config/satteri entry points
- Make @fumadocs/satteri and satteri optional peerDependencies
- Dynamic-import the satteri build path only when compiler is satteri
- Add rehype-code and fumadocs-mdx satteri pipeline tests

Co-authored-by: Fuma Nama <[email protected]>

* Port official docs app to Satteri compiler

- Switch apps/docs docs and blog collections to compiler: satteri
- Replace mdxOptions/applyMdxPreset with applySatteriPreset and Satteri plugins
- Add @fumadocs/satteri plugins: rehypeKatex, remarkElementIds, remarkLlms
- Port remarkAutoTypeTableSatteri and remarkTypeScriptToJavaScriptSatteri
- Enhance remark-structure stringify and satteri postprocess pipeline
- Drop remark-math/rehype-katex/unified from docs deps (math via features.math)

Co-authored-by: Fuma Nama <[email protected]>

* Remove custom rehypeKatex; use Satteri features.math

Satteri natively parses inline ($...$) and display ($$...$$) math via
features.math. Drop the redundant KaTeX hast plugin, katex peer dependency,
and hast-util-from-html-isomorphic from @fumadocs/satteri.

Co-authored-by: Fuma Nama <[email protected]>

* Use structuredClone for Satteri node snapshots; fix build blockers

- Replace custom materialize() with structuredClone in remark-llms and
  remark-structure (snapshot nodes during visitor, stringify after pass)
- Add GFM/math stringifiers for structured data and LLM markdown export
- Fix remark-include cwd attribute, section extraction, and node replacement
- Fix remarkAutoTypeTableSatteri cwd resolution via collection _cwd
- Restore remark deps for apps/docs markdown.tsx

Co-authored-by: Fuma Nama <[email protected]>

* docs: add AGENTS.md with Cursor Cloud setup instructions

Co-authored-by: god63820869 <[email protected]>

* Fix Satteri plugin patterns per upstream API docs

Plugins were fighting Satteri's Rust-backed AST model:

- Export once at compile end via ctx.data, not queueDataExport per visit
  (rehype-toc, remark-llms, valueExportPlugin) — avoids 1600+ duplicate exports
- Use ctx.replaceNode / insertChildAt instead of splicing parent.children
  (remark-npm, remark-code-tab, remark-auto-type-table)
- Return { raw: string } for includes instead of inserting external mdast
- Skip Shiki on math code blocks; flatten toc titles for appendExports
- Sync remark-llms _markdown writes; guard get-llm-text processed fallback

Adds satteri-toc-count test. Docs build passes.

Co-authored-by: Fuma Nama <[email protected]>

* Use Satteri exported types instead of duplicating context shapes

Centralize ctx.data keys in @fumadocs/satteri/data-map via DataMap
augmentation. Plugins use MdastVisitorContext, HastVisitorContext, and
Data from satteri rather than inline { data: Record<...> } or
Parameters<typeof queueDataExport> hacks.

Re-export visitor context types from @fumadocs/satteri. MDX loader adds
_compiler to satteri DataMap separately.

Co-authored-by: Fuma Nama <[email protected]>

* Move remarkElementIds to docs; optimize Satteri plugin hot paths

- remarkElementIds is docs-only (apps/docs/lib) for lint link validation,
  removed from @fumadocs/satteri exports
- remark-llms: stringify once after all root children collected (was O(n²))
- remark-structure: attach structuredData once instead of every visit
- rehype-toc: store textContent title strings, not hast element refs
- preset: drop valueExportPlugin; compile.ts already handles _valueToExport

Co-authored-by: Fuma Nama <[email protected]>

* reduce deps

* Further Satteri plugin perf: defer clones, use textContent

- remark-llms: collect root indices during visit, structuredClone batch at end
- remark-structure: ctx.textContent instead of flattenNode when no custom stringify;
  single shared visitor per type; attach structuredData on first visit only
- remark-heading/postprocess: ctx.textContent for slug/title (no double tree walk)
- rehype-toc: assign export object once, mutate items array in place
- rehype-code: skip elements already highlighted by shiki
- Add remark-llms tests; vitest @ path alias

Co-authored-by: Fuma Nama <[email protected]>

* Move remark-ts2js Satteri plugin to @fumadocs/satteri

- Add remarkTs2js to @fumadocs/satteri (oxc-transform dep)
- doc-gen keeps unified remarkTypeScriptToJavaScript only; drop satteri peer
- Docs source.config imports remarkTs2js from @fumadocs/satteri
- Document Satteri usage tab in remark-ts2js docs page

Co-authored-by: Fuma Nama <[email protected]>

* Move remarkAutoTypeTable Satteri plugin to @fumadocs/satteri

Extract shared generation into fumadocs-typescript/auto-type-table-generate.
fumadocs-typescript keeps unified remarkAutoTypeTable only; no satteri dep.

Satteri remarkAutoTypeTable uses createAutoTypeTableGenerator from
fumadocs-typescript. Docs imports plugin from @fumadocs/satteri.

Co-authored-by: Fuma Nama <[email protected]>

* refactor(satteri): remove barrel export, use subpath imports

Drop src/index.ts and the package root export. Each plugin, preset,
compile, utils, and data-map module is now a separate subpath export.
Consumers import from paths like @fumadocs/satteri/preset and
@fumadocs/satteri/remark-ts2js. Satteri core APIs are imported
from the satteri package directly.

Co-authored-by: Fuma Nama <[email protected]>

* fix(satteri): keep auto-type-table logic local, use markdownToHast

Revert all fumadocs-typescript changes. Move auto-type-table generation
into @fumadocs/satteri with duplicated parse-tags helper. Render JSDoc
markdown via Satteri's markdownToHast (no remark/unified deps); sanitize
raw hast nodes for hast-util-to-estree compatibility.

Co-authored-by: Fuma Nama <[email protected]>

* refactor(satteri): consolidate remark-auto-type-table into one file

Merge auto-type-table-generate, markdown-renderer, and parse-tags into
remark-auto-type-table.ts. Drop factory/helpers; inline prop parsing and
table generation in the Satteri plugin visitor.

Co-authored-by: Fuma Nama <[email protected]>

* improve performance

* Merge branch 'pr-3398' into cursor/satteri-package-b279

---------

Co-authored-by: Fuma Nama <[email protected]>
2026-07-03 19:33:29 +08:00
84e69fdc49 docs: add Sora UI to showcase (#3401)
Add Sora UI (https://ui.soralabs.io.vn) to the Fumadocs showcase with an OG preview thumbnail.

Co-authored-by: Cursor <[email protected]>
2026-07-03 16:56:07 +08:00
mttandGitHub f916655a25 feat(base-ui): updated the theme switch to use document.startViewTransition() (#3396) 2026-07-02 14:02:29 +08:00
Gioele PannettoandGitHub 40939b79e6 Add Rust codegen to OpenAPI examples (#3393) 2026-07-01 22:33:35 +08:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
084bb7b63b Version Packages (#3387)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[email protected] [email protected]
2026-06-29 23:46:11 +08:00
Fuma Nama 3922dccafd fix(ui): base path in page actions 2026-06-29 22:07:14 +08:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
47b8b635b9 Version Packages (#3384)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
[email protected] [email protected]
2026-06-27 23:05:44 +08:00
Fuma Nama baacf1a67d perf(mdx): require collection query param at regex matching 2026-06-27 23:03:58 +08:00
github-actions[bot]GitHubgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
593302d01c Version Packages (#3382)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@fumadocs/[email protected] [email protected] @fumadocs/[email protected] @fumadocs/[email protected] [email protected] [email protected] @fumadocs/[email protected] [email protected] [email protected] [email protected]
2026-06-27 22:03:41 +08:00
Fuma Nama 923e5819fb docs: add more FAQs 2026-06-27 17:01:35 +08:00
Fuma Nama 9fae790dba add missing changesets 2026-06-26 20:47:04 +08:00