Packages
fermo
0.7.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 __MODULE__.build()
"""
def run(_args) do
Mix.Task.run "app.start"
module = Mix.Fermo.Module.module!()
{:ok, config} = module.build()
stats = Map.get(config, :stats)
if stats do
do_log(stats)
end
{:ok}
end
defp do_log(stats) do
log("Data load", stats, :start, :data_loaded)
log("Page preparation", stats, :prepare_pages, :pages_prepared)
log("Build", stats, :pages_prepared, :pages_built)
end
defp log(message, stats, from, to) do
if (stats[to] != nil) and (stats[from]) != nil do
diff = Time.diff(stats[to], stats[from], :microsecond)
IO.puts "#{message}: #{diff / 1000000}s"
end
end
end