File: docs_config.exs

package info (click to toggle)
elixir-lang 1.18.3.dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 14,436 kB
  • sloc: erlang: 11,996; sh: 324; makefile: 277
file content (22 lines) | stat: -rw-r--r-- 717 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Generate docs_config.js for version chooser in ExDoc
[app] = System.argv()

{text_tags, 0} = System.cmd("git", ["tag"])
skipped = Version.parse!("1.0.3")

list_contents =
  for(
    "v" <> rest <- String.split(text_tags),
    not String.ends_with?(rest, "-latest"),
    version = Version.parse!(rest),
    Version.compare(version, skipped) == :gt,
    do: version
  )
  |> Enum.sort({:desc, Version})
  |> Enum.map_intersperse(", ", fn version ->
    version_string = Version.to_string(version)
    ~s[{"version":"v#{version_string}", "url":"https://hexdocs.pm/#{app}/#{version_string}"}]
  end)

File.mkdir_p!("doc/#{app}")
File.write!("doc/#{app}/docs_config.js", ["var versionNodes = [", list_contents, "];\n"])