API Reference Still v0.2.0
Modules
Keeps track of all the collections within a compilation cycle.
Almost every compilation request goes through CompilationStage
. This
process is responsible for keeping track of subscriptions (e.g: a browser
subscribing to changes) and notifying all the subscribers of the end of the
compilation cycle.
Saves an error occurring within a file's compilation and allows them to be retrieved for a prettified display.
Responsible for compiling or rendering a given file.
Responsible for wrapping a portion of markup in a pre-defined development
layout and compiling the output. Should only be used in a dev
environment.
An incremental node represents a file, or folder, that is processed individually.
Compiles the contents of a Still.Compiler.Incremental.Node
.
Supervisor that maps files (based on their name) to PIDs of Still.Compiler.Incremental.Node
.
Copies a file from the input path to the output directory without changing it.
First step in the compilation stage. Traverses the input directory, adding any
files or folders to Still.Compiler.Incremental.Registry
.
Set of helper functions to be included in a file that runs through an Elixir preprocessor.
Implements an arbitrary content tag with the given content.
Renders an anchor HTML tag.
Generates a link
HTML tag to the target CSS file.
Generates a script
HTML tag to the target JS file.
Generates a set of images to ensure they are responsive.
Renders the given content as safe HTML, escaping any tags.
Truncates the content to a given maximum.
Converts a relative path to an absolute path.
Defines functions to be used by the several preprocessors as well as the behaviour they should have.
Still.Preprocessor
that reads the content of the input file and sets it to
the :content
field of Still.SourceFile
.
Still.Preprocessor
that renders the layout of a given file and wraps it
around the content of that same file.
Minifies a CSS file. This is a very basic minifier that simply removes whitespaces.
Renders an EEx file. See Still.Preprocessor.Renderer
and
Still.Preprocessor.EEx.Renderer
.
Still.Preprocessor.Renderer
implementation for EEx files.
Parses the file's frontmatter and adds they key/value pairs to the
corresponding Still.SourceFile
's :metadata
field.
Handles image transformation.
Adapter definition to be used by Still.Preprocessor.Image
.
Implements Still.Preprocessor.Image.Adapter
for
Mogrify.
Preprocessor for JavaScript files that simply bypasses the file's contents.
Renders markdown files using
Markdown
.
Generates the output path based on the Still.SourceFile
:input_path
and
:extension
field, adding it to the :output_file
field.
Defines the basic attributes of a markup renderer.
Writes the Still.SourceFile
:content
field to the :output_file
field,
creating any necessary directories and including the development layout if
needed.
Renders a Slime file. See Still.Preprocessor.Renderer
and
Still.Preprocessor.EEx.Renderer
.
Still.Preprocessor.Renderer
implementation for Slime files.
Creates a hash based on the content of the file and generates a fingerprint to replace the output file.
Implements a profiler that keeps track of the time each file takes to render.
The SourceFile retains all information regarding a file being compiled in
the system. It's conceptually similar to the conn
variable in a Phoenix
app. The idea is that different subsystems transform this struct and pass it
to the next.
Collection of utility functions.
Collection of utility functions specific for extending the behaviour of map structures.
File system watcher that triggers compilation for new files, recompilation for
changed files and kills ane Still.Compiler.Incremental.Node
for removed
files. Should only be used in the dev
environment.
Acts as a proxy between browser connections and file subscriptions. Whenever
a relevant file changes, the browser connections are sent a reload message.
Should only run in the dev
environment.
Prettifies compilation errors to be displayed in the browser.
Should only run in the dev
environment.