API Reference Still v0.8.0
Modules
Keeps track of collections.
Compiles the site.
Used to store the contents read from files to avoid going to the disk until necessary.
Saves an error occurring within a file's compilation and allows them to be retrieved for a prettified display.
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 that is processed individually.
Compiles a file.
Renders a file.
Keeps track of which input file generates each output file. It's used to identify which file needs to be compiled when there's a request from the browser.
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.
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.
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.
Traverses the input directory.
Loads data files and makes the data available in templates. Any file in the data_ folder will be loaded using the file's name as a key. For instance, a file in data/site.json_ with the contents
Handles image transformation.
Adapter definition to be used by Still.Image.Preprocessor
.
Parses an HTML Still.SourceFile
and replaces HTML img with responsive images.
Images that have the attributes "srcset" or "no-responsive-image" are ignored.
Implements Still.Image.Preprocessor.Adapter
for
Mogrify.
Generates a set of images to ensure they are responsive.
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.
Preprocessor for JavaScript files that simply bypasses the file's contents.
Transforms markdown into HTML using Earmark
.
Sets the output path of a file.
If the key :permalink
is present in the metadata, it is used as the output path.
If not, the output path is set using the :input_file
and :extension
keys.
Paginates a Still.SourceFile
if the key :pagination
is present.
The :pagination
must be a hash containing the following keys
Defines the basic attributes of a markup renderer.
Filters out files that are not the one being requested.
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 and 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.
Handles automatic code reloading.
Prettifies compilation errors to be displayed in the browser.
Should only run in the dev
environment.
Mix Tasks
Compiles your site into an output folder, which is _site
by default.
Starts the development server. Your website will be available in http://localhost:3000.