defmodule Serum do
@moduledoc """
Defines Serum OTP application.
Serum is a simple static website generator written in Elixir programming
language. The goal of this project is to provide the way to create awesome
static websites with little effort.
This documentation is for developers and advanced users. For the getting
started guide and the user manual, please visit [the official Serum
website](https://dalgona.github.io/Serum).
Also, documentations for modules related to the internal operation of Serum
are hidden. But such modules are still documented in [their source
codes](https://github.com/Dalgona/Serum).
"""
use Application
alias Serum.GlobalBindings
alias Serum.IOProxy
alias Serum.Plugin
alias Serum.Template.Storage, as: TemplateStorage
alias Serum.Theme
@doc """
Starts the `:serum_md` application.
This starts a supervisor process which manages some children maintaining
states or data required for execution of Serum.
"""
def start(_type, _args) do
children = [
GlobalBindings,
IOProxy,
Plugin,
Theme,
TemplateStorage
]
opts = [strategy: :one_for_one, name: Serum.Supervisor]
{:ok, _pid} = Supervisor.start_link(children, opts)
end
end