API Reference Still v0.6.0


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.

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.

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.

Traverses the input directory.

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.

Parses the file's frontmatter and adds they key/value pairs to the corresponding Still.SourceFile's :metadata field.

Handles image transformation.

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.

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.

Handles automatic code reloading.

Prettifies compilation errors to be displayed in the browser. Should only run in the dev environment.

Mix Tasks