How to get link to library provided form

I always have a problem that if I write a docs.scrbl have

#lang scribble/manual
@require[(for-label racket/base
                    nanopass)]

@title{test}

@racketblock[
(require nanopass)

(define-language L0
  (terminals
   (symbol [x]))
  (Expr (e)
        x
        (lambda (x ...) e ...)
        (e e* ...)))
]

and compile doc

raco scribble --htmls +m --redirect-main http://docs.racket-lang.org/ docs.scrbl

in generated htmls, I can only get link to require, but not link to define-language and terminals.

The +m flag only links to things that have main-installation documentation. Is the nanopass package installed in user scope (so +m won't find it) or installation scope (where +m should find it)?

I don't remember exactly why +m can only link to main-installation document, but it probably has to do with how that documentation is centralized, while user-scope documentation is spread across package installations.

1 Like

I'm not sure, below is result of raco pkg show nanopass

Installation-wide:
 [none]
User-specific for installation "8.3":
 Package   Checksum                Source
 nanopass  deac3a4bf937e1217ec...  catalog...ework-racket

does this belongs to which kind of installation?

Yes, it appears that nanopass is installed as a "User-specific" package.

1 Like

I try raco pkg install --auto -i nanopass and now get

$ raco pkg show nanopass
Installation-wide:
 Package   Checksum                Source
 nanopass  deac3a4bf937e1217ec...  catalog...ework-racket
User-specific for installation "8.3":
 Package   Checksum                Source
 nanopass  deac3a4bf937e1217ec...  catalog...ework-racket

but scribble still cannot generate link of form?

Or for example, it gives a weird link to local system
https://racket-taiwan.org/.local/share/racket/snapshot/pkgs/monotonic/doc/monotonic/index.html#(def._((lib._monotonic%2Fmain..rkt)._current-monotonic-nanoseconds))