View Source Spark.DocIndex behaviour (spark v0.2.18)

A module for creating an index of documentation for a library. Can be rendered by tools like 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}}

For example:

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

mix-dependencies

Mix dependencies

{{mix_dep:library}}

For example:

{{mix_dep:ash}} might be transformed to {: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(),
  :path => String.t(),
  :category => String.t() | nil,
  :route => String.t() | nil,
  optional(:basename) => String.t()
}

Link to this section Callbacks

Link to this callback

code_modules()

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

Link to this section Functions

Link to this function

find_undocumented_items(doc_index)

View Source
Link to this function

render_links(docs, callback, context)

View Source
Link to this function

render_replacements(docs, contexts \\ %{}, callback)

View Source