Struct gapi_grpc::google::api::Documentation[][src]

pub struct Documentation {
    pub summary: String,
    pub pages: Vec<Page>,
    pub rules: Vec<DocumentationRule>,
    pub documentation_root_url: String,
    pub service_root_url: String,
    pub overview: String,
}

Documentation provides the information for describing a service.

Example:

documentation:
  summary: >
    The Google Calendar API gives access
    to most calendar features.
  pages:
  - name: Overview
    content: (== include google/foo/overview.md ==)
  - name: Tutorial
    content: (== include google/foo/tutorial.md ==)
    subpages;
    - name: Java
      content: (== include google/foo/tutorial_java.md ==)
  rules:
  - selector: google.calendar.Calendar.Get
    description: >
      ...
  - selector: google.calendar.Calendar.Put
    description: >
      ...

Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded.

Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided.

A number of constructs specific to the API platform are supported in documentation text.

In order to reference a proto element, the following notation can be used:

[fully.qualified.proto.name][]

To override the display text used for the link, this can be used:

[display text][fully.qualified.proto.name]

Text can be excluded from doc using the following notation:

(-- internal comment --)

A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The include directive includes a markdown file from an external source:

(== include path/to/file ==)

The resource_for directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection:

(== resource_for v1.shelves.books ==)

The directive suppress_warning does not directly affect documentation and is documented together with service config validation.

Fields

summary: String

A short summary of what the service does. Can only be provided by plain text.

pages: Vec<Page>

The top level pages for the documentation set.

rules: Vec<DocumentationRule>

A list of documentation rules that apply to individual API elements.

NOTE: All service configuration rules follow “last one wins” order.

documentation_root_url: String

The URL to the root of documentation.

service_root_url: String

Specifies the service root url if the default one (the service name from the yaml file) is not suitable. This can be seen in any fully specified service urls as well as sections that show a base that other urls are relative to.

overview: String

Declares a single overview page. For example:

documentation:
  summary: ...
  overview: (== include overview.md ==)

This is a shortcut for the following declaration (using pages style):

documentation:
  summary: ...
  pages:
  - name: Overview
    content: (== include overview.md ==)

Note: you cannot specify both overview field and pages field.

Trait Implementations

impl Clone for Documentation[src]

impl Debug for Documentation[src]

impl Default for Documentation[src]

impl Message for Documentation[src]

impl PartialEq<Documentation> for Documentation[src]

impl StructuralPartialEq for Documentation[src]

Auto Trait Implementations

impl RefUnwindSafe for Documentation

impl Send for Documentation

impl Sync for Documentation

impl Unpin for Documentation

impl UnwindSafe for Documentation

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoRequest<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]

impl<T> WithSubscriber for T[src]