Include latest and searchNodes metadata into hosted docs
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
{text_tags, 0} = System.cmd("git", ["tag"])
|
||||
skipped = Version.parse!("1.0.3")
|
||||
|
||||
list_contents =
|
||||
versions =
|
||||
for(
|
||||
"v" <> rest <- String.split(text_tags),
|
||||
not String.ends_with?(rest, "-latest"),
|
||||
@@ -13,10 +13,33 @@ list_contents =
|
||||
do: version
|
||||
)
|
||||
|> Enum.sort({:desc, Version})
|
||||
|> Enum.map_intersperse(", ", fn version ->
|
||||
|
||||
latest =
|
||||
versions
|
||||
|> Stream.filter(&(&1.pre == []))
|
||||
|> Enum.fetch!(0)
|
||||
|> Version.to_string()
|
||||
|
||||
version_nodes =
|
||||
for version <- versions do
|
||||
version_string = Version.to_string(version)
|
||||
~s[{"version":"v#{version_string}", "url":"https://hexdocs.pm/#{app}/#{version_string}"}]
|
||||
end)
|
||||
map = %{version: "v#{version_string}", url: "https://hexdocs.pm/#{app}/#{version_string}"}
|
||||
|
||||
if version_string == latest do
|
||||
Map.put(map, :latest, true)
|
||||
else
|
||||
map
|
||||
end
|
||||
end
|
||||
|
||||
search_nodes =
|
||||
for app <- ~w(eex elixir ex_unit iex logger mix)s do
|
||||
%{name: app, version: latest}
|
||||
end
|
||||
|
||||
File.mkdir_p!("doc/#{app}")
|
||||
File.write!("doc/#{app}/docs_config.js", ["var versionNodes = [", list_contents, "];\n"])
|
||||
|
||||
File.write!("doc/#{app}/docs_config.js", """
|
||||
var versionNodes = #{JSON.encode_to_iodata!(version_nodes)};
|
||||
var searchNodes = #{JSON.encode_to_iodata!(search_nodes)};
|
||||
""")
|
||||
|
||||
Reference in New Issue
Block a user