serum v0.13.0 Serum.Build
A module for managing the overall project build procedure.
Link to this section Summary
Functions
Builds the given Serum project.
Link to this section Functions
build(src, dest)
build(binary(), binary()) :: Serum.Result.t(binary())
build(binary(), binary()) :: Serum.Result.t(binary())
Builds the given Serum project.
Build Procedure
Checks if a project definition file exists under
src
, checks if it's well-formed and valid, then loads it.Tries to load plugins listed in the project definition file.
Checks if the system timezone is properly set.
Timex requires the local timezone information to format the date/time string. If it's not set or invalid, Timex will fail.
Checks if the current user has enough permission on the destination directory and cleans it if it already exists.
Loads source files. See
Serum.Build.FileLoader
.Processes source files and produces intermediate data structures. See
Serum.Build.FileProcessor
.Generates HTML fragments from the intermediate data. See
Serum.Build.FragmentGenerator
.Renders full HTML pages from fragments and writes them to files. See
Serum.Build.FileEmitter
.Copies
assets/
andmedia/
directories if they exist.