Fixed
- OpenAPI sidebar tag headings now link to the tag introduction section, so long
tags[].descriptionguidance is directly reachable from navigation.
All notable changes to Sourcey. Format based on Keep a Changelog.
tags[].description guidance is directly reachable from navigation.use items) now render with their real name and a pub use signature instead of an empty reexport. placeholder, and appear correctly in the sidebar, page outline, and search.rustdoc() source adapter for native Rust API documentation. Consumes nightly rustdoc JSON via a bundled Rust helper crate, emits a stable v1 RustdocSpec snapshot, and renders sourcey-native pages consistent with the openapi, mcp, godoc, and doxygen adapters; inbound docs.rs-style deep-link anchors still resolve. Supports auto, live, and snapshot modes; snapshot mode requires no Rust toolchain so CI can build docs on stable.ignore, no_run, should_panic, compile_fail, editionYYYY), Rust Playground deep-links, and a workspace-wide doctests index page that aggregates every runnable example.source: markdown(...), mkdocs(...), openapi(...), mcp(...), doxygen(...), and godoc(...).mkdocs() source adapter for importing existing mkdocs.yml / mkdocs.yaml sites. Sourcey reads docs_dir, nav, and legacy pages, preserves explicit page labels, flattens nested MkDocs sections into Sourcey sidebar groups, expands snippets, normalizes admonitions/tabs, and carries static assets into the build.sourcey init, first-party docs, examples, and 0state docs configs now use the adapter form. Legacy direct tab fields remain supported for existing projects.godoc). Sourcey extracts package docs directly from Go source via the toolchain (go list + go/parser + go/doc); no Doxygen pipeline. Supports live mode (runs Go at build time) and snapshot mode (reads a committed godoc.json); mode: "auto" (default) picks live when Go is available and snapshot otherwise. Renders consts, vars, functions, types (struct, interface, alias, defined), fields with tags, methods, and examples from *_test.go.sourcey godoc --module . --packages './...' --out godoc.json CLI command to snapshot a Go module's documentation into a portable JSON artifact for JS-only docs hosts.sourcey-godoc Go module and CLI at github.com/sourcey/sourcey/go/sourcey-godoc/cmd/sourcey-godoc, with generate for static Go docs sites, snapshot for portable JSON, and cross-platform GitHub release binaries on go/sourcey-godoc/v* tags.goEnv option (GOOS/GOARCH/tags) for pinning the live-mode Go build environment so docs reproduce across hosts.includeTests, includeUnexported, hideUndocumented, and exclude options on godoc tabs.llms.txt, llms-full.txt, and sitemap.xml pipelines.sourcey dev --host <address> flag (and HOST env var fallback) to control the Vite dev-server bind address. Defaults to 127.0.0.1. Use --host 0.0.0.0 (or -e HOST=0.0.0.0 in Docker) to expose the dev server outside the host so the official sourcey/sourcey image's dev command works end-to-end..html links between generated pages now resolve through the active prettyUrls mode, cleaning Doxygen body links such as icy.html#anchor when prettyUrls: "strip" is enabled..html cross-reference links from appearing in page headers and metadata when prettyUrls: "strip" is enabled.prettyUrls mode, so prettyUrls: "strip" builds do not emit stale .html or index.html navigation links.prettyUrls: "strip" now emits foo.html files and public /foo links, without generated _redirects, so extensionless hosts do not loop between slashless and trailing-slash paths..html pages are rewritten to the active pretty URL form when they resolve to a generated page.prettyUrls ("slash" / "strip"). Previously hrefs were hard-coded to slug.html / tab/index.html, which 404 on hosts that don't auto-rewrite (e.g. GitHub Pages). Production sourcey.com masked the issue with its /foo.html → /foo/ 308 redirect.QUERY operations, response summaries, deviceAuthorization OAuth flows, hierarchical tags, querystring parameters, and media-type encoding metadata$self-aware reference resolution for canonical multi-document OpenAPI descriptionsprettyUrls config option for clean URLs ("slash" emits foo/index.html and links as /foo/; "strip" links as /foo and emits a _redirects file for static hosts that support redirect rules)ogImage config option for overriding with a static image URL:::code-group)::iframe directive for embedding arbitrary https URLs in markdown{#ref ... #} placeholderssourcey init now scaffolds projects against the latest published version againmcp tab config option for rendering tools, resources, and prompts from an mcp.json snapshot::video directive for embedding YouTube, Vimeo, or raw video files in markdownfs.allow now includes the sourcey root for npm link compatibility<AccordionGroup> component syntaxslugFromPath preserves directory structuresourcey init scaffolds new projects with the latest published versionsourcey init auto-detects project type and offers directory selectionXML_OUTPUT for proper path resolutionsourcey init command for scaffolding new projects?target query parameter for deep linkingeditBasePath config option for repos with docs in a subdirectoryspectacle-docs to sourceyComplete rewrite from Handlebars/Grunt to TypeScript/Preact SSG.
sourcey.config.ts with defineConfig() and full type safety$ref support in parameters and responsesx-nullable supportFirst stable release. Requires Node.js >= 8.