Updated Planet documentation to include the new modules and their exports.
Modified the "Developing Packages for PLaneT" section to point users to planet/scribble to make sure all their links work. End of move from unstable/ to planet/.
This commit is contained in:
parent
803ac4a412
commit
84396869f1
|
@ -1,11 +1,14 @@
|
||||||
#lang scribble/doc
|
#lang scribble/manual
|
||||||
|
|
||||||
@(require scribble/manual
|
@(require
|
||||||
scribble/bnf
|
(for-label
|
||||||
scribble/eval
|
racket/base
|
||||||
(for-label racket)
|
scribble/manual
|
||||||
(for-label planet/config)
|
planet/config
|
||||||
(for-label planet/util))
|
planet/util
|
||||||
|
planet/version
|
||||||
|
planet/syntax
|
||||||
|
planet/scribble))
|
||||||
|
|
||||||
@(define-syntax-rule (eg (code resl) ...)
|
@(define-syntax-rule (eg (code resl) ...)
|
||||||
(interaction
|
(interaction
|
||||||
|
@ -556,7 +559,7 @@ The port on the server the client should connect to if
|
||||||
@racket[USE-HTTP-DOWNLOADS?] is @racket[#f]. The default value for this parameter is
|
@racket[USE-HTTP-DOWNLOADS?] is @racket[#f]. The default value for this parameter is
|
||||||
@racket[270].}
|
@racket[270].}
|
||||||
|
|
||||||
@subsection[#:tag "util.rkt"]{Utilities}
|
@subsection[#:tag "util.rkt"]{Package Archive}
|
||||||
|
|
||||||
@defmodule[planet/util]
|
@defmodule[planet/util]
|
||||||
|
|
||||||
|
@ -714,15 +717,9 @@ file within it actually exists.}
|
||||||
@defform[(this-package-version-maj)]
|
@defform[(this-package-version-maj)]
|
||||||
@defform[(this-package-version-min)]
|
@defform[(this-package-version-min)]
|
||||||
)]{
|
)]{
|
||||||
Macros that expand into expressions that evaluate to information about
|
Aliases of the same bindings from @racketmodname[planet/version] for backward
|
||||||
the name, owner, and version number of the package in which they
|
compatibility.
|
||||||
appear. @racket[this-package-version] returns a list consisting of a string
|
}
|
||||||
naming the package's owner, a string naming the package, a number
|
|
||||||
indicating the package major version and a number indicating the
|
|
||||||
package minor version, or @racket[#f] if the expression appears outside the
|
|
||||||
context of a package. The others are convenience macros that
|
|
||||||
select out the relevant field, or return @racket[#f] if the expression
|
|
||||||
appears outside the context of a PLaneT package.}
|
|
||||||
|
|
||||||
@defproc[(path->package-version [p path?])
|
@defproc[(path->package-version [p path?])
|
||||||
(or/c (list/c string? string? natural-number/c natural-number/c) #f)]{
|
(or/c (list/c string? string? natural-number/c natural-number/c) #f)]{
|
||||||
|
@ -737,6 +734,136 @@ produces a list corresponding to its name and version, exactly like
|
||||||
Returns @racket[#t] if @racket[val] is an exception indicating a planet-specific failure.
|
Returns @racket[#t] if @racket[val] is an exception indicating a planet-specific failure.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@subsection[#:tag "version.rkt"]{Package Version}
|
||||||
|
|
||||||
|
Provides bindings for @|PLaneT| developers that automatically
|
||||||
|
produce references to the name and version of the containing @|PLaneT| package
|
||||||
|
so the same code may be reused across releases without accidentally referring to
|
||||||
|
a different version of the same package.
|
||||||
|
|
||||||
|
@defmodule[planet/version]
|
||||||
|
|
||||||
|
@deftogether[(
|
||||||
|
@defform[(this-package-version)]
|
||||||
|
@defform*[[(this-package-version-symbol)
|
||||||
|
(this-package-version-symbol suffix-id)]]
|
||||||
|
@defform[(this-package-version-name)]
|
||||||
|
@defform[(this-package-version-owner)]
|
||||||
|
@defform[(this-package-version-maj)]
|
||||||
|
@defform[(this-package-version-min)]
|
||||||
|
)]{
|
||||||
|
|
||||||
|
Macros that expand into expressions that evaluate to information about the name,
|
||||||
|
owner, and version number of the package in which they
|
||||||
|
appear. @racket[this-package-version] returns a list consisting of a string
|
||||||
|
naming the package's owner, a string naming the package, a number indicating the
|
||||||
|
package major version and a number indicating the package minor version, or
|
||||||
|
@racket[#f] if the expression appears outside the context of a package.
|
||||||
|
The macros @racket[this-package-version-name],
|
||||||
|
@racket[this-package-version-owner], @racket[this-package-version-maj], and
|
||||||
|
@racket[this-package-version-min] produce the relevant fields of the package
|
||||||
|
version list.
|
||||||
|
|
||||||
|
@racket[this-package-version-symbol] produces a symbol
|
||||||
|
suitable for use in @racket[planet] module paths. For instance, in version
|
||||||
|
@racketmodfont{1:0} of the package @racketmodfont{package.plt} owned by
|
||||||
|
@racketmodfont{author}, @racket[(this-package-version-symbol dir/file)] produces
|
||||||
|
@racket['author/package:1:0/dir/file]. In the same package,
|
||||||
|
@racket[(this-package-version-symbol)] produces @racket['author/package:1:0].
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@defform[(this-package-in suffix-id ...)]{
|
||||||
|
|
||||||
|
A @racket[require] sub-form that requires modules from within the same @|PLaneT|
|
||||||
|
package version as the require, as referred to by each @racket[suffix-id]. For
|
||||||
|
instance, in version @racketmodfont{1:0} of the package
|
||||||
|
@racketmodfont{package.plt} owned by @racketmodfont{author},
|
||||||
|
@racket[(require (this-package-in dir/file))] is equivalent to
|
||||||
|
@racket[(require (planet author/package:1:0/dir/file))].
|
||||||
|
|
||||||
|
@italic{Note:} Use @racket[this-package-in] when documenting @|PLaneT| packages
|
||||||
|
with Scribble to associate each documented binding with the appropriate package.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@subsection[#:tag "syntax.rkt"]{Macros and Syntax Objects}
|
||||||
|
|
||||||
|
@defmodule[planet/syntax]
|
||||||
|
|
||||||
|
Provides bindings useful for @|PLaneT|-based macros.
|
||||||
|
|
||||||
|
@deftogether[(
|
||||||
|
@defproc[(syntax-source-planet-package [stx syntax?]) (or/c list? #f)]
|
||||||
|
@defproc[(syntax-source-planet-package-owner [stx syntax?]) (or/c string? #f)]
|
||||||
|
@defproc[(syntax-source-planet-package-name [stx syntax?]) (or/c string? #f)]
|
||||||
|
@defproc[(syntax-source-planet-package-major [stx syntax?]) (or/c integer? #f)]
|
||||||
|
@defproc[(syntax-source-planet-package-minor [stx syntax?]) (or/c integer? #f)]
|
||||||
|
@defproc[(syntax-source-planet-package-symbol
|
||||||
|
[stx syntax?]
|
||||||
|
[suffix (or/c symbol? #f) #f])
|
||||||
|
(or/c symbol? #f)]
|
||||||
|
)]{
|
||||||
|
|
||||||
|
Produce output analogous to @racket[this-package-version],
|
||||||
|
@racket[this-package-version-owner], @racket[this-package-version-name],
|
||||||
|
@racket[this-package-version-maj], @racket[this-package-version-min], and
|
||||||
|
@racket[this-package-version-symbol] based on the source location of
|
||||||
|
@racket[stx].
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@defproc[(make-planet-require-spec
|
||||||
|
[stx syntax?]
|
||||||
|
[suffix (or/c symbol? #f) #f])
|
||||||
|
syntax?]{
|
||||||
|
|
||||||
|
Produces a @racket[require] sub-form for the module referred to by
|
||||||
|
@racket[suffix] in the @|PLaneT| package containing the source location of
|
||||||
|
@racket[stx].
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@subsection[#:tag "scribble.rkt"]{Scribble Documentation}
|
||||||
|
|
||||||
|
@defmodule[planet/scribble]
|
||||||
|
|
||||||
|
Provides bindings for documenting @|PLaneT| packages.
|
||||||
|
|
||||||
|
@defform[(this-package-in suffix-id ...)]{
|
||||||
|
|
||||||
|
This binding from @racketmodname[planet/version] is also exported from
|
||||||
|
@racketmodname[planet/scribble], as it is useful for @racket[for-label] imports
|
||||||
|
in Scribble documentation.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@deftogether[(
|
||||||
|
@defform[(racketmod/this-package maybe-file suffix-id datum ...)]
|
||||||
|
@defform*[((racketmodname/this-package suffix-id)
|
||||||
|
(racketmodname/this-package (#,(racket unsyntax) suffix-expr)))]
|
||||||
|
@defform[(racketmodlink/this-package suffix-id pre-content-expr ...)]
|
||||||
|
@defform[(defmodule/this-package maybe-req suffix-id maybe-sources pre-flow ...)]
|
||||||
|
@defform*[((defmodulelang/this-package suffix-id maybe-sources pre-flow ...)
|
||||||
|
(defmodulelang/this-package suffix-id #:module-paths (mod-suffix-id ...) maybe-sources pre-flow ...))]
|
||||||
|
@defform[(defmodulereader/this-package suffix-id maybe-sources pre-flow ...)]
|
||||||
|
@defform[(defmodule*/this-package maybe-req (suffix-id ...+) maybe-sources pre-flow ...)]
|
||||||
|
@defform*[((defmodulelang*/this-package (suffix-id ...+) maybe-sources pre-flow ...)
|
||||||
|
(defmodulelang*/this-package (suffix-id ...+) #:module-paths (mod-suffix-id ...) maybe-sources pre-flow ...))]
|
||||||
|
@defform[(defmodulereader*/this-package (suffix-id ...+) maybe-sources pre-flow ...)]
|
||||||
|
@defform[(defmodule*/no-declare/this-package maybe-req (suffix-id ...+) maybe-sources pre-flow ...)]
|
||||||
|
@defform*[((defmodulelang*/no-declare/this-package (suffix-id ...+) maybe-sources pre-flow ...)
|
||||||
|
(defmodulelang*/no-declare/this-package (suffix-id ...+) #:module-paths (mod-suffix-id ...) maybe-sources pre-flow ...))]
|
||||||
|
@defform[(defmodulereader*/no-declare/this-package (suffix-id ...+) maybe-sources pre-flow ...)]
|
||||||
|
)]{
|
||||||
|
|
||||||
|
Variants of @racket[defmodule], etc., from @racketmodname[scribble/manual] in
|
||||||
|
which each module path is replaced by an identifier (@racket[suffix-id] or
|
||||||
|
@racket[mod-suffix-id]) representing a module within the current version of the
|
||||||
|
containing @|PLaneT| package.
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@subsection{Terse Status Updates}
|
@subsection{Terse Status Updates}
|
||||||
|
|
||||||
@defmodule[planet/terse-info]
|
@defmodule[planet/terse-info]
|
||||||
|
@ -848,9 +975,19 @@ automatically skipped by the packaging tool).
|
||||||
@subsubsection{Create Documentation [Optional]}
|
@subsubsection{Create Documentation [Optional]}
|
||||||
|
|
||||||
Use Scribble to write documentation for your package. See
|
Use Scribble to write documentation for your package. See
|
||||||
|
@secref["scribble.rkt"] for macros that ensure proper bindings and version
|
||||||
|
numbers in documentation for @|PLaneT| packages, and
|
||||||
@other-manual['(lib "scribblings/scribble/scribble.scrbl")]
|
@other-manual['(lib "scribblings/scribble/scribble.scrbl")]
|
||||||
for instructions on how to write Scribble documentation.
|
for instructions on how to write Scribble documentation.
|
||||||
|
|
||||||
|
@italic{Note:} Always use @racket[this-package-in] in @racket[for-label]
|
||||||
|
bindings when documenting @|PLaneT| packages, and always use the bindings in
|
||||||
|
@racketmodname[planet/scribble] rather than @racketmodname[scribble/manual].
|
||||||
|
These macros automatically produce @racket[planet]-based module paths with
|
||||||
|
appropriate version numbers. Other @racket[require] subforms and Scribble
|
||||||
|
declarations may refer to the wrong version of a package, or may not be
|
||||||
|
recognized as part of a @|PLaneT| package at all when documentation is produced.
|
||||||
|
|
||||||
@subsubsection{Create an @filepath{info.rkt} File [Optional]}
|
@subsubsection{Create an @filepath{info.rkt} File [Optional]}
|
||||||
|
|
||||||
If you put a file named @filepath{info.rkt} in your package's root directory, the
|
If you put a file named @filepath{info.rkt} in your package's root directory, the
|
||||||
|
|
Loading…
Reference in New Issue
Block a user