Skip to content

Commit 6568f96

Browse files
milmazzjosevalim
authored andcommitted
Replace variables for Elixir/Erlang versions
1 parent b4f0c6c commit 6568f96

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

_epub/lib/elixir_lang_guide.ex

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ defmodule ElixirLangGuide do
5252
|> YamlElixir.read_from_file()
5353
|> generate_nav(options)
5454

55+
elixir_versions =
56+
options.root_dir
57+
|> Path.expand()
58+
|> Path.join("_data/elixir-versions.yml")
59+
|> YamlElixir.read_from_file()
60+
61+
options = Map.put(options, :elixir_versions, elixir_versions)
62+
5563
nav
5664
|> convert_markdown_pages(options)
5765
|> to_epub(nav, options)
@@ -160,6 +168,7 @@ defmodule ElixirLangGuide do
160168
defp clean_markdown(content, options) do
161169
content
162170
|> remove_includes()
171+
|> remove_variables(options)
163172
|> remove_span_hidden_hack()
164173
|> remove_raw_endraw_tags()
165174
|> remove_frontmatter()
@@ -175,6 +184,16 @@ defmodule ElixirLangGuide do
175184
|> String.replace("{% include mix-otp-preface.html %}", "")
176185
end
177186

187+
defp remove_variables(content, options) do
188+
%{"stable" => current_stable_version} = elixir_versions = Map.get(options, :elixir_versions)
189+
stable = elixir_versions[current_stable_version]
190+
191+
content
192+
|> String.replace("{% assign stable = site.data.elixir-versions[site.data.elixir-versions.stable] %}", "")
193+
|> String.replace("{{ stable.version }}", "#{stable["version"]}")
194+
|> String.replace("{{ stable.minimum_otp }}", "#{stable["minimum_otp"]}")
195+
end
196+
178197
# The <span hidden>.</span> is a hack used in pattern-matching.md
179198
defp remove_span_hidden_hack(content) do
180199
String.replace(content, ~r/# {{ page.title }}(<span hidden>.<\/span>)?/, "")

0 commit comments

Comments
 (0)