View Source Ash.DocIndex behaviour (ash v1.53.0)

A module for configuring how a library is rendered in ash_hq.

There is a small template syntax available in any documentation. The template syntax will link to the user's currently selected version for the relevant library.

All templates should be wrapped in double curly braces, e.g {{}}.

{{link:library:item_type:name}}

The only item_type currently supported is guide, so the name would be category/name

For example:

{{link:ash:guide:Attributes}} -> <a href="/docs/guides/ash/topics/attributes.md">Attributes</a>

mix-dependencies

Mix dependencies

{{mix_dep:library}}

For example:

{{mix_dep:ash}} -> {:ash, "~> 1.5"}

Link to this section Summary

Link to this section Types

@type extension() :: %{
  optional(:module) => module(),
  optional(:target) => String.t(),
  optional(:default_for_target?) => boolean(),
  name: String.t(),
  type: String.t()
}
@type guide() :: %{
  name: String.t(),
  text: String.t(),
  category: String.t() | nil,
  route: String.t() | nil
}

Link to this section Callbacks

@callback code_modules() :: [{String.t(), [module()]}]
@callback default_guide() :: String.t()
@callback extensions() :: [extension()]
@callback for_library() :: String.t()
@callback guides() :: [guide()]

Link to this section Functions