Packages
fermo
0.1.0
0.20.1
0.20.0
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.1
0.17.0
0.16.7
0.16.6
0.16.5
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.0
0.14.9
0.14.8
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.0
0.9.1
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.4
0.2.2
0.2.1
0.2.0
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
A static site generator
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/fermo.build.ex
defmodule Mix.Tasks.Fermo.Build do
use Mix.Task
@shortdoc "Generates the output files"
@moduledoc """
Builds the project according to the settings in priv/config.exs
"""
def run(_args) do
Mix.Task.run "app.start"
project = Mix.Project.get()
[main | _rest] = Module.split(project)
module = String.to_existing_atom("Elixir.#{main}")
config = module.build()
stats = config.stats
log("Data load", stats, :start, :data_loaded)
log("Page preparation", stats, :prepare_pages, :pages_prepared)
log("Build", stats, :pages_prepared, :pages_built)
{:ok}
end
defp log(message, stats, from, to) do
diff = Time.diff(stats[to], stats[from], :microsecond)
IO.puts "#{message}: #{diff / 1000000}s"
end
end