Packages
ex_doc
0.40.1
0.40.3
0.40.2
0.40.1
0.40.0
0.39.3
0.39.2
0.39.1
0.39.0
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.3
0.37.2
0.37.1
0.37.0
0.37.0-rc.2
0.37.0-rc.1
0.37.0-rc.0
0.36.1
0.36.0
0.35.1
0.35.0
0.34.2
0.34.1
0.34.0
0.33.0
0.32.2
0.32.1
0.32.0
0.31.2
0.31.1
0.31.0
0.30.9
0.30.8
0.30.7
0.30.6
0.30.5
0.30.4
0.30.3
0.30.2
0.30.1
0.30.0
0.29.4
0.29.3
0.29.2
0.29.1
0.29.0
0.28.6
0.28.5
0.28.4
0.28.3
0.28.2
0.28.1
0.28.0
0.27.3
0.27.2
0.27.1
0.27.0
0.26.0
0.25.5
0.25.4
0.25.3
0.25.2
0.25.1
0.25.0
0.24.2
0.24.1
0.24.0
0.23.0
0.22.6
0.22.5
0.22.4
0.22.2
0.22.1
0.22.0
0.21.3
0.21.2
0.21.1
0.21.0
0.20.2
0.20.1
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.19.0-rc
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
retired
0.17.1
0.17.0
retired
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.1
0.15.0
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.2
0.13.1
0.13.0
0.12.0
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
ExDoc is a documentation generation tool for Elixir
Current section
Files
Jump to
Current section
Files
lib/ex_doc/formatter/markdown/templates.ex
defmodule ExDoc.Formatter.MARKDOWN.Templates do
@moduledoc false
require EEx
import ExDoc.Utils, only: [h: 1]
@doc """
Returns the original markdown documentation from source_doc.
"""
def node_doc(%{source_doc: %{"en" => source}}) when is_binary(source), do: source
def node_doc(_), do: nil
@doc """
Computes the synopsis based on source_doc.
"""
def synopsis(%{source_doc: %{"en" => source}}) when is_binary(source),
do:
source
|> String.split(["\r\n\r\n", "\n\n"], parts: 2)
|> hd()
|> String.trim_trailing(":")
|> then(&": #{&1}")
def synopsis(_), do: nil
EEx.function_from_file(
:def,
:module_template,
Path.expand("templates/module_template.eex", __DIR__),
[:config, :module],
trim: true
)
EEx.function_from_file(
:def,
:api_reference_template,
Path.expand("templates/api_reference_template.eex", __DIR__),
[:config, :modules, :mix_tasks],
trim: true
)
EEx.function_from_file(
:def,
:llms_txt_template,
Path.expand("templates/llms_txt_template.eex", __DIR__),
[:config, :modules, :mix_tasks, :extras],
trim: true
)
EEx.function_from_file(
:defp,
:nav_group_template,
Path.expand("templates/nav_group_template.eex", __DIR__),
[:title, :groups],
trim: true
)
EEx.function_from_file(
:defp,
:detail_template,
Path.expand("templates/detail_template.eex", __DIR__),
[:node, :module],
trim: true
)
end