Packages
fermo
0.1.8
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"
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
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