@@ -52,6 +52,14 @@ defmodule ElixirLangGuide do
52
52
|> YamlElixir . read_from_file ( )
53
53
|> generate_nav ( options )
54
54
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
+
55
63
nav
56
64
|> convert_markdown_pages ( options )
57
65
|> to_epub ( nav , options )
@@ -160,6 +168,7 @@ defmodule ElixirLangGuide do
160
168
defp clean_markdown ( content , options ) do
161
169
content
162
170
|> remove_includes ( )
171
+ |> remove_variables ( options )
163
172
|> remove_span_hidden_hack ( )
164
173
|> remove_raw_endraw_tags ( )
165
174
|> remove_frontmatter ( )
@@ -175,6 +184,16 @@ defmodule ElixirLangGuide do
175
184
|> String . replace ( "{% include mix-otp-preface.html %}" , "" )
176
185
end
177
186
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
+
178
197
# The <span hidden>.</span> is a hack used in pattern-matching.md
179
198
defp remove_span_hidden_hack ( content ) do
180
199
String . replace ( content , ~r/ # {{ page.title }}(<span hidden>.<\/ span>)?/ , "" )
0 commit comments