Skip to content

all modules, keywords, pragmas should be indexed and searchable #17493

@timotheecour

Description

@timotheecour

bug 1: search box gives no hits

the search box in https://nim-lang.github.io/Nim/lib.html gives no hits for these:

bug 2: theindex.html gives no hits

https://nim-lang.github.io/Nim/theindex.html gives no hits for:

  • prelude

bug 3: lib.rst is incomplete and should be automatically checked for completeness

we should trigger a CI error if a stdlib module is missing from lib.rst (https://nim-lang.github.io/Nim/lib.html)
we can maintain a (small) blacklist of modules that should not be mentioned there, if needed.

for example:

bug 3: master index + per-package indexes

there should be a page where we index all modules in nim repo (or more generally in some git repository with multiple nimble packages).

each index has its own page, with a theindex.html and corresponding search box; we almost have that already:

we can have:

  • 1 master index for all modules
  • 1 index for stdlib (as we currently do except some are missed, see bug 1)
  • 1 index for compiler (we already do, nothing to do there)
  • 1 index for fusion (we already do, nothing to do there)
  • 1 index for tools (missing)
  • 1 index for nim keywwords/pragmas/etc (missing; see bug 5)

bug 4 (easy)

in https://nim-lang.github.io/Nim/lib.html#pure-libraries-automatic-imports,

  • channels is wrong, it should be channels_builtin

bug 5: nim language index

we also need a language index, where you can search for builtin pragmas (eg: inject), keywords (eg: template, proc, tokens (eg: """, ' etc)

just as all other indexes (stdlib, compiler, fusion) it'd have it's own index, and would also be searchable in the master index

the index href would point to wherever the term is defined (most likely to an entry in the manual), possibly via a :idx: link

Additional Information

1.5.1 28221e8

ideally these should be fixed with a generic approach that works with other repositories, not use hard coded lists

Metadata

Metadata

Assignees

No one assigned

    Labels

    Documentation GenerationRelated to documentation generation (but not content).

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions