Skip to content

Search omits generated API and changelog collections #22

Description

@TitusKirch

Before you start

  • I searched existing issues and didn't find a duplicate
  • This is not a security vulnerability (those follow SECURITY.md)

What happened?

From the ordinary documentation area, the current www search selects only docs and docs_demo. Generated API and changelog collections are omitted because selection keeps one collection per repository.

Expected behavior

Site-wide search includes documentation and generated sections, while respecting the intended version and language selection.

Steps to reproduce

Use www's current manifest with the ordinary docs source selected. Inspect the collections queried by useDuxtSearch: docs_releases, docs_changelog and every docs_demo_api_* collection are omitted. Search for content unique to those sections.

Affected area / component

app/composables/useDuxtSearch.ts:83–100

Version & environment

Commit: 7434ce0; @kirchdev/duxt 0.0.0; Node 24.12.0; Nuxt 4.5.2; Linux.

Decided (repository review and delegated refinement, 2026-09-10)

  • Search scope is one selected version of every logical artefact. Documentation and each generated declaration are separate searchable artefacts, even when they share a repository. Version-neutral changelogs participate once. This restores site-wide search without returning every historical edition.
  • Version policy: retain the version of the artefact currently being read; other artefacts use their own default edition. Do not infer that an independently versioned API and its prose share a version merely because they share a repository. Keep the current artefact first in the existing result ordering.
  • Language policy: follow the page resolver's best-available language and fallback chain. A missing translated page remains discoverable through its fallback. Avoid duplicate hits caused solely by querying the same page/anchor through several language variants. Full-text and approximate search must cover the same selected artefacts.
  • Acceptance on www: from /getting-started, a term unique to the API and a term unique to releases return those pages; from an API page, ordinary documentation remains discoverable. On an older API edition, that edition is searched while other artefacts use their defaults. A global changelog appears once.
  • Acceptance with fixtures: two repositories, two independent generated declarations, two versions and an incomplete translation preserve all artefacts, select the intended versions, and retain fallback-only pages. Initialization stays lazy; correcting coverage does not require downloading every historical index.
  • Dependencies: no prerequisite issue. Translated Markdown URLs return the original language #23 and LLM indexes link translations to the original URL #24 use the same language semantics on server endpoints but do not block this browser-search fix. Existing First-class OpenAPI sources and generated API reference pages #3, Support changelog and release-notes pages in the layer #6 and Generated sections: a shared scaffold for non-Markdown sources #9 introduce generated sections; this report is specifically about search integration for sections already implemented.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions